在浩瀚的数字海洋中,域名系统(DNS)扮演着互联网“电话簿”的关键角色,它负责将我们易于记忆的网址(如 www.google.com)翻译成机器能够理解的 IP 地址(如 250.196.68),默认情况下,我们的设备会使用互联网服务提供商(ISP)分配的 DNS 服务器,出于提升网速、增强安全性、绕过地域限制或保护隐私等目的,手动更换 DNS 服务器是一个常见且有效的优化手段,本文将详细介绍在不同操作系统中通过命令行更换 DNS 的方法,并提供相关的实用信息。

Windows 系统下的 DNS 更换命令
在 Windows 系统中,除了通过图形界面修改网络适配器设置外,使用 netsh(Network Shell)命令是一种更为快捷和自动化的方式,尤其适合技术爱好者和需要进行批量配置的场景。
准备工作:查看网络连接名称
在执行命令前,首先需要知道你的网络连接名称,打开命令提示符(CMD)或 PowerShell(管理员模式),输入以下命令:
netsh interface show interface
在输出的列表中,找到你正在使用的连接名称,以太网”或“WLAN”,记下这个名称,后续命令将需要用到它。
设置 DNS 服务器
假设你的网络连接名称是“以太网”,我们以将其更改为 Google DNS(8.8.8 和 8.4.4)为例。
-
设置首选 DNS 服务器: 在管理员模式的命令提示符中输入:
netsh interface ip set dns "以太网" static 8.8.8.8 primarynetsh interface ip set dns:指定要设置 DNS。"以太网":你的网络连接名称,请用双引号括起来。static:表示设置静态 IP 地址的 DNS。8.8.8:首选 DNS 服务器的 IP 地址。primary:表明这是主 DNS 服务器。
-
设置备用 DNS 服务器: 输入以下命令添加备用 DNS:
netsh interface ip add dns "以太网" 8.8.4.4 index=2add dns:表示添加一个额外的 DNS 服务器。8.4.4:备用 DNS 服务器的 IP 地址。index=2:指定该 DNS 服务器的优先级为第二。
执行完毕后,你的 Windows 系统就已成功通过命令行更换了 DNS。
macOS 系统下的 DNS 更换命令
macOS 系统同样提供了强大的命令行工具 networksetup 来管理网络设置,其功能与图形界面下的“系统偏好设置”完全对应。
准备工作:查看网络服务名称
打开“终端”(Terminal)应用,输入以下命令来列出所有可用的网络服务:
networksetup -listallnetworkservices
你会看到一个列表,Wi-Fi”、“以太网”等,记下你想要修改的服务名称。

设置 DNS 服务器
假设你要修改“Wi-Fi”服务的 DNS,同样以 Google DNS 为例,在终端中输入以下命令:
sudo networksetup -setdnsservers "Wi-Fi" 8.8.8.8 8.8.4.4
sudo:表示以管理员权限执行命令,执行后需要输入你的电脑登录密码。networksetup:macOS 的网络设置命令工具。-setdnsservers:指定要设置 DNS 服务器的操作。"Wi-Fi":你的网络服务名称。8.8.8 8.8.4.4:依次输入首选和备用 DNS 服务器的 IP 地址,用空格隔开。
如果你希望恢复为自动获取 DNS,可以使用以下命令:
sudo networksetup -setdnsservers "Wi-Fi" "Empty"
Linux 系统下的 DNS 更换命令
Linux 系统的生态较为多样,不同的发行版和桌面环境可能采用不同的网络管理工具,这里介绍两种主流方法:临时修改和通过 NetworkManager 持久修改。
临时修改(适用于所有发行版)
这是最快但非永久的方法,重启或网络服务重启后可能会失效,直接编辑 /etc/resolv.conf 文件。
- 使用文本编辑器(如
nano或vim)打开文件:sudo nano /etc/resolv.conf - 将文件中原有的
nameserver行注释掉(在行首添加 ),然后添加新的 DNS 服务器地址:#nameserver 192.168.1.1 nameserver 8.8.8.8 nameserver 8.8.4.4 - 保存文件并退出,修改会立即生效。
注意:在现代 Linux 发行版中,/etc/resolv.conf 通常由网络管理服务(如 systemd-resolved 或 NetworkManager)自动管理,手动修改可能会被覆盖,此方法仅用于临时测试。
使用 nmcli 持久修改(适用于使用 NetworkManager 的发行版,如 Ubuntu, Fedora, CentOS)
nmcli(NetworkManager Command-Line Interface)是一个强大且推荐的命令行工具。
-
查看网络连接名称:
nmcli connection show找到你正在使用的连接名称,
Wired connection 1或My-WiFi。 -
修改 DNS 设置: 假设连接名称为
Wired connection 1,使用以下命令:nmcli con mod "Wired connection 1" ipv4.dns "8.8.8.8 8.8.4.4"con mod:是connection modify的缩写。ipv4.dns:指定要修改的 IPv4 DNS 设置。
-
应用更改并重启连接:

nmcli con up "Wired connection 1"执行后,DNS 设置就会被永久保存,并在下次连接时自动应用。
常用公共 DNS 服务器推荐
选择一个合适的 DNS 服务器至关重要,以下是一些广受好评的公共 DNS 服务提供商:
| DNS 提供商 | 主 DNS | 备用 DNS | 特点 |
|---|---|---|---|
| Google DNS | 8.8.8 | 8.4.4 | 速度快,稳定,全球分布广泛 |
| Cloudflare DNS | 1.1.1 | 0.0.1 | 强调隐私保护,速度快,无日志记录 |
| Quad9 DNS | 9.9.9 | 112.112.112 | 自动拦截已知恶意网站,安全性高 |
| OpenDNS | 67.222.222 | 67.220.220 | 提供家庭保护选项,可过滤成人内容 |
| 阿里 DNS | 5.5.5 | 6.6.6 | 针对中国大陆用户优化,解析速度快 |
如何验证 DNS 更换是否成功
更换 DNS 后,你需要验证设置是否生效,最常用的工具是 nslookup 或 dig。
在 Windows、macOS 或 Linux 的终端/命令提示符中,输入以下命令:
nslookup google.com
查看命令输出的第一部分,它会显示为你解析该域名的 DNS 服务器地址,如果显示的是你刚刚设置的新 DNS 地址(8.8.8),那么恭喜你,更换成功了。
相关问答 FAQs
Q1: 更换 DNS 有风险吗?会影响网络安全吗?
A: 更换 DNS 本身是一个安全且低风险的操作,选择信誉良好的公共 DNS 服务商(如 Google、Cloudflare)通常比使用 ISP 默认的 DNS 更安全,因为它们可能提供更好的恶意网站拦截功能,唯一的潜在风险是,如果你所在的网络环境(如公司或学校)有特定的网络策略,强制使用内部 DNS,那么自行更换可能会导致无法访问内部资源,在这种情况下,只需将 DNS 设置恢复为“自动获取”即可。
Q2: 为什么我更换了更快的 DNS,但感觉上网速度没有明显提升,甚至变慢了?
A: DNS 的作用是域名解析,它只影响你访问一个新网站时的初始连接速度(即从输入网址到网站开始加载的时间),它并不影响你的实际下载、上传速度或视频缓冲速度,如果感觉变慢,可能是因为:1)你选择的 DNS 服务器地理位置离你较远,网络延迟高;2)该 DNS 服务器当前负载较高或出现拥堵,建议尝试不同服务商的 DNS,选择一个解析延迟最低且最稳定的,可以使用 ping 8.8.8.8 这样的命令来测试到 DNS 服务器的网络延迟。