ping请求不能单向转发

编辑:我解决了我的问题,就像我正在完成这个疯狂的长期职位。 我只是没有启用在我的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个网关:

  1. 默认:192.168.2.1(互联网路由器)
  2. 192.168.1.0/24:192.168.2.192(ubuntu eth0)
  3. 10.25.0.0/16:192.168.2.192(Ubuntu的eth0)

我正在用pingtesting这个设置。

  1. 我可以ping任何networking上的任何计算机从networking0。
  2. 我可以pingnetworking1或2上networking1或2的任何计算机。
  3. 问题是我无法从networking1或2 pingnetworking0上的任何计算机

使用iptraf,我看到ping req从eth1上的192.168.1.5到192.168.2.117

但是,我没有看到回应。

…只是想出来(见开始编辑)。 如果你做到了这一点,抱歉令人失望。

就在我完成这个疯狂的长篇post时,我解决了我的问题。 我只是没有在我的Windows防火墙启用ping答复,这就是为什么我不能pingnetworking1上的计算机1或2(见下文)。 当然,当我尝试pingnetworking0上的互联网路由器时,它不起作用,因为我忽略了像在我的窗户上设置非默认网关。

所以,我给你“正确”的方式来设置一个Linux机箱作为子网之间的简单网关。 只要记住要正确设置客户端上的所有网关(简单的规则:默认网关应该是到互联网的路由,然后为连接到子网中其他网关的每个子网设置1个网关。