ping回显目标主机不可达,资源无法访问问题解决过程

  有同事反馈他的pc192.168.205.201无法访问svn资源192.168.193.10,而其他人都能访问,让协助解决。

询问他ping的结果,反馈回显目标主机不可达。

无法访问目的主机,同网段是获取mac地址失败,跨网段是对方网关找对应ip的mac地址失败后的,对方网关发icmp消息目标主机不可达,并由自己网关转发此消息,pc收到此消息后回显目标主机不可达。考虑205网段的网关是205.1,193的网段的网关是193.1,两个网段都接在同一三层交换机下,通过三层交换机的直连路由实现访问的,告知他是否193.10未开机?

  反馈其他人都能访问,奇怪,登录三层交换机查看arp?

ping回显目标主机不可达,资源无法访问问题解决过程

 发现该主机在,自己ping了一下,也能ping通,让他抓包后观察?

ping回显目标主机不可达,资源无法访问问题解决过程

wireshark里过滤icmp发现没有任何icmp的ping的request消息发出。

ping回显目标主机不可达,资源无法访问问题解决过程

难道pc认为192.168.193.10和自己的192.168.205.201是同一网段?若是那样,应该有arp消息发出。过滤arp进行查找?

ping回显目标主机不可达,资源无法访问问题解决过程

 发现有arp发出,没有得到响应。查看路由表看看是否有对应的直连路由?

ping回显目标主机不可达,资源无法访问问题解决过程

ping回显目标主机不可达,资源无法访问问题解决过程

发现如上图红线所示,有192.168.0.0/16的直连路由,估计就是掩码配置错误所致,检查掩码:

ping回显目标主机不可达,资源无法访问问题解决过程

确认掩码配置错误,导致问题,让他改成24位255.255.255.0后,观察。

ping回显目标主机不可达,资源无法访问问题解决过程

 ping回显目标主机不可达,资源无法访问问题解决过程

查看路由表如下:

ping回显目标主机不可达,资源无法访问问题解决过程

如图所示:192.168.193.0网段走默认0.0.0.0的默认路由,从192.168.205.1下一跳出去,arp  -d后ping抓包验证如下图:

ping回显目标主机不可达,资源无法访问问题解决过程

  ping一个192.168.193网段不存在的ip地址,看看

ping回显目标主机不可达,资源无法访问问题解决过程

发现和之前的没改掩码前的区别,是无法访问目的主机的回显前者是自身回的,后者是网关的ip回的。抓包查看:

ping回显目标主机不可达,资源无法访问问题解决过程

总结:ip访问的过程,其实是先查询路由表,根据路由表确定出口,同网段用自身ip发起arp查询,查询失败会有对应不可达的回显。不同网段走默认网关,有网关mac地址直接组包,没有发出arp消息查询网关的mac地址后组包。跨网段的访问,若对方网关没有找到 主机的mac地址,会发出icmp主机不可达消息。pc所在网关据此回显不可达。

  主机路由表会根据掩码和ip生成对应的直连路由表,在网卡up后生效。