带有 os x 客户端的 dnsmasq 服务器

带有 os x 客户端的 dnsmasq 服务器

我在小型本地网络上的 ubuntu 服务器上设置了 dnsmasq,该服务器有多个客户端,包括一些 Windows 和一些 OS X。Windows 客户端运行良好。OS X 客户端遇到了经典的“dig 可以工作但 ping 不可以”问题。我做了一些研究,但找不到有关 OS X 的 DNS 解析工作方式的信息。我只能找到文档,告诉我它不使用与 dig 相同的工具。

我的问题是:为什么我的 Windows 客户端和 OS X 上的 dig 可以正确解析由 dnsmasq 配置的本地名称,但 OS X 系统却不能?我怀疑这与 dnsmasq 不提供 SOA 记录有关,但我不确定。我也尝试过使用 bind9,但似乎无法正确配置它。

以下是我的 dnsmasq 配置文件的内容:

no-dhcp-interface=en0
address=/neptune.local/neptune/192.168.42.2
no-resolv
server=8.8.8.8
server=8.8.4.4

答案1

如果dig无需指定特定名称服务器即可运行,则您的服务器和 Mac OS 客户端可能都配置正确。您的 Mac 可能缓存了负面的 DNS 结果。(dig绕过缓存运行 DNS 查询;ping使用使用缓存的系统名称解析器。)要清除缓存,请运行sudo dscacheutil -flushcache(Mac OS ≤ 10.6)或sudo killall -HUP mDNSResponder(Mac OS ≥ 10.7)。

相关内容