WiFi处于活动状态时会绕过本地DNS


3

我正在使用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)
标志:作用域
:可访问,直接可访问地址

非常感谢您花时间解决我的问题。亲切的问候 !


2
这个问题似乎有太多答案。您面临的主要问题是什么?您是否需要有关DNS和/或网络路由的帮助,如果您将命名问题与路由问题分开,这可能是两个相当复杂的问题。
bmike

感谢您的快速答复!如果我把太多细节弄糊涂了,对不起。没有路由问题,只有DNS问题。启用WiFi(en0-低优先级)时,由以太网(en2-最高优先级)设置的DNS设置将被覆盖。开启WiFi时的最高路由优先级。我在苹果论坛上也曾问过这个问题,建议在WiFi DNS设置中手动包括本地DNS。但是,我仍然不明白为什么启用en0时en2设置的本地DNS设置会被覆盖
Steve Jackson

Answers:


1

我认为每个设备的DNS设置都是独立的,因此您需要在系统偏好设置的“高级”选项卡中为每个NIC(en0,en1等)配置DNS。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.