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'] |