環境以下:linux

  host1 單網卡 eth0 172.24.100.15/16bash

  host2 雙網卡 eth0 172.24.100.14/16   eth1 192.168.122.214/24ide

  host3 單網卡 eth0 192.168.122.215/24spa

 

整個環境以下圖:code

無圖blog

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

解決:ip

    第一,在host2上,保證能同時ping通host1和host3路由

    第二,在host1上,添加路由以下get

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通,是否是很神奇