先说避坑前提
别堆一堆花里胡哨的第三方DNS插件,单臂旁路由只要做好基础转发规则,就能解决90%的域名解析污染问题,内存占用不到10MB,稳定性比装杂七杂八的插件高太多。前置要求:旁路由已和主路由二层打通(终端网关指向旁路由,或主路由DHCP网关下发为旁路由IP,提前关闭主路由的DNS rebind防护)。
落地配置步骤
- 第一步:登录OpenWrt后台,进入「网络-DHCP/DNS」页面,设置本地DNS监听端口为53,勾选“重定向53端口到本地”,拦截终端硬编码的公共DNS请求,防止绕路。
- 第二步:删除默认的运营商DNS转发规则,添加两条固定转发:国内域名走阿里公共DNS 223.5.5.5,境外解析走Cloudflare加密DoH(地址为https://1.1.1.1/dns-query),指定走旁路由WAN口。
# SSH登录旁路由可直接执行以下命令快速落配
uci set dhcp.@dnsmasq[0].noresolv='1'
uci set dhcp.@dnsmasq[0].server='223.5.5.5#53'
uci add_list dhcp.@dnsmasq[0].server='https://1.1.1.1/dns-query'
uci commit dhcp
/etc/init.d/dnsmasq restart配置完成后用nslookup校验典型污染域名,只要解析结果不是国内运营商拦截段即为生效。亲测100M带宽下,这套配置解析延迟比装SmartDNS低30%,不会出现开网页转圈问题,足够覆盖20人以内小场景使用,别乱加冗余规则拖垮低配软路由性能。
评论一下?