前言
今天遇到一个特别的问题,在一个局域网内,某主机的ip可以ping通但是该主机的主机名无法ping通
按我经历来看,ip与主机名是“同步的”,要么都能ping通,要么都ping不通,但是这次却是ip可以ping通,主机ping不通
解决
- 首先查看其hosts
# 其他略
172.27.20.69 test1配置是正常的
2.尝试ping
ping test1 # 会卡住
ping 172.27.20.69 # 有标准输出检查DNS
# DNS基本没有影响,这里时附带 cat /etc/resolv.conf nameserver 100.100.2.136 nameserver 100.100.2.138
4.深入检查解析配置
cat /etc/nsswitch.conf
hosts: dns files myhostname
# 先dns解析后hosts文件,所以在ping主机名时,主机名先进行dns解析,但是没网导致dns不响应导致卡住,实际上再等一会就会匹配hosts文件,就会匹配到 nsswitch.conf是一个非常少使用的配置,它主要定义解析的顺序,正常的顺序是files dns myhostname
补:其实这个问题的另一个解决方案是不解决,等到ping对DNS连接超时后自然就会解析hosts文件,并且系统有ARP缓存,下次再ping的时候就不需要等待超时了
后谈
linux还有很多我没有深入了解的内容,很多问题还等着被解决
本文著作权归作者 [ wymm ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。