OSX nslookup 可以解析局域网主机名,但 ping 不能?

car*_*pii 6 domain-name-system mac-osx ping nslookup

我遇到了一个每隔几天就会出现的问题,即 ping 无法解析 LAN 上的主机名(但 nslookup 可以)。这是在 OSX 10.9.2(最新)上。

这种情况下的机器称为“solo”,尽管它可以在不同时间与其他主机名一起出现。我的网络基础设施没有任何变化,我从经验中知道它会在一段时间后自行修复(尽管修复它会发生什么尚不清楚)。

我知道在最终发出 dns 请求之前 ping 将引用本地资源,但我在 /etc/hosts 中没有任何内容并且我已经刷新了本地 dns 缓存(以及服务器缓存)

谁能解释这个现象?

ping 无法解决“独奏”

[carpii@imac:~]$ ping solo
ping: cannot resolve solo: Unknown host
Run Code Online (Sandbox Code Playgroud)

刷新本地 dns 缓存以获得良好的测量

[carpii@imac:~]$ flushdns````
Run Code Online (Sandbox Code Playgroud)

ping 'creek' 这是我的 dns 服务器

[carpii@imac:~]$ ping creek
PING creek.carpnet (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=2.640 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=2.702 ms
Run Code Online (Sandbox Code Playgroud)

nslookup 可以单独解析,并使用正确的 dns 服务器

[carpii@imac:~]$ nslookup solo
Server:     192.168.1.2
Address:    192.168.1.2#53
Name:   solo.carpnet
Address: 192.168.1.79
Run Code Online (Sandbox Code Playgroud)

通过 ip ping 'solo'

[carpii@imac:~]$ ping 192.168.1.79
PING 192.168.1.79 (192.168.1.79): 56 data bytes
64 bytes from 192.168.1.79: icmp_seq=0 ttl=64 time=6.294 ms
64 bytes from 192.168.1.79: icmp_seq=1 ttl=64 time=2.801 ms
Run Code Online (Sandbox Code Playgroud)

但我仍然无法通过主机名 ping

[carpii@imac:~]$ ping solo
ping: cannot resolve solo: Unknown host
Run Code Online (Sandbox Code Playgroud)

即使有 dns 后缀

[carpii@imac:~]$ ping solo.carpnet
ping: cannot resolve solo.carpnet: Unknown host
Run Code Online (Sandbox Code Playgroud)

ping 另一台由同一 dns 服务器提供服务的 LAN 机器

[carpii@imac:~]$ ping nelson
PING nelson.carpnet (192.168.1.66): 56 data bytes
64 bytes from 192.168.1.66: icmp_seq=0 ttl=64 time=6.297 ms
64 bytes from 192.168.1.66: icmp_seq=1 ttl=64 time=2.712 ms
Run Code Online (Sandbox Code Playgroud)

[更新:可以 ssh 到另一个局域网主机,并且能够从那里单独解析]

[carpii@imac:~]$ ssh node@node
/www/nodechat> ping solo
PING solo.carpnet (192.168.1.79) 56(84) bytes of data.
64 bytes from solo.carpnet (192.168.1.79): icmp_seq=1 ttl=64 time=2.02 ms
Run Code Online (Sandbox Code Playgroud)