Linux下实现局域网内网络设备相互通信,


在局域网中,存在着linux上还运行着数台分机(与宿主linux不同网段),且这些主机的网段在整个局域网中,都没有路由,在局域网中的任何主机都不可与之通信,如上图所示。只能通过先跳到宿主机然后在由宿主机连接方可。

linux下实现局域网内网络设备相互通信

问题解决:

linux下实现局域网内网络设备相互通信

可以看出,宿主的主机ip为10.8.1.84在测试中是可以进行通信的,但是下面的172.17.0.1网段在局域网中任何节点都不可达。只能通过先连接10.8.1.84来连接到172.17.0.1网段的主机

解决:

把要访问的网段添加进windows的路由表中,下一跳指向宿主机的ip。因为只有宿主机可以与这个网段的主机通信

route -p add 172.17.0.0 mask 255.255.0.0 10.8.1.84

linux下实现局域网内网络设备相互通信

验证:

linux下实现局域网内网络设备相互通信

问题:在局域网中有些tp-link小路由器下回连接一些设备,但是会有一种奇怪的现象。tp-link下挂的设备可以与局域网内的任何设备通信(ping可达),但是局域网中的设备不能与下挂的设备通信(ping不可达)

分析:tp-link无线小路由器相当于一台带有nat功能的设备,因为路由器的wan口的ip为局域网里的可达ip,但是路由器下的lan口包括无线设备从tp-link获取到的ip一般为另外一个网段的ip,这个ip段在真实的局域网中是没有任何路由的,因此wifi下的设备可以ping通局域网中的任何设备,但是局域网中的任何设备不可ping通wifi下的设备

因为在tp-link小路由器认为,lan口下的设备需要上网,而tp-link就会把这些lan口下的设备nat转换为局域网已有的ip即wan的ip。而当局域网内的设备需要访问wifi下的设备时,由于tp-link做了nat,因此局域网内的设备是访问不到wifi下的设备的。只能在tp-link做虚拟服务器(端口映射),把tp-link下挂的设备的端口映射出来,用wan口的ip(局域网可识别ip)映射出来,即可做到局域网内的其他设备访问wifi下挂的设备

相关内容