解决虚拟机或物理机ping不通网关故障的方法与思路

简介:

基本思路:

  1. 确定问题缩小范围。先外部后内部,利用排除法、类比法、替换法(隔离法)将故障范围逐渐缩小到某一点。

  2. 谨慎做出结论。下结论前先三思,想到所有可能存在问题的点,特别是与别人讨论和描述问题时更应该注意。

  3. 记录问题。做好文档备案工作,如记录故障现象、故障分析、故障原因、处理流程、处理结果、结论与经验等。

    相对于虚拟机,物理机ping不通网关的故障更好排查一些,因为虚拟机在于物理交换机通信的过程中存在一个中间层,中间层可能为宿主主机上的标准交换机或者某个分布式交换机。但无论是标准交换机还是分布式交换机一般都不会处理三层网络,尽管有的分布式交换机能处理三层网络,如Cisco Nexus 1000v。因此只要在配置虚拟机硬件时,给网络适配器选择的网络标签(Vlan ID)正确,一般问题就不会发生在虚拟交换机层面。如果对虚拟交换机是否存在故障不能确定,可以通过查看与故障虚拟机同一个网段的另一个虚拟机是否能正常访问网关和Internet判断虚拟机交换机是否存在问题。

image

    如果网络连接正确,交换机和物理机/虚拟机中的arp表中都会出现各自的mac地址。如交换机的arp表或mac表中会出现物理机/虚拟机的mac地址,物理机/虚拟机的arp表中也会有交换机(网关)的mac地址。每次网络连接的建立过程都会涉及arp查找,例如ping通自己的IP表示网卡正常工作(ping其他主机可能会遇到防火墙或其他安全设备/软件拦截而无法ping通,需要自己去手动判断),这个过程依旧需要借助arp协议将ip地址解析到mac地址,这个已发现的mac地址就会存放在arp池中(缓存起来)。

    对于交换机:进入特权配置模式(hostname#)输入show arp或show mac address-table,结合include进行mac地址查找。

image  image

    对于物理机/虚拟机,不管是Microsoft Windows还是Linux,查看是否获得网关mac地址的命令都可以用arp -a命令(结合find或grep命令),显示当前arp池中有哪些已经发现的主机,包括网关。

image image

    上述操作结果都正常的话表示,协议和链路工作正常。

    自下而上的方法。如果说按照osi或tcp/ip模型的划分的话,就是说物理层没有问题(能ping通自己、交换机连接状态、端口指示灯、内核/软件输出信息等),数据链路层没有问题(arp池中发现对方的mac地址)。接下来就应该分析网络层。

    分析网络层首先要考虑的就是路由问题。例如检查交换机中是否存在特定主机路由,因为静态路由/特定主机路由的优先级都要比默认网关的优先级要高,一旦存在这些路由无法ping通网关就非常正常了。网关地址对于物理机/虚拟机安装的操作系统而言比普通主机更特殊一些,因此,即使一个主机能ping通同一网段的其他主机而不能ping通网关是正常的。

    例如交换机上有一条静态路由为“S       172.16.205.7/32 [1/0] via 172.16.172.7”,如果从交换机ping172.16.205.7时,172.16.172.7这个地址不存在或者链路有问题,必然不通。而从172.16.205.7这个机器上ping网关(172.16.205.1),也是ping不通,原因是包从物理机/虚拟机的网卡去向交换机时正常,在回包时不正常,回包时还是要走静态路由里面规定的那个IP地址(谁让人家的优先级高呢?)。

    关于路由优先级。直连路由最高、其次是静态路由最后最后是默认网关。所有的静态路由、直连路由等都查找不到的时候交给默认网关去处理,因此默认网关的路由优先级是最低的。




本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1531486,如需转载请自行联系原作者

相关文章
|
2月前
|
Linux 网络安全
物理机与虚拟机(linux)不能ping 通的原因之一
有时候,我们需要使用SSH来操作虚拟机的linux,这时候可能存在需要固定linux的固定ip,然后发现固定linuxIP后,window和linux无法ping通,而且linux无法上网的情况,这时候我们需要将linux的虚拟网卡设置为桥接方式 NAT模式和桥接模式的区别:NAT模式和桥接模式的区别
33 1
|
4月前
VM 挂起虚拟机后 主机无法ping通虚拟机
VM 挂起虚拟机后 主机无法ping通虚拟机
40 0
|
7月前
|
Ubuntu 网络安全 Apache
物理机不能访问虚拟机kali的web服务解决方案记录
物理机不能访问虚拟机kali的web服务解决方案记录
176 0
|
3月前
|
NoSQL Java Redis
1.虚拟机无法连接网络,且无法ping通的问题解决
1.虚拟机无法连接网络,且无法ping通的问题解决
|
3月前
主机ping不通虚拟机,虚拟机可以ping同主机
主机ping不通虚拟机,虚拟机可以ping同主机
61 0
|
7月前
|
运维 网络协议 虚拟化
【运维知识基础篇】虚拟机ping不通外网怎么解决
【运维知识基础篇】虚拟机ping不通外网怎么解决
419 0
|
7月前
|
网络协议 网络安全 虚拟化
虚拟机ping不通外网的原因
如果您在虚拟机中无法 ping 通外网,可能会有以下几个常见的原因: 1. 网络连接问题:确保虚拟机的网络连接正常。检查虚拟机的网络适配器设置,确保它已正确配置并连接到主机上的物理网络。 2. 网络设置问题:检查虚拟机的网络设置,确保网络设置正确。如果您使用的是桥接模式或 NAT 模式,请确保网络配置正确,并分配了正确的 IP 地址和网关。 3. 防火墙阻止:检查虚拟机内部和宿主机上的防火墙设置。确保防火墙允许 ICMP(ping)请求通过。 4. DNS 设置问题:检查虚拟机的 DNS 设置。尝试通过在虚拟机中执行 `ping 8.8.8.8` 来诊断,如果可以 ping 通 IP
2360 0
|
9月前
|
网络协议 虚拟化
虚拟机可以ping通主机,但是主机ping不通虚拟机解决办法
虚拟机可以ping通主机,但是主机ping不通虚拟机解决办法
3419 1
|
10月前
|
虚拟化
vmware虚拟机挂起后无ip,无法ping外网
vmware虚拟机挂起后无ip,无法ping外网
102 0

相关产品

  • 云迁移中心