在 OS X Leopard 上scutil
,
$ scutil --dns
DNS configuration
resolver #1
nameserver[0] : 192.168.1.1
nameserver[1] : 192.168.2.1
order : 200000
resolver #2
domain : local
options : mdns
timeout : 2
order : 300000
...
现在,我如何删除第一个“解析器#1”并用我选择的 DNS 服务器替换?
背景:VPN 客户端在连接时设置了这个虚假的 DNS 条目,替换了我的有效 DNS 设置。我还没能弄清楚如何阻止它这样做(看这里),所以现在我试图在连接后删除这个不需要的效果。执行此操作的命令行脚本将是完美的。
我sudo scutil
按照说明尝试过这里,但没有什么效果——scutil --dns
仍然报告设置未改变,DNS解析仍然不起作用。修改/etc/resolv.conf
对OS X没有影响。
答案1
要在命令行上临时覆盖,您可以执行以下操作:
sudo networksetup -setdnsservers Wi-Fi <dnsserver1ip> <dnsserver2ip>
并使用以下方法重置设置:
sudo networksetup -setdnsservers Wi-Fi empty
如果连接到 Wi-fi 以外的其他接口,您可以使用以下方法检查有效名称:
sudo networksetup -listallnetworkservices
答案2
根据我的经验,如果您在“网络偏好设置”中指定特定的 DNS 服务器,即使您使用 DHCP,Mac OS 也会优先使用该服务器,而不是通过 DHCP 获得的服务器。因此,如果您始终想使用 192.168.1.1,请明确输入该服务器。
系统偏好设置 -> 网络 -> 以太网(左窗格)应生成一个窗口,其中有一个“DNS 服务器:”文本框,您可以在其中填写所需 DNS 服务器的 IP 地址。单击“应用”以应用更改,然后您就完成了;您不必再次进行此更改。(如果您的 VPN 连接是 WiFi 而不是以太网,那么您应该单击它而不是上面的以太网。)
答案3
嗯,据我所知,大多数 VPN 连接都能够将 DNS 服务器推送到 VPN 客户端。我的建议是要求您的 VPN 提供商不要为您的连接推送 DNS 服务器。请注意,这可能会对您的 VPN 会话产生一些负面影响。
答案4
在当前(2024)版本的 OSX 中,系统设置中网络“详细信息...”按钮下的“限制 IP 地址跟踪”选项可能会弄乱 DNS 解析。
当“限制 IP 地址跟踪”处于开启状态时,DNS 解析可能无法在本地网络上按预期工作。
关闭“限制 IP 地址跟踪”来调试 DNS 解析。