我是这个网络领域的新手。
我需要实现如下所述的一次通信。
我有 3 台笔记本电脑,其中一台笔记本电脑具有以太网和 Wi-Fi,但 IP 地址不同。
第二台笔记本电脑通过 LAN 将以太网连接到第一台笔记本电脑。
第三台笔记本电脑只有 wifi,第一台和第三台都在同一个 wifi 网络中
第一台笔记本电脑作为服务器,第二台和第三台笔记本电脑都是客户端。
现在我想直接通过 IP 地址与第二台和第三台笔记本电脑进行通信。
注意这 3 台笔记本电脑均搭载 Windows7/Windows10
笔记本电脑 1 的 IP 地址为:以太网 30.0.0.16 和 wifi 192.168.2.108
笔记本电脑 2 的 IP 地址为:30.0.0.17
笔记本电脑 3 的 IP 地址为:192.168.2.186
任何人,如果对这种交流方式有什么想法,请给我一些建议
答案1
首先:如果您想尝试网络连接,使用 30.0.0.x 作为私有子网并不是一个好主意,因为根据维基百科,该 IP 地址范围属于美国国防部。
最好坚持使用 RFC1918 地址。:-)
那些是:
10.0.0.0/8 (aka 10.0.0.0 - 10.255.255.255)
172.16.0.0/12 (aka 172.16.0.0-172.31.255.255)
192.168.0.0/16 (aka 192.168.0.0-192.168.255.255)
无论如何:
在网络术语中, 的正确用语laptop 1
是gateway
或router
。
游戏的名称是路由,即从到laptop 1
路由 IP 包,反之亦然。laptop 2
laptop 3
这个想法就是你告诉laptop 2
使用laptop 1
IP 地址作为其标准网关。
同样:您告诉laptop 3
将其用作laptop 1
标准网关。
您要告诉笔记本电脑 2 和 3,如果 IP 包不属于同一子网,应该将其发送给谁。
笔记本电脑 1 的任务是根据笔记本电脑 1 上的路由表将 IP 包转发到正确的子网。
不过你确实需要在笔记本电脑 1 上设置两件事:
- 必须启用 IP 转发。
- 笔记本电脑 1 上的防火墙必须允许从笔记本电脑 2 到笔记本电脑 3 的流量以及反之亦然。
答案2
也许您可以考虑使用路由器来连接两个网络,如果您不能,我想到唯一的方法是使用服务器通过 iptables 路由数据包并将其用作网关。
已编辑 考虑到使用的是 Windows 服务器,您可以做的是在客户端中将服务器设置为网关。之后,向其他网络添加静态路由,如下所示:
route ADD 192.168.2.0 MASK 255.255.255.0 192.168.2.2
route ADD 30.0.0.0 MASK 255.255.255.0 30.0.0.16
然后,如果您希望客户端仍然可以访问互联网,则可以添加默认网关:
route add 0.0.0.0 mask 0.0.0.0 GATEWAY_IP