DNS 查找失败但 nslookup 有效

Tho*_*röm 10 dns osx-snow-leopard hosts macos

我的内部网络有 DNS 查找问题。我正在使用 IP 为 192.168.1.254 的内部 DNS 服务器。

如果我使用 nslookup 一切正常:

>hawk:~ user$ nslookup publicwebserver.domain.local
>Server:        192.168.1.254
>
>Address:   192.168.1.254#53
>
>Name:  publicwebserver.domain.local
>
> Address: 192.168.1.21
Run Code Online (Sandbox Code Playgroud)

我的问题是似乎没有其他程序能够查找 DNS 名称:

hawk:~ user$ ping publicwebserver.domain.local

ping: 无法解析 publicwebserver.domain.local: 未知主机

所有命令行程序和例如 Firefox 都是如此。如果我启动 Network Utility,我会在 Lookup 选项卡上遇到同样的问题(可能是因为它在后端使用 nslookup 或 host)。

你们中有人见过这个问题吗?

Tho*_*röm 6

似乎这是由于我同时指向客户端上的内部和外部 dns 服务器,如此处所述。当我从服务器列表中删除所有外部 DNS 服务器后,一切都正常运行。


Sco*_*uff 6

对于某些人,检查 /etc/resolver/ 目录并删除那里的所有文件。


小智 5

实际上这可能是由于使用了.local域。这默认使用.local的 mDNS解析(零配置网络)冲突

某些版本的 OS X 可以同时支持名称解析方法,mDNS 和普通 DNS,但至少 Yosemite 似乎不再支持它。

这份较旧的Apple 支持文档解释了背景。对于优胜美地,仍然有效的是将“domain.local”添加到网络设置中的 DNS 搜索列表中。

真正的解决方案不是将.local域用于 DNS 解析的主机。