linux – ping请求不向一个方向转发

前端之家收集整理的这篇文章主要介绍了linux – ping请求不向一个方向转发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
编辑:当我完成这篇疯狂的长篇文章时,我解决了我的问题.我根本没有在我的 Windows防火墙中启用ping回复,这就是为什么我无法从网络1或网络2 ping网络0上的计算机(见下文).当然,当我试图ping网络0上的互联网路由器时,它不起作用,因为我忽略了设置非默认网关就像我做了我的窗口.

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

我正在使用连接3个子网的Ubuntu linux盒创建一个测试网络.这是我的拓扑:

***********************
               * 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 /网/的IPv4 / IP_FORWARD

客户端1的默认网关是192.168.1.1

客户端2的默认网关是10.25.0.1

网络0上的客户端0有3个网关:

>默认值:192.168.2.1(互联网路由器)
> 192.168.1.0/24:192.168.2.192(ubuntu eth0)
> 10.25.0.0/16:192.168.2.192(ubuntu eth0)

我正在使用ping测试此设置.

>我可以从网络0 ping任何网络上的任何计算机.
>我可以ping网络1或2上的任何计算机,从网络1或2.
>问题是我不能从网络1或2 ping网络0上的任何计算机

使用iptraf,我看到ping请求来自于eth1上的192.168.1.5到192.168.2.117

但是,我没有看到回复.

……只是弄明白了(参见编辑开头).如果你做到这一点,抱歉让人失望.

解决方法

正当我完成这篇疯狂的长篇文章时,我解决了我的问题.我根本没有在我的Windows防火墙中启用ping回复,我给你“正确”的方式来设置一个Linux盒子作为子网之间的简单网关.只需记住在客户端上正确设置所有网关(简单规则:默认网关应该是到Internet的路由,然后为连接到子网中其他网关的每个子网设置1个网关.

猜你在找的Linux相关文章