加密 DNS 主机名:dns.23-4.cn| DoH 地址:https://dns.23-4.cn/dns-query| 配置教程 | 实时战报
在路由器上配一次,全家设备(包括电视盒子、音箱、摄像头这些改不了设置的东西)一起生效——这是路由器方案最大的价值。
但很多人配完之后发现「没生效」,或者「手机生效了,电脑没生效」。绝大多数情况下,问题不在你填的地址,而在路由器把 DNS 又改回去了。这篇把这条路走通。
一、先分清两种「在路由器上配 DNS」
| 做法 | 谁在解析 | 覆盖范围 |
|---|---|---|
| 改路由器的上游 DNS(WAN 侧) | 路由器自己转发 | 所有走路由器 DHCP 的设备 |
| 改路由器下发给设备的 DNS(DHCP 侧) | 设备直接问那个地址 | 同上,但设备能感知到 |
大多数家用路由器是第一种:路由器跑一个 DNS 代理(dnsmasq 之类),自己向上游查询,同时通过 DHCP 告诉所有设备「你们的 DNS 就是我」。设备问路由器,路由器再转发。
这是正常且推荐的做法——设备只需要知道一个地址,规则和缓存集中在路由器上。
二、坑在这里:路由器会偷偷用回运营商的 DNS
配好上游 DNS 之后,很多路由器仍然会从运营商那里自动获取 DNS 并优先使用。表现就是「明明填了,解析结果还是运营商的」。
原因通常有三个,都要检查:
1. WAN 口的「自动获取 DNS」没关。
- OpenWrt:在 WAN 接口上加一行
option peerdns '0',明确拒绝运营商下发的 DNS; - 小米 / Redmi:上网设置里把 DNS 从「自动」改成「手动」,填上你要用的地址;
- TP-Link / 华硕:WAN 设置里找「使用这些 DNS 服务器」并取消「从 ISP 获取」。
2. IPv6 的 RDNSS 在偷偷下发 DNS。
这是最隐蔽的一个。很多路由器通过 IPv6 的 RA(路由通告)下发 IPv6 DNS 服务器,而支持 IPv6 的设备会优先使用 IPv6 的 DNS,完全绕过你在 IPv4 侧做的设置。
- 如果你不需要 IPv6:直接在路由器上关掉 IPv6(或关掉 RA 里的 DNS 通告);
- 如果需要 IPv6:把 IPv6 的 DNS 也改成你的解析器(OpenWrt 里对应
ra_dns、以及 WAN6 接口的peerdns '0'); - 快速验证:在电脑上执行
nslookup example.com,看返回的 Server 地址是 IPv4 还是 IPv6,是不是你配的那个。
3. 有些设备的 DNS 是写死的。
智能电视、部分安卓盒子、某些 IoT 设备会硬编码 8.8.8.8 或运营商 DNS,无视 DHCP。这种情况只能靠路由器做强制重定向(把发往 53 端口的流量劫持到本地解析器)。这属于进阶操作,在 OpenWrt 上可以用一条 NAT 规则实现:
# 把局域网内所有发往 53 端口的 DNS 查询,强制转到本地解析器
# (示意,实际接口名按你的环境改)
iptables -t nat -A PREROUTING -i br-lan -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -i br-lan -p tcp --dport 53 -j REDIRECT --to-ports 53注意:这么做的副作用是设备自带的「私人 DNS / DoT」会被一起劫持,加密连接会失败。如果你同时希望手机用 DoT,就不要无脑全局劫持。
三、路由器怎么配加密 DNS
关键前提:加密 DNS 需要路由器本身支持 DoT 或 DoH。 大部分原厂家用路由器只支持「填一个明文 DNS 的 IP」,而本站没有开放明文 53 端口,所以:
- 原厂固件只支持明文 DNS → 无法直接用本站服务;
- 支持 DoH 的原厂固件(部分华硕、部分小米新款、部分企业级)→ 在 DNS 设置里选「DoH / 加密 DNS」,填
https://dns.23-4.cn/dns-query; OpenWrt → 三种成熟方案:
stubby:DoT,上游填dns.23-4.cn;https-dns-proxy:DoH,上游填https://dns.23-4.cn/dns-query;- 直接跑一个 AdGuard Home:上游填 DoT / DoH 地址,顺带拿到规则、日志和每台设备的统计。
一个常见误区:把 IP 当成普通 DNS 填进去。 本站的 8.160.173.68 只用于「必须填 IP、并且能同时开启加密」的场景(比如 Windows 11 的 DoH 模板),单独填 IP 当明文 DNS 是连不上的。
四、配完怎么验证「到底有没有生效」
按这个顺序,逐层排除:
# 1. 看设备实际拿到的 DNS 是谁(Linux/macOS)
cat /etc/resolv.conf
# Windows
ipconfig /all | findstr "DNS Servers"
# 2. 看解析请求实际发给了谁
nslookup www.example.com
# 返回里的 Server 一行就是真正在给你解析的地址
# 3. 确认解析结果没有被劫持
# 故意查一个不存在的域名,看返回的是 NXDOMAIN 还是广告页 IP
nslookup this-domain-should-not-exist-234.cn最直接的验证是打开 实时战报:如果全家设备都走了这条路,战报上的请求量会有明显台阶式上升。 这是唯一能一次性确认「所有设备都生效了」的办法。
五、小结
| 现象 | 最可能的原因 |
|---|---|
| 配了上游 DNS 但结果还是运营商的 | WAN 口「自动获取 DNS」没关(peerdns) |
| 手机生效了,电脑/电视没生效 | IPv6 RDNSS 下发了另一套 DNS |
| 某个设备怎么都不生效 | 设备硬编码了 DNS,需要强制重定向 |
| 路由器里填了本站 IP 但连不上 | 本站不开放明文 53,必须走 DoT / DoH |
| 想覆盖改不了设置的设备 | 只能靠路由器;设备侧开关(如安卓私人 DNS)会覆盖路由器的下发 |