默认网关无法访问

默认网关无法访问

我有一个 vmware 播放器,上面安装了 CentOS 6.5。在 CentOS 6.5 上我安装了 lxc,在 lxc 上我安装了 centos 6.3。

我在 vmware 播放器中使用 NAT 和桥接器作为网络适配器。

我的CentOS 6.5的IP:192.168.236.140,网关:192.168.236.2

centos 6.5 上的路由

[root@agent1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.236.0   0.0.0.0         255.255.255.0   U     1      0        0 eth1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
0.0.0.0         192.168.236.2   0.0.0.0         UG    0      0        0 eth1

现在我的Centos 6.3有IP:192.168.122.9和网关:192.168.122.1

从我的 centos 6.3 LXC 机器开始的路线

[root@agent1vm5 ~]# route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.122.1   0.0.0.0         UG    0      0        0 eth0

现在,问题是我能够从 LXC 即 192.168.236.140 ping 我的 CentOS 6.5 机器

[root@agent1vm5 ~]# ping -c 1 -t 1 192.168.236.140
PING 192.168.236.140 (192.168.236.140) 56(84) bytes of data.
64 bytes from 192.168.236.140: icmp_seq=1 ttl=64 time=0.037 ms

--- 192.168.236.140 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.037/0.037/0.037/0.000 ms

但我无法 ping 默认 NAT 网关,即 192.168.236.2

[root@agent1vm5 ~]# ping -c 1 -t 1 192.168.236.2
PING 192.168.236.2 (192.168.236.2) 56(84) bytes of data.
From 192.168.122.1 icmp_seq=1 Time to live exceeded

--- 192.168.236.2 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

那么,如何设置我的路由,使其经过 192.168.236.2,而不是从 192.168.122.1 开始。

答案1

在你的指挥下

ping -c 1 -t 1 192.168.236.2

您指定数据包以 TTL 为 1 发送。这意味着它们在产生错误之前最多会遍历一网络跃点。

在您的网络配置中,您的 CentOS 6.3 节点未直接连接到您尝试访问的 NAT。 CentOS 6.5节点介于两者之间。当您尝试对 TTL 为 1 的两跳之外的节点执行 ping 操作时,它将不起作用。

CentOS 6.5节点收到TTL为1的数据包后,会发回ICMP错误消息,表明TTL已过期。这完全按照预期进行。

相关内容