主持人:centos6,ip 为 10.10.11.36,网关为 10.10.11.33
客人两个虚拟机的 IP 分别为 10.10.11.60 和 10.10.11.57,网关为主机网关 10.10.11.36
主机上数据包转发已启用。
来自嘉宾:
路线
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.10.11.36 0.0.0.0 UG 0 0 0 eth0
10.10.11.0 * 255.255.255.0 U 0 0 0 eth0
问题1: 当访客 ping google.com 时,为什么会显示重定向主机
PING google.com (173.194.36.7) 56(84) bytes of data.
64 bytes from bom04s01-in-f7.1e100.net (173.194.36.7): icmp_req=1 ttl=58 time=15.5 ms
**From 10.10.11.36: icmp_seq=2 Redirect Host(New nexthop: 10.10.11.33)**
64 bytes from bom04s01-in-f7.1e100.net (173.194.36.7): icmp_req=2 ttl=58 time=11.7 ms
问题2 为什么客户机不通过其网关发送数据包,而是通过主机的网关(即 10.10.11.33)发送数据包。
从客户机中删除 arp 缓存并 ping 8.8.8.8
此后,当检查 arp 缓存时,其网关的 mac 地址未更新
ARP-A
? (10.10.11.33) at 00:02:b6:42:7c:b5 [ether] on eth0
? (10.10.11.36) at <incomplete> on eth0
如果数据包经过 10.10.11.36 那么为什么它的 mac 地址没有更新。
甚至 tracerout 也证实了这一点
traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 10.10.11.33 (10.10.11.33) 0.286 ms 0.272 ms 0.264 ms
答案1
您不能这样设置网关。如果所有机器都在同一个网络上(物理网络和虚拟网络是桥接的),则使用 10.10.11.33 作为虚拟机的网关,如果它们位于不同的网络上(例如使用 NAT),则虚拟机和主机应该位于完全不同的子网上。
网关是用来退出网络的!
你被重定向是因为你只能退出网络一次,那就是通过你的 10.10.11.33。10.10.11.36(你的主机)实际上是网络上的一个节点,而不是网关