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

简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://dgd2010.blog.51cto.com/1539422/1531486

基本思路:

  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地址(谁让人家的优先级高呢?)。

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

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1531486

目录
相关文章
|
1月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
27 2
|
1月前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
|
6月前
|
安全 网络协议 网络安全
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
【网络连接】ping不通的常见原因+解决方案,如何在只能访问网关时诊断,并修复IP不通的问题
8784 0
|
1月前
|
域名解析 弹性计算 安全
无法ping通ECS服务器公网IP的排查方法
无法ping通ECS服务器公网IP的排查方法
|
2月前
|
存储 虚拟化
使用DiskGenius工具来实现物理机迁移虚拟机,实现虚拟化
【9月更文挑战第1天】使用 DiskGenius 工具可将物理机迁移到虚拟机,实现系统与数据的虚拟化。此过程包括:安装 DiskGenius 和准备虚拟化平台;备份物理机数据;使用 DiskGenius 备份磁盘;在虚拟化软件中创建新虚拟机并导入磁盘备份;配置及调整虚拟机设置;测试性能并优化资源分配。这有助于测试、开发及系统管理。
309 5
|
3月前
|
网络协议 Linux 网络安全
如何使用 ping 命令进行故障排除**
【8月更文挑战第24天】
52 0
|
4月前
|
网络协议 网络虚拟化 虚拟化
虚拟机和物理机的网络通信疑虑问题
物理机的ip和虚拟机上的window的ip不是同一个子网,如何实现相互通信的?各自又是如何进行进入公网进行通信的?
79 0
|
6月前
|
Shell Linux 开发工具
Vmware 虚拟机挂起恢复后发现无法 Ping 通,无法连接到主机
在Linux主机上,以`root`用户停止NetworkManager服务并重启网络: ```shell systemctl stop NetworkManager systemctl restart network ``` 或修改网卡配置文件`ifcfg-ens33`,添加`NM_CONTROLLED="no"`,然后重启`network`服务: ```shell vim /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network ```
200 6
|
6月前
|
网络协议 Linux 网络安全
虚拟机Vmware详细安装(包含kali,win7与winxp三系统相互ping与安装)
本文是一篇关于虚拟机安装和配置的教程,包括使用VMware安装虚拟机和在虚拟机中安装Kali Linux、Windows 7和Windows XP系统。作者提供了详细的步骤和截图说明,指导读者如何下载和安装VMware,以及如何从提供的链接下载预配置的操作系统镜像文件。安装过程中,重点介绍了如何选择安装路径、接受许可协议、启动安装过程,并强调了不要勾选某些选项以保持默认设置。此外,还提到了如何在虚拟机中配置网络,确保三个系统在同一网段并能互相ping通。最后,作者布置了一些练习,如熟悉操作系统的使用、获取IP地址和互相通信,以及鼓励读者享受学习网络安全的过程。
233 9
|
6月前
|
监控 网络协议 安全
【亮剑】当设备IP能ping通但无法上网时,可能是DNS解析、网关/路由设置、防火墙限制、网络配置错误或ISP问题
【4月更文挑战第30天】当设备IP能ping通但无法上网时,可能是DNS解析、网关/路由设置、防火墙限制、网络配置错误或ISP问题。解决步骤包括检查网络配置、DNS设置、网关路由、防火墙规则,以及联系ISP。预防措施包括定期备份配置、更新固件、监控网络性能和实施网络安全策略。通过排查和维护,可确保网络稳定和安全。
1183 1

热门文章

最新文章