Mic*_*out 2 networking dns dhcp dnsmasq macos
我正在尝试使用 dnsmasq 使用其配置来解析某些已知域,但让其余请求通过 DHCP 分配的普通 DNS 服务器。我不能让它工作。当我通过网络面板将 DNS 设置为 127.0.0.1 时,我必须将 DHCP 分配的 DNS 服务器硬编码为 dnsmasq 的配置。但是,当我在不同的网络上时,例如在工作中,在客户端,这些地址是不同的。每当我改变网络时,我都必须重新配置。
如何配置 OS X 以使用 127.0.0.1 和通过 DHCP 分配的任何 DNS 服务器?
如果这是不可能的,那么我如何告诉 dnsmasq 通过 DHCP 获取上游 DNS 服务器?
这是我目前所知道的。
OS X 上的 /etc/resolv.conf 是动态的,它会根据您在网络首选项中设置的内容或使用 DHCP 进行更改。它会在您重新连接时随时更改。当您离线时,它甚至会被删除。所以一旦我使用 127.0.0.1 这就会反映在 /etc/resolv.conf 中,我不知道是否有任何地方可以找到以前 DHCP 分配的 DNS 地址。
OS X 不使用 /etc/resolv.conf.head。
OS X 不使用 /etc/dhclient.conf,您可以在其中将 DNS 服务器添加到 DHCP 提供的列表中。
/etc/resolver/tld.conf 不是一个解决方案,因为它会尝试使用基于匹配 tld 的 DNS 服务器(如果您使用 .dev 或其他内容会很好)。
编辑:有网络DNS的设置截图这里看起来像我想要的,但我不知道这篇文章的作者是如何实现的。
首先,使用 127.0.0.1 和 DHCP 分配的 DNS 服务器将无法工作。如果 OS X 配置了多个 DNS 服务器,它不会按顺序尝试它们,它更像是轮询——或多或少地随机向不同的服务器发送不同的请求。最终结果:您希望由 dnsmasq 处理的某些查找将转到常规服务器(并得到错误的结果),而您希望发送到常规服务器的某些查找将转到 dnsmasq(并失败)。不好。
告诉 dnsmasq 使用 DHCP 提供的 DNS 服务器可能是可能的,但我没有看到一种干净的方法来做到这一点。相反,我建议使用 DNS 配置,该配置覆盖您想要特别处理的域的常规 DNS 配置。有两种选择:
归档时间: |
|
查看次数: |
3310 次 |
最近记录: |