2012-04-06 88 views
6

我有一个带有2个接口eth0eth1的系统。无法将数据包从一个接口路由到另一个接口

  • eth0192.168.0.250并连接到网关192.168.0.2
  • eth1通过swtich连接到192.123.123.10

我试图路由数据包从192.123.123.10到网关192.168.0.2,这意味着我需要路由192.123.123.x包进入eth1接口出通过eth0接口。

我将ip_forward文件设置为1。 我跑这个命令:

route add -net 192.123.0.0 netmask 255.255.255.0 dev eth0 
route add default gw 192.168.0.2 

我可以平从129.123.123.10192.168.0.250,但我无法ping到192.168.0.2 我觉得包不被转发到eth0

我的路由表看起来是这样的:

gteway Genmask Flags Ref Iface 
192.123.123.0 * 255.255.255.0 U eth1 
192.168.0.0 * 255.255.255.0 U eth0 
192.123.0.0 * 255.255.255.0 U eth0 
default 192.168.0.2 0.0.0.0 UG eth0 

谁能告诉我缺少什么? 预先感谢您。

+4

这篇文章更适合[超级用户](http://superuser.com/) – 2012-04-06 04:37:55

回答

2

这不是您需要关注的系统上的路由表。这是其他系统的路由表。 192.168.0.2对192.123.X.X网络路由到192.168.0.250一无所知。同样,192.123.X.X上的主机需要将192.168.X.X网络路由到192.123.123.10。

4

您错过了您的后退路线。 主机192.168.0.2看到来自192.123.123.10的数据包,但他不知道如何路由回复数据包,因为它没有返回路由。 你可以做两件事情:

1 192.168.0.2的机器上创建一个路由处理流量引导到192.123.123.0/24

2- NAT您192.168.0.250主机与下面的命令上:

iptables -t nat -A POSTROUTING -s 129.123.123.0/24 -j SNAT --to-source 192.168.0.250 
相关问题