查看和修改DNS服务器:确认实际使用的解析器
在Windows、Mac、iPhone、Android和Linux上查看设备实际使用的DNS服务器,改用1.1.1.1、8.8.8.8或9.9.9.9,并确认修改已经生效。
DNS解析器的作用
浏览器连接网站之前,需要先知道该网站的IP地址。它会询问递归解析器;解析器在全球DNS中查找该域名,在记录允许的时间(即TTL)内缓存答案,并将其返回。因此,解析器能看到你的设备查询的每一个域名,也决定了域名解析的速度和可靠性。
更换解析器不会改变你的公网IP地址,也不能向运营商隐藏你访问了哪些网站。加密DNS(DNS over HTTPS或DNS over TLS)只能在查询发往解析器的途中隐藏查询本身。
| 解析器 | IPv4 | IPv6 | 加密DNS名称 |
|---|---|---|---|
| Cloudflare | 1.1.1.1, 1.0.0.1 | 2606:4700:4700::1111, 2606:4700:4700::1001 | one.one.one.one |
| Google Public DNS | 8.8.8.8, 8.8.4.4 | 2001:4860:4860::8888, 2001:4860:4860::8844 | dns.google |
| Quad9 | 9.9.9.9, 149.112.112.112 | 2620:fe::fe, 2620:fe::9 | dns.quad9.net |
解析器在哪里设置,哪个设置优先
设备加入网络时,路由器通常会在分配本地IP地址的同时分配DNS服务器。在操作系统中手动设置后,该设备将不再使用路由器指定的DNS。开启安全DNS的浏览器可以绕过操作系统自行查询,VPN应用在连接期间通常也会推送自己的解析器。
- 路由器:修改一次,即可影响所有自动获取设置的设备。部分运营商提供的路由器不允许修改。
- 操作系统:影响该设备上的所有应用,除非浏览器或VPN覆盖了它。
- 浏览器安全DNS:只影响该浏览器。Chrome、Edge和Firefox各有自己的开关。
- VPN应用:通常在连接期间替换解析器,使查询经由隧道发出。
查看设备设置使用的DNS解析器
这些命令显示的是已配置的解析器。请把结果当作起点:下一节介绍如何查看实际作答的解析器。
- Windows:在命令提示符中运行nslookup example.com。前两行的“服务器”和“Address”显示默认解析器。ipconfig /all会列出每个网络适配器的“DNS 服务器”。
- macOS:运行scutil --dns,查看第一个resolver的nameserver行;也可以打开“系统设置”→“网络”→你的连接→“详细信息”→“DNS”。
- 使用systemd-resolved的Linux:运行resolvectl status。如果/etc/resolv.conf中的nameserver为127.0.0.53,那是一个本地存根解析器,会把查询转发给resolvectl列出的服务器。
- iPhone和iPad:打开“设置”→“无线局域网”→网络旁边的ⓘ→“配置DNS”。该设置按Wi-Fi网络分别保存,不适用于蜂窝数据。
- Android 9及以上版本:打开“设置”→“网络和互联网”→“私人 DNS”。“自动”表示使用网络提供的解析器或机会性加密;填写主机名则表示在Wi-Fi和移动数据下都使用该加密解析器。
确认实际作答的解析器
有些域名专门用来返回查询者的地址。Google的权威服务器在收到对o-o.myaddr.l.google.com的TXT查询时,会返回联系它的解析器的地址;Akamai的whoami.akamai.net则以A记录提供同样的结果。运行nslookup -type=txt o-o.myaddr.l.google.com,再查询返回的地址,看看它属于哪个组织。
大型解析器会从与你所配置地址不同的出口地址发出查询,因此你看到的应是同一服务商的另一个地址,而不是你配置的地址本身。Cloudflare还提供检查页面one.one.one.one/help,可显示你是否正在使用1.1.1.1,以及连接是否已加密。
实测示例(2026年11月2日,曼谷一台使用家庭宽带的Windows电脑):nslookup显示默认服务器为dnscon1.v6.trueinternet.co.th,地址为2001:fb0:100::207:29,即运营商的解析器。TXT查询返回2001:fb0:100:dd::104,这是同一运营商网络中的另一个地址,也就是该解析器的出口地址。通过Cloudflare的DNS over HTTPS发送同一查询,则返回172.68.44.76,这是Cloudflare网络中的地址。这些值来自IPNixa的单次记录;你的运营商地址会有所不同。
修改DNS服务器
根据想覆盖的范围选择修改位置:在路由器上修改覆盖全家,在操作系统中修改覆盖一台设备,在浏览器中修改只覆盖一个应用。请同时填写同一服务商的首选和备用地址;如果你的连接支持IPv6,还要添加IPv6地址,否则IPv6查询可能仍会发往原来的解析器。
- Windows 11:打开“设置”→“网络和 Internet”→“WLAN”或“以太网”→“硬件属性”,然后点击“DNS 服务器分配”旁边的“编辑”。选择“手动”,打开IPv4和IPv6,填写地址;如有“DNS over HTTPS”选项,将其设为“打开”。
- macOS:打开“系统设置”→“网络”→你的连接→“详细信息”→“DNS”。用“+”按钮添加新服务器并删除旧服务器,然后点击“好”。
- iPhone和iPad:打开“设置”→“无线局域网”→ⓘ→“配置DNS”→“手动”。删除现有服务器并添加新服务器。对你使用的每个Wi-Fi网络重复此操作。
- Android:打开“设置”→“网络和互联网”→“私人 DNS”→“私人 DNS 提供商主机名”,然后输入one.one.one.one、dns.google或dns.quad9.net。
- 路由器:打开路由器管理页面,找到DHCP、LAN或上网设置中的DNS选项,填入新地址并保存。设备重新连接或续订地址后才会应用新设置。
- 浏览器:Chrome为“设置”→“隐私和安全”→“安全”→“使用安全 DNS”;Edge为“设置”→“隐私、搜索和服务”→“使用安全的 DNS”;Firefox为“设置”→“隐私与安全”→“基于 HTTPS 的 DNS”。
修改为什么没有生效
如果确认查询仍显示原来的服务商,请从最具体到最宽泛的层级逐一排查。
- 已连接VPN,且VPN提供了自己的解析器。请断开VPN后再检查,或在VPN应用内修改DNS设置。
- 浏览器使用了自选服务商的安全DNS,因此浏览器与命令行的结果不一致。两者对各自的查询来说都可能是正确的。
- 只修改了IPv4。设备仍从路由器获得IPv6解析器,并将其用于部分查询。
- 仍在使用缓存的答案。在Windows上运行ipconfig /flushdns;在macOS上先运行sudo dscacheutil -flushcache,再运行sudo killall -HUP mDNSResponder;然后清除浏览器的主机缓存或重启浏览器。
- 网络拦截了DNS。有些路由器、公共Wi-Fi和运营商会把所有53端口流量重定向到自己的解析器;加密DNS可以避免这种情况,普通DNS则不能。
- 路由器上的修改尚未同步到设备。请重新连接网络或重启设备,以获取新设置。
修改记录后检查域名
修改自己的解析器和修改域名的DNS记录是两回事。如果你在DNS托管服务商处修改了记录,却仍看到旧值,问题出在沿途的缓存,而不是你的解析器设置。IPNixa的DNS查询会向Cloudflare和Google查询同一条记录,让你看到新值是否已同时到达两者,以及各自还会保留旧值多久。
常见问题
修改DNS服务器安全吗?
使用知名的公共解析器是安全的。你选择的是由谁看到你的域名查询,所以请阅读该解析器的隐私政策。有些公司、学校和家长控制网络依赖自己的解析器来过滤网站或访问内部域名;在这些网络中修改DNS可能导致相关服务无法使用。
修改DNS能让网速变快吗?
它只影响域名解析的快慢,不影响下载速度。距离近、缓存充分的解析器能让首次访问某个网站时感觉更快。请在修改前后分别测量,不要假定某家服务商在任何地方都最快。
修改DNS会改变我的IP地址吗?
不会。网站看到的仍是运营商分配给你的公网IP地址。只有VPN、代理或中继服务才会改变网站看到的地址。
为什么nslookup显示的服务器与浏览器不同?
nslookup使用的是操作系统的解析器。开启了安全DNS的浏览器会直接把查询发送给它选定的服务商,因此两者不一致并不代表出了问题。