UBUNTU主机不能PING通virtualbox里的虚拟机

更新时间:02-04 教程 由 浅殇 分享

UBUNTU主机不能PING通virtualbox里的虚拟机?

这个问题也可以结合主机路由表及主机发送数据包的过程进行理解。总体结论:1.只要本机路由表有目的地址匹配项,该数据包就会被送出去;2.网关地址在Linux中必须对应一条类型为scope link的路由表项,在进行ARP广播时根据该表项选择进行arp广播的接口。为了简化和直观显示结果,我直接启动了一台virtualbox虚拟机,虚拟机里安装了ubuntu 14.04,并通过NAT和主机相连(NAT接口的原理和PPPOE一致)。同时主机还有一个内网接口。步骤一:初始默认情况,主机自动获得IP10.0.2.15/24和网关10.0.2.2一个网段,如果输入ip route命令,结果如下,ping网关正常能通;步骤二:主机地址手动设为10.0.1.2/32,ping网关依旧能通;ip route命令返回的主机路由表步骤三:删除所有路由,只添加default 路由,不能直接添加,提示Network is unreachable。步骤四:多个接口同一个相同的网关地址,路由表配置优先选择不和网关直连接口,此时ping 10.0.0.2不通ip route清空arp 表ping 10.0.0.2不通原因:进行arp广播根据metric 1的路由表选择仅从eth1接口广播,不会在所有接口上都广播,然而网关实际和eth0相连,所以收不到arp应答,无法ping 通。注:注意到测试过程中有时网关主动通过eth0发来arp消息,系统会自动把eth1的表项删除。此时又可以ping通了。参考:How to clear the ARP cache on Linux? - Linux Auditarp requesting to another subnet, how?

声明:关于《UBUNTU主机不能PING通virtualbox里的虚拟机》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2252099.html