在Linux系统中,DNS服务器的IP地址主要由/etc/resolv.conf文件定义,该文件是系统域名解析的核心配置文件。 无论是服务器还是桌面环境,确认这个文件的位置和内容,是网络配置和理解解析流程的第一步,不同操作系统对DNS IP的定义方式存在差异,Windows则通过图形界面和注册表进行管理,下面我们逐一拆解,保证你看完就能自己动手查找和修改。
哪个文件定义DNS服务器的IP?Linux与Windows的配置差异
Linux DNS配置文件路径:/etc/resolv.conf详解
/etc/resolv.conf是Linux系统里最直接的DNS配置入口,它属于文本文件,每行定义一条解析指令,最常见的格式是:
nameserver 8.8.8.8
nameserver 114.114.114.114
options timeout:2 attempts:3
nameserver:指定DNS服务器的IP地址,最多可以写三个,系统会依次尝试使用。options:设置超时时间和重试次数,避免解析卡顿。
如何查看当前DNS配置? 打开终端,执行命令:
cat /etc/resolv.conf
你会立刻看到当前系统使用的DNS服务器IP,如果文件内容为空或不存在,说明系统可能依赖NetworkManager、systemd-resolved等工具动态管理。
实际操作场景: 当你部署一台新服务器,发现无法解析域名时,第一件事就是检查这个文件,比如使用简米云或酷番云的公网DNS,直接修改文件内容:
nameserver 223.5.5.5
nameserver 223.6.6.6
修改后保存,无需重启网络服务,即可生效,但需要注意,某些发行版(如Ubuntu 18.04+采用systemd-resolved)的/etc/resolv.conf是软链接,指向/run/systemd/resolve/resolv.conf,直接修改会被覆盖,此时应通过systemd-resolve或nmcli来配置。
Windows DNS服务器IP配置在哪里?网络适配器设置
Windows系统没有单一的文本文件来定义DNS IP,而是将设置保存在网络适配器的TCP/IP属性中,底层数据存储在注册表路径HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces下。
图形界面查看步骤:
- 打开控制面板 → 网络和共享中心 → 更改适配器设置。
- 右键当前使用的网络连接(以太网或WiFi)→ 属性。
- 双击“Internet协议版本4 (TCP/IPv4)”。
- 在弹出窗口中,选择“使用下面的DNS服务器地址”,即可看到或修改首选和备用DNS。

