在日常的网络管理和故障排查中,我们有时需要手动修改计算机的DNS(域名系统)服务器地址,虽然通过图形界面操作很直观,但对于需要快速、批量或自动化配置的场景,使用命令行则更为高效,许多用户习惯性地将Windows的命令提示符称为“DOS”,尽管技术上它们是不同的,但本文将遵循这一习惯,详细介绍如何在Windows命令提示符(CMD)环境中修改DNS设置。

准备工作:以管理员身份运行命令提示符
在进行任何网络相关的修改之前,最关键的一步是获取管理员权限,因为修改网络配置属于系统级操作,普通权限用户无法执行。
- 点击“开始”菜单或按
Win键。 - 输入
cmd或命令提示符。 - 在搜索结果中,右键点击“命令提示符”,然后选择“以管理员身份运行”。
- 在弹出的用户账户控制(UAC)窗口中,点击“是”。
成功打开后,您会看到一个标题栏中含有“管理员:”字样的黑色窗口,这表明您已拥有执行高级命令的权限。
第一步:查看网络连接名称
在修改DNS之前,我们必须知道要修改的是哪个网络连接的DNS,您可能是通过“以太网”(有线连接)或“WLAN”(无线连接)上网。
在管理员命令提示符窗口中,输入以下命令并按回车:
netsh interface show interface
执行后,系统会列出您所有的网络接口,找到您正在使用的连接,并记下它的“接口名称”,这个名称是后续操作的关键,请务必准确记录,通常它就是“以太网”或“WLAN”。
第二步:使用 netsh 命令设置静态DNS
netsh(Network Shell)是Windows中一个功能强大的命令行工具,用于显示和修改网络配置,我们将使用它来设置DNS。
设置首选DNS服务器
命令格式为:netsh interface ip set dns "接口名称" static DNS地址 primary
请将命令中的 "接口名称" 替换为您在上一步中查到的实际名称,将 DNS地址 替换为您想使用的DNS服务器IP。

要将“以太网”连接的首选DNS设置为Google的公共DNS(8.8.8),命令如下:
netsh interface ip set dns "以太网" static 8.8.8.8 primary
设置备用DNS服务器
为了提高网络解析的可靠性,通常还需要设置一个备用DNS,命令格式为:netsh interface ip add dns "接口名称" DNS地址 index=2
继续上面的例子,我们将备用DNS设置为Google的第二个公共DNS(8.4.4):
netsh interface ip add dns "以太网" 8.8.4.4 index=2
执行完这两条命令后,您的“以太网”连接的DNS就已经成功修改了,您可以打开网络和Internet设置,在更改适配器选项中查看对应连接的属性,验证DNS是否已更新。
常用公共DNS服务器推荐
选择一个合适的DNS服务器可以提升上网速度、增强安全性或实现特定功能(如家长控制),以下是一些广受好评的公共DNS服务:
| 提供商 | 首选DNS | 备用DNS | 特点 |
|---|---|---|---|
| Google DNS | 8.8.8 | 8.4.4 | 速度快,稳定,全球可用 |
| Cloudflare DNS | 1.1.1 | 0.0.1 | 强调隐私和安全,速度快 |
| 阿里DNS | 5.5.5 | 6.6.6 | 针对中国大陆用户优化,解析快 |
| 腾讯DNSPod | 29.29.29 | 254.116.116 | 国内服务,稳定,防劫持 |
第三步:恢复为自动获取DNS
如果您希望恢复由路由器或ISP自动分配DNS地址,同样可以使用netsh命令。
命令格式为:netsh interface ip set dns "接口名称" dhcp
要恢复“以太网”连接的自动获取DNS设置:

netsh interface ip set dns "以太网" dhcp
执行此命令后,系统会自动清除之前手动设置的DNS服务器地址,并改为通过DHCP协议动态获取。
小编总结与注意事项
通过命令行修改DNS是一种高效且强大的方法,尤其适合技术人员和需要进行批量操作的用户,它不仅速度快,而且可以被写入批处理脚本(.bat文件),实现一键配置。
在操作时,请务必注意以下几点:
- 权限问题:始终确保以管理员身份运行命令提示符。
- 名称准确性:网络接口名称必须用英文双引号括起来,且内容与系统中显示的完全一致。
- 命令拼写:仔细检查
netsh命令的拼写和参数,错误的命令可能导致网络连接中断,如果不慎出错,可以通过恢复自动获取DNS或重启计算机来尝试解决。
掌握这一技能,您将能更灵活地管理和控制自己的网络环境。
相关问答FAQs
问题1:为什么我输入命令后提示“请求的操作需要提升”? 解答: 这个提示意味着您当前的命令提示符窗口没有管理员权限,修改网络配置属于系统级敏感操作,必须由管理员账户执行,请关闭当前的命令提示符窗口,然后按照本文开头介绍的方法,通过右键“以管理员身份运行”重新打开一个,再输入命令即可。
问题2:除了 netsh,还有其他方法在命令行中修改DNS吗?
解答: 是的,在更现代的Windows系统(如Windows 10和Windows 11)中,可以使用功能更强大的PowerShell,PowerShell提供了更清晰、更面向对象的命令,要将“以太网”的DNS设置为Google的,可以使用以下命令:
Set-DnsClientServerAddress -InterfaceAlias "以太网" -ServerAddresses "8.8.8.8","8.8.4.4"
这条命令可以一次性设置首选和备用DNS,同样需要以管理员身份运行PowerShell,对于习惯脚本化管理的用户来说,PowerShell是netsh的一个优秀替代方案。