在计算机网络配置中,DNS(域名系统)扮演着将人类可读的域名转换为机器可识别的IP地址的关键角色,为确保网络连接的稳定性和可靠性,正确配置首选DNS和备用DNS服务器至关重要,本文将详细介绍通过命令行设置首选DNS和备用DNS的方法、适用场景及注意事项,帮助用户高效管理网络配置。

DNS服务器的基本概念
DNS服务器是互联网的电话簿,当用户在浏览器中输入域名时,DNS服务器会返回对应的IP地址,从而实现域名与IP地址的映射关系,首选DNS是系统默认使用的DNS服务器,而备用DNS则在首选DNS不可用时提供冗余支持,避免因单一DNS故障导致的网络中断。
Windows系统下的DNS设置命令
在Windows系统中,可通过命令提示符(CMD)或PowerShell设置DNS服务器,常用命令为netsh,支持动态和静态IP配置下的DNS修改。
静态IP环境下的DNS设置
若网络使用静态IP,需结合netsh interface ip set dns命令完成配置,将首选DNS设置为8.8.8.8,备用DNS设置为8.8.4.4:
netsh interface ip set dns name="以太网" source=static address=8.8.8.8 register=primary netsh interface ip add dns name="以太网" address=8.8.4.4 index=2
参数说明:

name:网络接口名称(可通过netsh interface show interface查询)source=static:指定静态IP模式address:DNS服务器IP地址index=2:表示备用DNS(索引1为首选)
动态IP环境下的DNS设置
对于动态获取IP的用户,需先释放并续租IP,再设置DNS:
ipconfig /release ipconfig /renew netsh interface ip set dns name="WLAN" source=dhcp
若需手动覆盖DHCP分配的DNS,可使用:
netsh interface ip set dns name="WLAN" source=static address=1.1.1.1
验证DNS配置
执行ipconfig /all命令,查看“DNS服务器”项是否显示配置的IP地址,也可通过nslookup测试域名解析是否生效。
Linux系统下的DNS设置命令
Linux系统通常通过修改网络配置文件或使用nmcli(NetworkManager命令行工具)设置DNS。

使用nmcli命令(适用于Ubuntu/CentOS等现代发行版)
# 设置首选DNS nmcli con mod "ens33" ipv4.dns "8.8.8.8" # 添加备用DNS nmcli con mod "ens33" +ipv4.dns "8.8.4.4" # 重启网络连接 nmcli con down "ens33" && nmcli con up "ens33"
直接修改配置文件(如/etc/resolv.conf)
临时生效(重启后可能失效):
echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 8.8.4.4" >> /etc/resolv.conf
DNS设置的最佳实践
- 选择可靠的公共DNS:如Google DNS(8.8.8.8/8.8.4.4)、Cloudflare DNS(1.1.1.1/1.0.0.1)等,避免使用来源不明的DNS服务器。
- 企业环境注意事项:企业网络应优先使用内部DNS服务器,备用DNS可配置公共DNS以应对内部故障。
- 定期测试冗余性:通过断开首选DNS网络,验证备用DNS是否能自动切换。
常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| DNS解析失败 | DNS服务器配置错误 | 检查IP地址拼写,尝试更换公共DNS |
| 网络时延高 | DNS响应慢 | 切换至低延迟DNS(如Cloudflare) |
FAQs
Q1: 如何恢复系统默认DNS设置?
A: 在Windows中,执行netsh interface ip set dns name="接口名" source=dhcp即可恢复DHCP分配的DNS;Linux系统下删除/etc/resolv.conf中的手动配置,或通过nmcli con mod "接口名" ipv4.dns ""清除。
Q2: 设置多个备用DNS时是否有顺序要求?
A: 是的,系统按索引顺序依次尝试DNS服务器,索引1(首选)优先,索引2(备用1)次之,依此类推,建议将最可靠的DNS设为首选,其余按可靠性降序排列。