编辑:我解决了我的问题,就像我正在完成这个疯狂的长期职位。 我只是没有启用在我的Windows防火墙的ping答复,这就是为什么我不能pingnetworking1上的计算机1或2(见下文)。 当然,当我尝试pingnetworking0上的互联网路由器时,它不起作用,因为我忽略了像在我的窗户上设置非默认网关。
所以,我给你“正确”的方式来设置一个Linux机箱作为子网之间的简单网关。 只要记住要正确设置客户端上的所有网关(简单的规则:默认网关应该是到互联网的路由,然后为连接到子网中其他网关的每个子网设置1个网关。
我正在用一个连接3个子网的Ubuntu linux盒子创build一个testingnetworking。 这是我的拓扑结构:
*********************** * Internet Router * * 192.168.2.1 * *********************** * *************** * * Client 0 * *************** *192.168.2.117* * Switch * * * * * * * Windows * *************** *************** * * 192.168.2.0/24 = Network 0 * Network 1 *************** Network 2 192.168.1.0/24 * eth0 * 10.25.0.0/16 * * * * * * * * * * * * * * * *eth1 eth2* * * * * * * * * * ************* * Ubuntu Srvr * ************* *192.168.1.5* *************** * 10.25.0.5 * * * * * * client 1 * * client 2 * * * * * ************* *************
我的Ubuntu服务器的/ etc / network / interfaces文件是:
auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.2.192 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255 gateway 192.168.2.1 # Subnet 1 auto eth1 iface eth1 inet static address 192.168.1.1 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 auto eth2 iface eth2 inet static address 10.25.0.1 network 10.25.0.0 netmask 255.255.0.0 broadcast 10.25.255.255
我在/etc/sysctl.conf中取消了net.ipv4.ip_forward=1注释
我也运行命令echo 1 > /proc/sys/net/ipv4/ip_forward
客户端1的默认网关是192.168.1.1
客户端2的默认网关是10.25.0.1
networking0上的客户端0有3个网关:
我正在用pingtesting这个设置。
使用iptraf,我看到ping req从eth1上的192.168.1.5到192.168.2.117
但是,我没有看到回应。
…只是想出来(见开始编辑)。 如果你做到了这一点,抱歉令人失望。
就在我完成这个疯狂的长篇post时,我解决了我的问题。 我只是没有在我的Windows防火墙启用ping答复,这就是为什么我不能pingnetworking1上的计算机1或2(见下文)。 当然,当我尝试pingnetworking0上的互联网路由器时,它不起作用,因为我忽略了像在我的窗户上设置非默认网关。
所以,我给你“正确”的方式来设置一个Linux机箱作为子网之间的简单网关。 只要记住要正确设置客户端上的所有网关(简单的规则:默认网关应该是到互联网的路由,然后为连接到子网中其他网关的每个子网设置1个网关。