我正在使用Mac OS X 10.8通过以太网和wifi连接到两个网络,并且遇到本地DNS解析问题。非常感谢您的建议。
我同时连接到两个网络。通过以太网(eth)的本地网络,并通过我公司的无线AP(wifi)到Internet。我希望能够通过名称查询本地计算机(例如ping computer1),但也希望通过wifi进行互联网连接。
在“网络偏好设置”中,我具有以下优先级:首先是以太网,然后是wifi。
这样,当我通过IP ping本地计算机时,它可以正常工作。即ping 192.168.1.1有效,我也可以访问互联网。网络首选项设置中正确列出了每个接口的DNS设置。即eth的DNS为192.168.1.1并搜索域mydomain.com。对于wifi,DNS也会正确列出我公司提供的设置。
如果我禁用wifi,则使用ping computer1
或时本地DNS可以正常工作nslookup computer1
。但是,启用wifi时,我无法使用本地DNS服务器解析名称。我发现启用wifi时resolv.conf文件被覆盖,因此未联系本地DNS服务器,而是联系了我公司的DNS。更具体地说,启用wifi时,resolv.conf文件仅保存由我公司提供的DNS信息(即使我将其在“网络偏好设置”中排在第二位):
因此,当启用WiFi时,resolv.conf具有以下内容:
域my.work.domain.com
名称服务器xxxx
名称服务器yyyy
名称服务器zzzz
禁用WiFi时,resolv.conf具有以下内容:
域mydomain.com。
域名服务器192.168.1.1
使用scutil --dns时也会出现类似的问题。
当我同时启用eth和wifi时,使用scutil --dns进行以下操作:
DNS配置
解析器#1
搜索域[0]:my.work.domain.com
名称服务器[0]:xxxx
名称服务器[1]:yyyy
名称服务器[2]:zzzz
if_index:4(en0)
到达:可访问
(这里列出了,但我将其余的DNS解析器#2-#7删除了,通常Mac用户可以上网)
DNS配置(用于范围内的查询)
解析器#1
搜索域[0]:mydomain.com
名称服务器[0]:192.168.1.1
if_index:6(en2)
标志:作用域
:可访问,直接可访问地址
解析器#2
搜索域[0]:my.work.domain.com
名称服务器[0]:xxxx
名称服务器[1]:yyyy
名称服务器[2]:zzzz
if_index:4(en0)
标志:范围
范围:可访问
当我禁用WiFi并仅使用scutil --dns 保留ethernet时,将得到以下信息:
DNS配置
解析器#1
搜索域[0]:mydomain.com
名称服务器[0]:192.168.1.1
if_index:6(en2)
到达:可访问,直接可访问地址
(此处与上述Mac用户通常用于互联网的解析器#2-#7相同)
DNS配置(用于范围内的查询)
解析器#1
搜索域[0]:mydomain.com
名称服务器[0]:192.168.1.1
if_index:6(en2)
标志:作用域
:可访问,直接可访问地址
非常感谢您花时间解决我的问题。亲切的问候 !