Debian静态路由不工作?

我必须做错事。

networking设置如下:

ST1 eth0 192.168.254.253 255.255.255.0 no gate ST1 eth1 10.10.10.6 255.255.255.252 no gate ST2 eth0 172.16.200.254 255.255.255.0 no gate ST2 eth1 10.10.10.5 255.255.255.252 no gate CLIENT 172.16.200.100 255.255.255.0 172.16.200.254 KENTUCKY 192.168.254.254 255.255.255.0 no gate 

替代文字

ST1:

替代文字

ST2:

替代文字

有人能指出我做错了什么吗? 已经尝试了这么多的configuration…

有路由器被告知路由通过设置/ proc / sys / net / ipv4 / ip_forward到1? http://www.linuxdocs.org/HOWTOs/Adv-Routing-HOWTO-12.html

如果这是问题,那么在下面设置它将允许它在重新启动后存活。

 File:/etc/sysctl.conf: net.ipv4.ip_forward = 1 

http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/是我的系统设置源

(哇,这花了一段时间 – 我不得不抽出两次。)

首先,我没有看到肯塔基州的路线规则,它获取数据包到172.16.200.0/24。 而且这个无关的意味(对我来说,因为我从来没有处理过这个特定的语法),没有默认的网关。

路由101:只是因为networking可以得到一个数据包给你,这并不意味着它可以回到它来自的地方。 所以,即使你可以ping肯塔基,答案也不会回来。

ST1具有两次指定的相同路由:

 up route add -net 172.16.200.0 netmask 255.255.255.0 gw 10.10.10.5 dev eth1 

因为说同样的事情所以是无害的

另外,我认为ST2上的这条线是错误的:

 up route add -net 192.168.254.0 netmask 255.255.255.0 gw 10.10.10.5 dev eth0 

…我想这意味着你告诉它,192.168.254.0/24networking是可以通过自己,在错误的接口。 它也与ST2的第一个集群中的正确路线相矛盾:

 up route add -net 192.168.254.0 netmask 255.255.255.0 gw 10.10.10.6 dev eth1 

所以。 在ST2上up route add -net 192.168.254.0 netmask 255.255.255.0 gw 10.10.10.5 dev eth0 ,通过ST1在肯塔基州增加一条默认路由(或仅发送172.16.200 / 24的报文)它应该工作。

如果这不起作用,请在ST1和ST2上执行netstat -rn并输出。