Answers:
您可以scutil
从终端进行交互使用。运行sudo scutil
并运行以下命令,在适当的地方交换DNS服务器:
>打开 > d.init > d。添加ServerAddresses * 8.8.8.8 9.9.9.9 >设置状态:/网络/服务/ PRIMARY_SERVICE_ID / DNS >退出
而不是使用8.8.8.8
和9.9.9.9
使用您的DNS服务器。
唯一的问题是,这在重新启动后并不持久。如果要永久更改,则需要ncutil。/etc/resolv.conf
在OS X的较新版本中编辑不充分的原因是因为configd现在使用数据库来存储其他应用程序读取的当前设置的信息。某些应用程序仍会读取 /etc/resolv.conf
(例如,主机),尽管并非所有应用程序都如此。
scutil --dns
用来确认。
set State:/Network/Service/PRIMARY_SERVICE_ID/DNS
还是可以原样使用?scutil --dns
更改后,新的DNS服务器是否应在输出中显示?
scutil
然后> list
找到用于替换PRIMARY_SERVICE_ID的密钥。
您可以使用networksetup
:
sudo networksetup -setdnsservers <networkservice> DNS1, DNS2, DNS3
例如(使用机场连接使用Google的DNS服务器)
sudo networksetup -setdnsservers AirPort 8.8.8.8 8.8.4.4
您可以通过运行来查找网络服务的名称networksetup -listallnetworkservices
。可能是“ Wi-Fi”。
这与您要在“系统偏好设置”的“网络偏好设置”窗格中编辑整个内容相同,因此在重新启动后将保持不变。
您可能会在Snow Leopard上遇到DNS问题,该问题是在查询DNS服务器顺序更改时发生的(请参阅问题84144))
sudo networksetup -setdnsservers <networkservice> empty
我没有足够的分数来回复Chealion的帖子,但要补充一下,我将从列出接口开始
networksetup -listallnetworkservices
有了要更改的界面后,您可以执行以下操作(我正在使用Wi-Fi,但您可以执行其他任何界面)
sudo networksetup -setdnsservers Wi-Fi empty
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
sudo killall -HUP mDNSResponder
上面的第一行将清空DNS设置,然后跟随我们要使用的DNS服务器,并仔细清除DNS缓存
要验证DNS更改,您可以在此之前,之后或之后
scutil --dns | grep 'nameserver\[[0-9]*\]'
resolv.conf在OSX上不再起作用。该文件顶部有一个通知,如下所示:
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
另外,networksetup -listallnetworkservices
不列出所有VPN接口。
这是使用scutil定位正确接口的一种方法:1. commands.txt
使用命令为交互式scutil工具创建一个文件。例如我的情况下Pulse安全接口的内容:
get State:/Network/Service/net.pulsesecure.pulse.nc.main/DNS
d.add ServerAddresses * 8.8.8.8 9.9.9.9
set State:/Network/Service/net.pulsesecure.pulse.nc.main/DNS
set
)sudo scutil < commands.txt
您应该可以通过编辑/etc/resolv.conf来做到这一点(记住resolv.conf在重启后重置),希望对您有所帮助-http: //developer.apple.com/mac/library/documentation/Darwin/Reference/ ManPages / man5 / resolver.5.html