2012-04-06 43 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 
相關問題