Openwrt Nikki DNS 配置经验分享
dns 使用 fake-ip 模式,不借助其他 dns 工具(比如 mosdns 可以过滤远程 dns 的 ipv6 解析记录)的情况下能够通过非 ipv6 节点访问有 ipv6 解析记录的网址。如果使用 redir-host 路由器开启了 ipv6 而代理节点又不支持 ipv6(或者链路更差时),某些需要代理访问的域名会解析到无法访问的 ipv6 地址,经常触发重试又回落到 ipv4 体验很糟。
不要打开 dns 劫持,通过 dnsmasq 转发到 mihomo 的 dns 端口会有更好兼容性。我有遇到一个兼容性问题,我的 nas 域名在公网是解析到中转服务器的 ipv4 和家宽的 ipv6 双栈地址。而 Android 的上的 synology app 不知道是用了什么特性,只能解析到公网的 ipv6 地址,倒也不影响使用。不过如果此时开启了 nikki 的 dns 劫持功能会导致无法解析,当我使用 dnsmasq 转发时不受影响。
继续修改 dnsmasq 配置,开启 dns 重定向,并添加转发到 127.0.0.1#1053
,关闭 dns 缓存,缓存由 mihomo 执行。
nikki 配置 dns 配置如下,过滤掉直连域名的 fake-ip 这一步是为了避免直连域名在很多设备中缓存了 fake-ip 解析结果,特别是有些 IoT 设备,nikki 下线时这些客户端网络无法自动恢复,比如 HomePod 的网关功能,小米中枢网关等。以及路由器上运行的 frpc 也需要解析到真实 ip 否则无法连接,另外似乎 apple 域名使用 114 dns 速度更快,所以专门指定了 114 dns。
1 | dns_remote: &dns_remote ['tls://1.1.1.1', 'tls://8.8.8.8'] |