如何从 Mac OS X 的命令行更改 DNS
高级 Mac 用户可能会发现了解 OS X 中的 DNS 服务器可以从命令行设置而无需转向系统偏好设置网络控制面板很有用。虽然 GUI 网络控制面板无疑是大多数 Mac 用户最简单的方法,但命令行方法为许多用例提供了好处,特别是对于故障排除、进行临时 DNS 更改以及使用 ssh 进行远程管理。
要从 OS X 的命令行更改 DNS 设置,您将使用非常有用的“networksetup”命令。虽然网络设置有许多高级和复杂的用途,但设置 DNS 实际上非常简单。
如何使用网络设置从OS X命令行设置DNS服务器
networksetup命令在所有隐约现代版本的Mac系统软件中都有。您将使用 -setdnsservers 标志,将其指向网络服务,然后包括 DNS IP,这可能如下所示:
networksetup -setdnsservers(网络服务)(DNS IP)
例如,要将带wi-fi的Mac设置为谷歌DNS 8.8.8.8,语法为:
networksetup -setdnsservers Wi-Fi 8.8.8.8
如果需要,您可以设置多个DNS 服务器,这将在第一台或第二台服务器无法访问时启用回退。例如,这将为前两个 DNS 服务器设置 OpenDNS,并将 Google DNS 设置为第三个回退:
networksetup -setdnsservers Wi-Fi 208.67.222.222 208.67.220.220 8.8.8.8
这只是DNS服务器的一个例子,不一定是普遍的推荐。如果您想要更改您的服务器,值得通过 NameBench 等应用程序找到最快的 DNS 服务器,这些应用程序执行基准测试以确定哪个 DNS 对您的特定位置最快。
如何使用网络设置清除所有DNS服务器
这与刷新DNS 缓存不同,这只是删除任何现有的自定义DNS 服务器设置。如果您想从路由器、调制解调器或类似情况回退到 DHCP 提供的 DNS,这会很有帮助:
networksetup -setdnsservers Wi-Fi
与设置DNS一样,删除DNS可能需要您在进行调整后刷新DNS缓存,具体取决于您要执行的操作。
使用网络设置检查DNS设置
您还可以通过在networksetup 中使用-getdnsservers 标志来检查现有的DNS 设置,这将报告当前的DNS 设置,如果有的话:
networksetup -getdnsservers Wi-Fi 8.8.8.8
更改和自定义 DNS 可以有多种用途,从加速查找到寻找更可靠的服务器,再到更改为备用提供商以在传播过程中执行详细查找,以及许多其他情况。