linux局域网不同网段ip互通,linux环境中,两个不同网段的机器互通

  • Post author:
  • Post category:linux


环境如下:

host1 单网卡 eth0 172.24.100.15/16

host2 双网卡 eth0 172.24.100.14/16   eth1 192.168.122.214/24

host3 单网卡 eth0 192.168.122.215/24

整个环境如下图:

0818b9ca8b590ca3270a3433284dd417.png

要求:让host1和host3互通,也就是host1能ping通host3,host3也能ping通host1

解决:

第一,在host2上,保证能同时ping通host1和host3

第二,在host1上,添加路由如下

route add default gw 172.24.100.14   #添加默认网关路由,保证从host1上到192.168.122.0/24网段的请求先到达host2

第三,在host2上,添加路由如下

route add -net 172.24.0.0 netmask 255.255.0.0 dev eth0  #添加路由,实际上就是指路,指定到172.24.0.0/16网段去的请求通过eth0网卡出去

route add -net 192.168.122.0 netmask 255.255.255.0 dev eth1 #添加路由,指定到192.168.122.0/24网段去的请求通过eth1网卡出去

第四,还是在host2上,开启路由转发如下

echo 1 >/proc/sys/net/ipv4/ip_forward

第五,在host3上,添加路由如下

route add default gw 192.168.122.214  #添加默认网关路由,保证从host3上到172.24.0.0/16网段的请求先到达host2

这样相互就能ping通,是不是很神奇