![如何在 OS X 10.9 上阻止来自 DHCP 的 DNS?](https://linux22.com/image/1424639/%E5%A6%82%E4%BD%95%E5%9C%A8%20OS%20X%2010.9%20%E4%B8%8A%E9%98%BB%E6%AD%A2%E6%9D%A5%E8%87%AA%20DHCP%20%E7%9A%84%20DNS%EF%BC%9F.png)
我一直在尝试使用 ice floor 和 openvpn 配置我的 MacBook (10.9),以防止来自我的真实 IP 的出站连接。因此,我必须允许我的真实 IP 和 OpenDNS 之间的连接,以便能够连接到我的 VPN。一切正常,但当我断开 Wi-Fi 连接或计算机重新启动/唤醒时,它无法连接到 VPN,因为系统会向 DHCP 分配的 DNS(在我的情况下是 shaw)发送查询,而这些查询被我的防火墙阻止。当禁用/启用 Wi-Fi 接口时,它会再次工作,因为 DNS 查询会发送到 OpenDNS。我真的不明白。
那么,我如何强制系统使用手动 DNS 并且永远不使用来自 DHCP 的 DNS?
谢谢
编辑:更多信息
当 OpenVPN 无法连接时(对这些服务器的查询被防火墙阻止):
localhost:~ Charlie$ scutil --dns DNS 配置
解析器 #1 名称服务器[0] : 64.59.144.92 名称服务器[1] : 64.59.150.138 if_index : 4 (en0) 标志 : 请求 A 记录 到达 : 可达
但是网络设置显示 OpenDNS 而不是那些。
当一切正常时,上述命令将返回 OpenDNS 服务器。
答案1
如果您大多数情况下都在同一个网络上,则只需转到系统Preferences > Network
并将 Wifi 从 DHCP 更改为手动。
这样,您只需输入一次正确的信息,并且只在访问“某些”网络时处理问题,因为大多数路由器都具有相同的 IP(192.168.1.1)。最好将您的 IP 设置为 192.168.1.240,因为您很少会找到具有如此高 IP 地址的计算机。
答案2
看起来像编辑 openvpn 配置文件,添加
push "dhcp-option 208.67.222.222"
与其他 DNS 相同的操作也解决了这里的问题。