OSX - 对不同的网络接口使用不同的 DNS

OSX - 对不同的网络接口使用不同的 DNS

我有一台 OSX Mountain Lion 系统,如果可能的话,我需要为不同的网络使用不同的 DNS 服务器。我将解释我的情况:

我在工作。我已连接到工作网络(通过以太网)和个人网络(通过 wifi),系统偏好设置中的连接顺序如下:

1.WIFI (en0)
2.ETHERNET (en2)

...因为我想默认使用WIFI。

这在 IP 级别上工作正常。我可以上网,并且可以访问工作 IP。但在 DNS 级别上却不行。如果我尝试 nskookup,DNS 始终是 WIFI 网络分配的 DNS,如果我尝试访问工作地址(由工作 DNS 解析),它始终使用 WIFI DNS。

有没有办法强制 en2 接口使用新的 DNS?

我尝试添加解析器配置。假设工作 IP 地址为 10.xxx,搜索域为“ginger”,这是我的文件“/etc/resolver/ginger”:

domain ginger
nameserver 10.0.0.70
nameserver 10.0.0.71
nameserver 156.1.1.1
nameserver 156.1.1.2

我不知道它是否正确,以及是否可以使用解析器配置做我想做的事情。

谢谢。

答案1

如果您的工作网络中的域与 Internet 上的域不同,您应该能够配置 DNS 服务器来执行此操作。

但是,在真正理解如何配置 DNS 之前,您可能需要一些时间来了解 DNS 的工作原理。

尝试阅读绑定文档。

基本配置如下: 1. 在您的 PC 上安装 DNS 服务器(比如 bind)。 2. 将其配置为递归服务器,从您的工作网络中的 DNS 递归解析 domain1.com、domain2.com(假设 domain1.com 和 domain2.com 是您工作网络中的域),并从 Internet DNS 递归解析其他域。

答案2

我也遇到了同样的问题这个答案解决了。

简而言之:您可以创建一个位置列表(在网络偏好设置中),每个位置都保留自己的网络设置(包括 DNS 服务器)。

相关内容