在网络世界中,域名系统(DNS)扮演着“互联网电话簿”的关键角色,它负责将我们易于记忆的域名(如www.google.com)翻译成机器能够理解的IP地址,一个稳定、快速的DNS服务器是保障流畅上网体验的基础,我们的计算机会配置两个DNS服务器地址:一个主要DNS和一个备用DNS,当主要DNS服务器无法响应时,系统会自动切换到备用DNS,从而确保网络连接的连续性。

虽然通过图形界面(GUI)设置DNS非常直观,但对于高级用户、系统管理员或需要进行批量配置的场景,使用命令提示符(CMD)则显得更为高效和强大,本文将详细介绍如何通过CMD来配置备用DNS,以及相关的实用技巧。
为什么选择CMD配置DNS?
通过命令行操作DNS配置,具有以下几个显著优势:
- 高效快捷:无需点击多层菜单,一行命令即可完成设置,大大节省时间。
 - 脚本化与自动化:可以将命令写入批处理文件(.bat),实现一键配置多台电脑,或在不同DNS方案间快速切换。
 - 精准控制:命令行提供了比图形界面更细致的选项,例如可以精确地只设置备用DNS而不影响主要DNS。
 - 远程管理与故障排查:在远程桌面连接或某些无法使用图形界面的环境下,CMD是唯一的配置手段。
 
准备工作:查看当前网络接口与DNS设置
在进行任何修改之前,首先需要了解当前的网络配置信息,我们需要知道网络连接的名称(即“接口名称”)。
- 打开命令提示符(管理员),按下
Win + X键,然后选择“Windows PowerShell (管理员)”或“命令提示符 (管理员)”。 - 输入以下命令并回车,查看所有网络接口的详细信息:
ipconfig /all - 在输出的信息中,找到你正在使用的网络连接(以太网”或“WLAN”),记下其“描述”或“DNS 服务器”条目下的当前地址,接口名称通常是中文或英文,如“以太网”、“WLAN”、“Ethernet”等。
 
为了更精确地获取接口名称,可以使用以下命令:
netsh interface show interface
这会列出所有接口的“Idx”(索引)和“Admin State”(管理状态)以及“接口名称”,名称会完整显示,方便复制。
核心操作:使用netsh命令设置备用DNS
netsh(Network Shell)是Windows中一个功能强大的网络配置命令行工具,设置DNS地址主要使用netsh interface ip set dns命令。
其基本语法结构如下:
netsh interface ip set dns "[接口名称]" static [DNS地址] index=[索引值]

关键参数解释:
- [接口名称]:上一步中查到的网络连接名称,必须用英文双引号括起来,特别是当中文名称包含空格时。
 - static:表示手动设置一个静态的IP地址,与之相对的是
dhcp(动态获取)。 - [DNS地址]:你想要设置的DNS服务器的IP地址。
 - index=[索引值]:这是设置备用DNS的核心。
index=1代表主要DNS,index=2则代表备用DNS。 
操作示例:假设我们要为名为“以太网”的连接,将Cloudflare的备用DNS(1.0.0.1)设置为备用DNS。
- 
通常建议先设置一个主要DNS,将Cloudflare的主要DNS(1.1.1.1)设为主要:
netsh interface ip set dns "以太网" static 1.1.1.1 primary(注:使用
primary参数等同于index=1,更易理解) - 
执行以下命令来设置备用DNS:
netsh interface ip add dns "以太网" 1.0.0.1 index=2(注:这里使用
add dns命令来添加第二个DNS,效果与set dns ... index=2相同,且更符合逻辑) 
执行完毕后,可以再次运行ipconfig /all命令,你会在“DNS 服务器”下看到两个地址,第一个是主要DNS,第二个就是刚刚设置的备用DNS。

常用公共DNS服务器推荐
选择一个可靠的公共DNS服务器至关重要,以下是一些广受好评的选择:
| 提供商 | 主要DNS | 备用DNS | 特点 | 
|---|---|---|---|
| Cloudflare | 1.1.1 | 0.0.1 | 速度快,注重隐私,安全性能高 | 
| 8.8.8 | 8.4.4 | 稳定可靠,全球覆盖广泛 | |
| Quad9 | 9.9.9 | 112.112.112 | 自动阻止已知恶意网站,安全性强 | 
| 阿里DNS | 5.5.5 | 6.6.6 | 针对中国大陆用户优化,解析速度快 | 
如何恢复为自动获取DNS
如果你想恢复到由路由器或网络服务提供商自动分配DNS的状态,只需执行以下命令即可:
netsh interface ip set dns "以太网" dhcp
执行此命令后,系统会清除所有手动设置的DNS地址,并重新从DHCP服务器获取,这对于排查因DNS设置不当导致的网络问题非常有用。
相关问答FAQs
问题1:设置备用DNS后,为什么我的网络有时还是很慢? 解答: 备用DNS仅在主要DNS服务器完全无响应或超时的情况下才会被启用,它并不会与主要DNS进行负载均衡或智能选择,如果你的网络慢是因为主要DNS服务器本身响应迟缓(但尚未完全失效),系统依然会坚持使用主要DNS,此时备用DNS不会生效,网络慢的原因也可能是多方面的,如网络拥堵、线路问题等,需要综合排查。
问题2:index=1和index=2有什么区别?我可以只设置备用DNS(index=2)而不设置主要DNS吗?
解答: index=1代表主要DNS,是系统域名解析的首选;index=2代表备用DNS,是主要DNS失败后的备用选项,系统总是优先查询index=1,通常不建议只设置备用DNS而不设置主要DNS,因为系统在发起DNS查询时,会首先向主要DNS(index=1)发送请求,如果该位置为空,系统可能会因为找不到可用的首选DNS而直接报错,或者其行为可能因操作系统版本而异,导致不可预料的结果,正确的做法是至少设置一个主要DNS,然后再根据需要添加备用DNS以增强可靠性。