Ping 回复无法到达 LAN 机器,但可以到达 Linux 路由器网关

Ping 回复无法到达 LAN 机器,但可以到达 Linux 路由器网关

我已将 Ubuntu 12.04 配置为网关机器,它有两个接口

 eth0 with ip  192.168.122.39(Static) and 

 eth1 connected to modem with ip address 192.168.2.3(through DHCP).

路由器盒中已启用 ip-forwarding。

客户端机器配置为:

ip address 192.168.122.5 and gateway 192.168.122.39

客户端机器可以 ping 通路由器盒 (192.168.122.39)。但是当 ping 8.8.8.8 时,回复没有到达客户端机器,但在网关的 tcpdump 输出中,我可以看到 8.8.8.8 的回应请求,但从来没有回应。这是因为 122.5 没有将请求转发到 2.0 网络吗?您能帮我解决这个问题吗?

编辑:遵循的步骤

该机器作为 XEN HVM 运行。

路由器机器:两个接口 eth0:192.168.122.39(静态ip) 路由器上的eth1:192.168.2.3

  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

 iptables -A FORWARD -i eth0 -j ACCEPT

 iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

ptables -A FORWARD -i eth0 -o eth1 -j 接受

在客户端计算机上

 ping 8.8.8.8

在网关 tcpdump 结果上

tcpdump -v -i eth0

192.168.122.1 是虚拟网桥

tcpdump:在 eth0 上监听,链接类型 EN10MB(以太网),捕获大小 65535 字节

14:17:26.352383 IP(tos 0x0、ttl 64、id 0、偏移量 0、标志 [DF]、proto ICMP(1)、长度 84)192.168.122.1 > google-public-dns-a.google.com:ICMP 回显请求,id 1541,seq 8395,长度 64

14:17:26.938156 IP(tos 0x0、ttl 64、id 0、偏移量 0、标志 [DF]、proto ICMP(1)、长度 84)192.168.122.1 > google-public-dns-a.google.com:ICMP 回显请求,id 1513,seq 10735,长度 64

来自客户端机器的 tracepath 8.8.8.8.:

跟踪路径 8.8.8.8

1: 192.168.122.39 0.046毫秒pmtu 1500

1:192.168.122.5 0.259毫秒

1:192.168.122.5 0.188毫秒

2:无回复

3:无回复

答案1

您的调制解调器不知道如何访问 192.168.122.0/24 网络。您必须在路由器上执行 NAT,或者您必须告诉调制解调器 192.168.122.0/24 应通过 192.168.2.3 进行路由。

对于 NAT,请尝试以下规则:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE   
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

重新启动防火墙以清除旧规则。

相关内容