mch*_*cha 6 linux networking routing
我有一个带有2个接口的系统eth0,和eth1.
eth0是192.168.0.250和连接到网关192.168.0.2.eth1192.123.123.10通过swtich 连接.我正在尝试将数据包路由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
Run Code Online (Sandbox Code Playgroud)
我可以ping 129.123.123.10到192.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
Run Code Online (Sandbox Code Playgroud)
谁能告诉我缺少什么?先感谢您.
您错过了回程路线。主机192.168.0.2看到来自192.123.123.10的数据包,但是他不知道如何将回复数据包路由回去,因为它没有返回路由。您可以做两件事:
1-在192.168.0.2机器上创建路由以处理定向到192.123.123.0/24的流量
2-使用以下命令在192.168.0.250主机上进行NAT:
iptables -t nat -A POSTROUTING -s 129.123.123.0/24 -j SNAT --to-source 192.168.0.250
Run Code Online (Sandbox Code Playgroud)
您需要关心的不是该系统上的路由表。这是其他系统的路由表。192.168.0.2 对路由到 192.168.0.250 的 192.123.XX 网络一无所知。同样,192.123.XX 上的主机需要将 192.168.XX 网络路由到 192.123.123.10。
| 归档时间: |
|
| 查看次数: |
21753 次 |
| 最近记录: |