centos ping不通局域网_局域网网内ping不通的问题解决方法总结

ping命文件尺寸所限,详细见下面链接令是检测源和目的ip间ip层导通性的icmp协议,属于ip层协议。源主机ping发出含一串数据的包(如123456789abcde之类),封装在ip层里,对方收到后,把这串包原路送回来,源pc收到后,认为是对方可达。所以它涉及二层的mac地址和ip层的交互。当对方存在问题时(ip地址不存在,没有路由等),对方的ip或者经过的网络节点会返回icmp的差错消息给终端源ip。

ping的过程是,输完命令后,根据目的ip,先查路由表,看目的主机ip是否走直连路由,是的话就去检查mac地址缓存表,看是否有该地址的mac地址缓存,没有的话,是用直连路由的一个本机接口去发出请求目的ip的mac地址的arp请求request消息,收到arp响应后,用这个mac地址封装二层数据,发出icmp协议的ping请求消息。mac地址缓存里有,直接封装ping的request消息。arp消息没有得到mac地址,不发出ping的request消息,回显端口不可达。

查路由表发现不是直连路由和静态路由的话,走默认路由的话,就去查是否有默认网关的mac地址,没有去请求网关的mac地址,有就直接封装ping的request消息。

局域网内网中ping不通,有几种情况

一,一种情况是目的ip和源ip是同一网段的,ping的结果是“无法访问目标主机”,这时用arp -a | findstr ip地址,看是否获取到对应的ip地址的mac,没有的话,应该是ping命令执行时,发出的请求对方的mac地址的arp消息没有得到应答,此时根本没有发出ping的request消息。这时,要检查对方是否开机?ip是否存在?有跨交换机vlan的话,检查对应的中间trunk链路是否导通?arp消息是否能到达目的ip侧?对方是否收到arp请求消息?最好能在对方pc上抓包,看arp请求消息是否到达目的地址的主机,再逐级排查。

ping的过程,同网段的查询路由表,发现是直连路由,查询arp缓冲没有发现目的ip的mac地址,就用直连接口的ip作为源ip去查询目的ip的mac地址,如果得到响应,会用此mac地址作为目的mac组成icmp请求包发出。没有响应,arp请求消息会发出多次在ping的过程中。

如下图:我们用windump抓包,去ping一个不存在的地址。

cmd下用ipconfig/all去查看网卡的信息如下:

7c107e308c823055f9dbd5c35bef64f9.png

去ping一个ip为192.168.1.105去看看结果如何?同时用windump进行抓包观察:

1df2de1635c61750cb2448038313e91a.png

b4d1ab1d216d681ef6e9ea7987fd1262.png

​ 正常的ping消息有响应的抓包如下:

730c939c4d0030e9b6e0d5de347dc42d.png

若是同网段,ping后显示time out超时,检查arp -a有对应的目的ip的mac地址,证明网络层的ping的request消息已经发出,而且已经到达目的主机的网络,要么没回ping的reply消息,要么回到其他地方去了?前者检查对应主机的防火墙是否设置,禁止了对ping的request进行响应?放开就行了或者关闭防火墙。后者检查路由表,是否因为掩码问题,发给其他地方?

二,目的ip和源ip不是同一网段

ping命令发出后,提示“无法访问目标主机”,跨网段ping消息,没有直连路由的话,会首先检查是否有配置默认网关,有的话,检查arp缓存是否有网关的mac地址,没有的话,会发出arp查询网关的mac地址,有的并且响应后,直接组包发给网关的mac。出问题时:应该去检查路由表是否有缺省的路由?检查arp表是否有网关的mac地址?没有路由,添加对应的网关地址;没有获得网关mac,检查到网关通道是否通畅?还有一种情况目的ip是不存在的ip,经过目的ip网关给回了主机不可达的icmp消息,过程是这边ping的request消息发到目的ip的网关,目的ip的网关没有对应的ip的mac地址,就会用自己的ip和mac发起arp查询,没有得到响应的话,就会向源ip地址发出host unreachable的icmp消息。源ip就显示无法访问目的主机。

模拟过程:用pc192.168.205.201(网关是205.1)去ping局域网内另一主机192.168.206.10(网关206.1,192.168.206.10此主机不存在)的情况:

c3d8348417a43770d80ae0aad0dfc01b.png

​用wireshark抓包发现,205网段的网关192.168.205.1发给192.168.205.201一个主机不可达消息。

0ccc7c519dcc2ad2225e0267f9d3fc55.png

