默认设置下,OpenWRT 使用 DNS Masq 进行 DNS 转发,所以客户端通过 DHCP 分配到的 DNS 地址是路由器的地址。
DoT(RFC 7858) 和 DoH(RFC 8484) 都是 DNS 加密标准,区别在于使用 TCP 还是 HTTPS 替代之前的传统 UDP 查询。
当然现在还有更先进的 H3(草案是 QUIC)查询方式,但是 UDP 流量已经被运营商的 QoS 搞得体验很差了,目前阶段不建议尝试。
stubby 可以很方便的配置一个 DoT 代理,OpenWRT 官方已经有示例说明的很清楚了,这里仅补充一些配置:
config stubby 'global'
option manual '0'
option trigger 'lan' # 这里使用 lan 替代之前默认的 wan
在国内使用,目前只有阿里的 DNS 支持 DoT 比较好,腾讯的 DNS 也支持 DoT,但是有查询限制,不建议使用。
config resolver
option address '223.5.5.5'
option tls_auth_name 'dns.alidns.com'
config resolver
option address '223.6.6.6'
option tls_auth_name 'dns.alidns.com'
config resolver
option address '2400:3200::1'
option tls_auth_name 'dns.alidns.com'
config resolver
option address '2400:3200:baba::1'
option tls_auth_name 'dns.alidns.com'
参考:
https://openwrt.org/docs/guide-user/services/dns/dot_dnsmasq_stubby