nslookup 知道,而 ping 不知道;这怎么可能?

nslookup 知道,而 ping 不知道;这怎么可能?

这怎么可能:

% nslookup heartbeat
Server:     192.168.10.1
Address:    192.168.10.1#53

Name:   heartbeat.mydomain.local.lan
Address: 192.168.33.6

% ping heartbeat.mydomain.local.lan
ping: cannot resolve heartbeat.mydomain.local.lan: Unknown host

% ping heartbeat                    
ping: cannot resolve heartbeat: Unknown host

ping使用与 相同的来源吗nslookup


请注意,ping 互联网站点有效

% ping www.google.com
PING www.google.com (172.217.21.164): 56 data bytes
64 bytes from 172.217.21.164: icmp_seq=0 ttl=119 time=24.846 ms

所以不要建议名称解析ping被破坏

答案1

nslookup并且ping不要使用相同的机制来解析主机名。

nslookup专门发出 DNS 请求;默认情况下,它会联系 中配置的名称服务器/etc/resolv.conf

ping使用解析地址getaddrinfo,它使用名称服务开关,配置为/etc/nsswitch.conf.这可以结合多种来源,包括/etc/hostsDNS 等。

如果 NSS 未配置为使用与 中配置的解析器相同的解析器/etc/resolv.confping则即使解析成功,也可能无法解析主机nslookup

相关内容