修改服务器DNS地址是优化网络性能、解决域名解析故障以及提升安全性的关键运维步骤,无论是Windows还是Linux系统,操作的核心在于正确修改网络适配器的配置文件或界面设置,并确保修改在重启后依然生效,通过将DNS更改为更高效或更安全的公共解析服务(如阿里云、腾讯云或Google Public DNS),可以有效降低访问延迟,并避免因本地ISP解析异常导致的网站无法访问问题。

Windows Server系统DNS修改方案
在Windows Server环境中,修改DNS通常通过图形化界面或命令行工具完成,前者适合单次操作,后者适合脚本化批量部署。
图形界面配置法
这是最直观的方法,通过服务器管理器或直接访问“控制面板”进入“网络和共享中心”,点击左侧的“更改适配器设置”,找到当前正在使用的网络连接(通常是以太网或本地连接)。右键点击该连接并选择“属性”,在弹出的列表中双击“Internet 协议版本 4 (TCP/IPv4)”,在打开的属性窗口中,选择“使用下面的DNS服务器地址”,在“首选DNS服务器”栏中输入高效的DNS IP,例如国内常用的5.5.5(阿里云DNS)或29.29.29(腾讯云DNS),在“备用DNS服务器”中输入114.114.114作为冗余备份,设置完成后,点击确定保存更改。
PowerShell命令行配置法
对于追求效率的专业运维人员,使用PowerShell是更佳选择,以管理员身份运行PowerShell,使用Get-NetAdapter命令查看网卡索引,使用Set-DnsClientServerAddress命令进行修改,若网卡索引为12,命令如下:
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses "223.5.5.5","114.114.114.114"
此方法能瞬间完成配置,且适合编写脚本进行自动化运维。
Linux系统DNS修改方案
Linux系统的DNS修改相对复杂,因为不同发行版使用的网络管理服务不同,主要分为基于NetworkManager的修改和直接修改配置文件两种方式。
CentOS/RHEL系统(使用nmcli工具)
在现代版本的CentOS(如7、8、9及Stream版本)中,推荐使用nmcli命令行工具,因为它能确保修改被NetworkManager识别并持久化。
使用nmcli connection show查看当前网络连接的名称,假设连接名称为System eth0,执行以下命令:
nmcli connection mod "System eth0" ipv4.dns "223.5.5.5 114.114.114.114"
nmcli connection up "System eth0"
第一行命令修改DNS配置,第二行命令重启连接使配置生效。切勿直接编辑/etc/resolv.conf文件,因为在NetworkManager管理的系统中,该文件通常会被自动覆盖,导致手动修改失效。

Ubuntu/Debian系统(使用Netplan或resolvconf)
对于Ubuntu 18.04及更高版本,系统默认使用Netplan进行网络管理,配置文件通常位于/etc/netplan/目录下,后缀为.yaml,编辑对应的YAML文件,在nameservers部分添加DNS地址:
nameservers: addresses: [223.5.5.5, 114.114.114.114]
保存后,执行sudo netplan apply使配置生效。
对于较旧的版本或未使用Netplan的环境,可以通过安装resolvconf包来管理DNS,或者编辑/etc/network/interfaces文件,在网卡配置块中添加dns-nameservers 223.5.5.5 114.114.114.114。
验证与故障排除
修改完成后,验证DNS是否生效是必不可少的步骤,在Windows中,打开CMD或PowerShell,输入nslookup www.baidu.com,在Linux中,使用dig www.baidu.com或nslookup www.baidu.com命令,观察返回的Server地址是否为新设置的DNS地址,以及能否成功解析出目标IP。
如果解析失败,首先检查TCP/IP协议栈是否正常,尝试使用ping 8.8.8.8测试纯IP连通性,如果IP能通但域名不通,说明DNS配置有误或DNS服务器本身宕机,应检查防火墙设置,确保UDP 53端口(DNS查询端口)未被阻止,Linux用户需检查/etc/resolv.conf文件的权限,防止被其他程序锁定。
专业的DNS优化建议
在选择DNS服务器时,不应盲目跟风,对于部署在中国大陆境内的服务器,优先选择国内运营商或云厂商提供的公共DNS,如阿里云(223.5.5.5)或腾讯云(119.29.29.29),这类DNS服务器在国内节点丰富,解析延迟极低,且通常具备防劫持功能,对于有海外业务需求的服务器,可以采用“混合DNS策略”,即首选国内DNS,备用Google(8.8.8.8)或Cloudflare(1.1.1.1)DNS,以兼顾国内外解析速度。

对于高并发、高可用的企业级应用,建议在服务器本地搭建DNS缓存服务(如dnsmasq或bind9),将服务器的DNS指向自身(127.0.0.1),由本地缓存服务转发请求至上游DNS,这能大幅减少重复域名解析的网络开销,显著提升业务响应速度。
相关问答
Q1:修改服务器DNS后,网站依然无法打开,可能是什么原因?
A:这通常不是DNS本身的问题,而是DNS缓存或本地解析库的问题,尝试清除客户端本地DNS缓存(Windows使用ipconfig /flushdns),检查服务器端的/etc/hosts文件(Linux)或C:\Windows\System32\drivers\etc\hosts文件(Windows),确认其中没有错误的域名绑定记录,确认目标域名是否已正确备案且DNS解析记录已在域名服务商处生效。
Q2:为什么在Linux中直接修改/etc/resolv.conf文件,重启后DNS会恢复原状?
A:这是因为现代Linux发行版大多使用NetworkManager或systemd-resolved服务来动态管理网络配置,这些服务会在网络重启或系统重启时,根据自身的配置逻辑重新生成/etc/resolv.conf文件,从而覆盖您的手动修改,正确的做法是使用nmcli、netplan或修改网卡配置文件来进行持久化设置。
希望以上方案能帮助您顺利完成服务器DNS的配置与优化,如果您在操作过程中遇到特定系统版本的疑难问题,欢迎在评论区留言,我们将为您提供更具体的排查思路。

