命令行查看方法: 打开CMD,输入:
ipconfig /all
在输出结果中找到“DNS服务器”一行,会列出当前使用的所有DNS IP地址(包括通过DHCP自动获取的)。
注册表位置(进阶): 如果你需要远程批量修改,注册表路径如上所述,每个网络适配器对应一个GUID子键,其中NameServer和DhcpNameServer键值分别存储静态和动态DNS IP。
其他相关文件:/etc/hosts与/etc/nsswitch.conf
除了定义DNS服务器IP的文件,还有两个关键文件会影响解析结果。
/etc/hosts:本地域名映射表。 它的优先级通常高于DNS查询,如果某个域名在hosts文件中被指定了IP,系统就不会再去问DNS服务器,例如写入:
0.0.1 localhost
192.168.1.10 mytest.com
之后mytest.com会直接解析到内网IP,绕过DNS,这在开发测试、屏蔽恶意网站时非常有用。
/etc/nsswitch.conf:名称解析顺序配置。 该文件控制系统使用哪些服务来解析主机名,典型行内容为:
hosts: files dns
这表示先查/etc/hosts(files),再查DNS服务器(dns),如果顺序颠倒,DNS查询就会优先于本地hosts,行业共识认为,保持files在前、dns在后是标准做法,既能利用本地映射,又能通过DNS获得外部解析。
如何修改DNS服务器IP地址?实操步骤
Linux下修改DNS服务器地址的方法
根据系统环境不同,有几种常见做法:
-
直接编辑
/etc/resolv.conf(临时方案,适用于没有动态管理工具的场景)
使用sudo vi /etc/resolv.conf,添加或修改nameserver行,保存后立即生效,但重启网络服务或系统后,可能被覆盖。 -
通过NetworkManager修改(推荐,适用于桌面版或使用NetworkManager的服务器)
使用nmcli命令:nmcli con mod "你的连接名称" ipv4.dns "223.5.5.5 223.6.6.6" nmcli con up "你的连接名称"
连接名称可以通过
nmcli con show查看,这样做的好处是配置持久化,且不会与其他工具冲突。 -
修改网络接口配置文件(适用于CentOS/RedHat系)
编辑/etc/sysconfig/network-scripts/ifcfg-eth0(或对应接口),添加或修改:DNS1=223.5.5.5 DNS2=223.6.6.6然后重启网络服务:
systemctl restart network。 -
针对systemd-resolved系统(Ubuntu 18.04+等)
推荐使用systemd-resolve命令:systemd-resolve --set-dns=223.5.5.5 --interface=eth0或者直接配置
/etc/systemd/resolved.conf,设置DNS=项,然后重启服务。
验证方法: 修改后,使用nslookup或dig测试:
nslookup baidu.com
dig @223.5.5.5 baidu.com
如果返回正确的IP地址,说明配置生效。
Windows下修改DNS服务器地址的方法
图形界面(最常用): 按照前面所述步骤,在IPv4属性中手动输入首选和备用DNS,例如设置为阿里的223.5.5.5和223.6.6.6,或114的114.114.114.114,点击“确定”后立即生效,无需重启。
命令行(适用于批量操作或远程脚本): 以管理员身份运行CMD,输入:
netsh interface ip set dns "以太网" static 223.5.5.5
netsh interface ip add dns "以太网" 223.6.6.6 index=2
第一行设置首选DNS,第二行添加备用DNS,注意网络名称需与netsh interface show interface中的一致。
验证方法: 打开CMD,输入ipconfig /displaydns查看缓存,或直接nslookup baidu.com查看使用的DNS服务器IP。
使用公共DNS服务器的典型场景
- 国内用户提升解析速度: 阿里DNS(223.5.5.5)、腾讯DNS(119.29.29.29)、百度DNS(180.76.76.76)延迟较低,且对国内CDN友好。
- 解决特定网站访问问题: 当默认DNS(如运营商分配)出现劫持、污染或解析失败时,更换为公共DNS能快速恢复。
- 多区域部署场景: 在服务器上配置多个DNS(如酷番云DNS和阿里DNS),可以提升冗余性和解析成功率。

关于DNS服务器IP配置文件的常见问题
为什么修改了/etc/resolv.conf重启后失效?
这是大多数Linux新手会遇到的问题,原因在于/etc/resolv.conf可能被系统网络管理工具(如NetwokManager、systemd-resolved、dhclient)动态覆盖,这些工具会在启动或网络事件发生时,根据自身配置重新生成该文件,解决方案是:要么直接通过管理工具设置DNS(如nmcli),要么禁止相关服务对/etc/resolv.conf的修改(例如在/etc/NetworkManager/NetworkManager.conf中设置dns=none),具体选择取决于你的系统发行版和管理需求。
如何在/etc/resolv.conf中配置多个DNS服务器?解析顺序是怎样的?
该文件最多支持三个nameserver条目,系统会按顺序尝试查询,如果第一个DNS超时或无响应,自动切换到第二个,以此类推,例如配置:
nameserver 8.8.8.8
nameserver 1.1.1.1
系统首先向8.8.8.8发起查询,如果对方在超时时间内未回复,则向1.1.1.1查询,这种机制保证了单点故障时的解析连续性,但要注意,部分解析库(如glibc)会对所有DNS执行并发查询,但最终只采用第一个返回正确结果的响应。
如何查看当前系统真正使用的DNS服务器IP?
在Linux中,除了检查/etc/resolv.conf,还可以通过nslookup命令的交互模式或dig的追踪输出来确认,例如执行nslookup baidu.com,返回结果中会显示“Server:”一行,即当前使用的DNS IP,在Windows上,ipconfig /all直接列出所有DNS服务器,使用ss -tuln | grep 53可以查看本地是否有DNS缓存服务(如systemd-resolved)在监听,从而判断解析是否经过本地代理,经过本地代理时,/etc/resolv.conf中的nameserver通常指向127.0.0.1,实际DNS服务器地址需要查看代理服务的配置文件。
掌握DNS服务器IP的配置文件位置,是网络故障排查和服务器配置的基础,无论你面对的是Linux的/etc/resolv.conf还是Windows的网络适配器设置,正确理解它们的行为逻辑,才能确保域名解析的稳定高效。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/712778.html


评论列表(3条)
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是服务器部分,给了我很多新的思路。感谢分享这么好的内容!
读了这篇文章,我深有感触。作者对服务器的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
读了这篇文章,我深有感触。作者对服务器的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!