​ 发现网关给回了主机不可达,交换机上查询主机地址,发现没有此主机。在206网段的其他pc上抓包,过滤对应c0-a8-ce-0a的arp广播消息,能发现网关每隔一秒发出一次arp的广播查询消息,因为没有响应,所以会发出多次。​

da13dac3aecbcaa31cd490dfab783e65.png

Arp查询没有成功,所以交换机给源主机回主机不可达的icmp消息。

78c959a4caf0c9eea49802d3dc265295.png

若显示time out,表示ping的request消息已经发出,这时应该在被叫侧检查ping的request是否到达,若是windows系统,可以使用wireshark进行抓包,过滤对应源ip或者icmp消息,看是否到达,若到达,看是否有回报发出,有的话,检查回程路由,看回报的mac地址是否和ping的request来包是否一致,不一致,检查回程路由和节点回程路由。没有回包,检查防火墙和回程路由。

去ping一台内网的pc192.168.206.110的情况:

893bcb7d9fc05286ddac20510bef5220.png

若没有到达目的ip地址,就检查经过节点的路由是否正确,能通道是否导通?

在目的主机上抓包看到,包已经到目的主机,但目的主机没有回。

64fc223ccf865a3cfc2f95692e5a214d.png

​ 检查网关的mac地址和路由表里都正常,检查防火墙发现防火墙开启,关闭后正常。

936d68b2498afd746063f15568f204a9.png

关闭防火墙后正常:

44f19b90d215b23ee16ee9b940503d16.png

没有回程路由的仿真:

如图,ping 172.103.201.105一台内网centos7.0的服务器。在目的主机侧执行tcpdump的结果tcpdump -i em1 -nne icmp:

96e865edc0548cb7051bfe5b15d5c432.png

​Ping的request已经收到,为啥没有回?检查防火墙是否开启和回程路由是否存在?

f487a434c0448b2151ae4cf890963795.png

防火墙未打开,检查回程路由是否存在?

8b27d6300bfc85acf31196e673656b83.png

发现没有对应的回程路由,192.168.205.0。添加后观察:

8b7f78bb95da96264e3dbe17894e300b.png

添加路由后,ping观察。

b070e20fe016187ca219a014a42e11b4.png

27b8ed0f9d56929ccfd35b7a10d6d8ed.png

​结论:

Ping出现无法访问目标主机时,一般是本机或者网关没有获得对方主机的mac地址,要么ip不存在或者没有开机或者arp消息对方没有收到。Ping出现time out时,是对方没有应答,一般检查防火墙是否打开,或者回程路由是否存在,或者回程路由有误,回包发向了错误的地方。还有的情况是对方是另一个vlan下的ip,当整个vlan接口状态是down的情况下,会受到网关发来的ttl exceed的回显。没有路由的情况下,也会出现类似的回显。

总之:ping不通,要根据回显判断可能的情况来确定问题,并进行相应的处理。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在您的情况下,您的CentOS虚拟机可以ping通本机IP,但无法ping网关IP,这可能导致无法远程连接。根据您提供的引用内容,问题可能出在网络配置方面。 首先,您可以检查虚拟机的网络配置文件,确保IP地址、子网掩码和网关地址正确设置。您可以通过编辑网络配置文件来设置静态IP地址、子网掩码和网关地址。请确保在配置文件中正确设置了以下参数: - IPADDR:设置虚拟机的IP地址 - NETMASK:设置子网掩码 - GATEWAY:设置网关地址 其次,您还可以检查DNS配置。您可以编辑resolv.conf文件来配置DNS服务器。请确保在文件中正确设置了DNS服务器的IP地址。 最后,您还可以检查NetworkManager配置文件,确保DNS配置正确。您可以编辑NetworkManager.conf文件,并在文件末尾添加"dns=none"来禁用NetworkManager的DNS配置。然后,您可以编辑resolv.conf文件,并添加正确的DNS服务器IP地址。 请注意,对于网络配置的更改,您可能需要重新启动网络服务或重启虚拟机才能生效。 希望以上信息对您有帮助。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您解决问题。 #### 引用[.reference_title] - *1* [【CentOS7虚拟机ping不通GATEWAY(网关)导致无法远程连接(Destination Host Unreachable)](https://blog.csdn.net/weixin_44198965/article/details/98332968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux(CentOS 7)虚拟机无法ping网关和外网](https://blog.csdn.net/weixin_49070722/article/details/127635838)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux Centos7网络配置无法ping通外网、内网以及网关](https://blog.csdn.net/delight_sl/article/details/91358832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值