先判斷節點網域或訪問網域失敗
啟用 IPv6 後全部節點變紅,不代表 IPv6 節點本身一定失效。代理伺服器若以 node.example.com 寫在設定中,內核必須先解析它才能建立隧道;瀏覽器要開啟的目標網域,則按目前 DNS 和規則處理。前者失敗會讓所有業務看起來像節點逾時,後者失敗時既有節點連線可能仍正常。
先讀核心日誌,搜尋代理伺服器名稱、lookup、no such host、逾時及 DNS 去向。公開資訊應遮住真實節點網域與 Token,但保留版本、韌體、錯誤型別和重現步驟。
dns.ipv6: false 會影響 Mihomo 的 AAAA 回應,卻不能代替對路由器 IPv6、上游 DNS 與節點引導解析的檢查。保存設定並採集可比較結果
匯出 OpenClash 設定與覆寫,記錄開啟 IPv6 前後唯一改動。不要同時切換 Fake-IP、TUN、SmartDNS 和多組上游。重啟後保存第一份錯誤日誌,避免後續反覆載入覆蓋啟動資訊。
- 確認 WAN、LAN 的 IPv6 位址與預設路由。
- 在路由器查詢節點名稱的 A 與 AAAA。
- 分別指定目前 IPv4 和 IPv6 DNS 查詢。
- 比較內核啟動前後的回應。
- 只暫時關閉 IPv6 DNS 接管,觀察節點解析。
nslookup node.example.com 可作基本觀察,但 BusyBox 版本的參數不同。關鍵是比較同一名稱與同一上游在改動前後的結果,而不是某次公共 DNS 成功。
檢查引導 DNS 與節點專用 DNS
default-nameserver 負責解析後續 DNS 服務位址等引導工作,官方要求使用 IP 形式;proxy-server-nameserver 專門解析代理節點網域。若節點名稱要透過尚未建立的代理才可解析,就形成循環相依。
YAMLdns:
enable: true
ipv6: true
default-nameserver:
- 1.1.1.1
- 8.8.8.8
proxy-server-nameserver:
- https://1.1.1.1/dns-query
nameserver:
- https://dns.google/dns-query
這只是欄位關係示例,不代表上游在你的 ISP 一定可達。選擇路由器可直連、不依賴目前代理的引導解析器;加密 DNS 使用名稱時,它本身也要先被解析。LuCI 或覆寫儲存後,必須檢查最終生成設定。
核對 IPv6 上游和 DNS 劫持路徑
路由器可能從 ISP 取得 IPv6 DNS,LAN 用戶端亦可能經 RA 或 DHCPv6 學到新的解析器。SmartDNS、dnsmasq、OpenClash 與私人 DNS 同時運作時,IPv6 查詢可能走完全不同的路。先列出「用戶端、路由器連接埠、本機 DNS、上游」的實際順序。
| 對象 | 可能故障 | 驗證 |
|---|---|---|
| IPv6 DNS | 路由或防火牆不通 | 指定伺服器查 A/AAAA |
| 節點解析 | 循環依賴代理 | 改用直達專用上游 |
| LAN 用戶端 | 繞過路由器 | 查 RA、私人 DNS、封包 |
| Fake-IP | 回給不應接管的本機查詢 | 比較內核啟停結果 |
暫停某層 IPv6 DNS 代理只能作診斷。恢復後應繼續確認是上游不可達、53 埠錯誤接管、Fake-IP 進入本機解析或規則遺漏,再修正精確環節。
v0.47.133 問題單的適用邊界
官方 Issue #5251 描述了 OpenClash v0.47.133 搭配特定 ImmortalWrt 版本的情況:路由器本機送往公網 IPv6 DNS 的請求被規則接管並得到 Fake-IP,隨後節點網域解析失敗。該問題單已關閉。它證明這條故障路徑曾出現,不能推論所有版本或韌體都有同一問題。
版本、日誌或封包路徑不同時,不應直接照搬臨時修改。查目前發行說明、最終防火牆規則和維護者結論,再以去除密鑰的最小設定重現。
重啟後完成最終驗收
先重啟 DNS 服務,再重啟 OpenClash 核心,避免舊快取混淆結果。依序確認路由器可用引導 DNS 解析節點、節點能連線、A/AAAA 符合設定、LAN 沒繞過預期解析器,以及規則模式下直連與代理目標都正常。最後才逐層恢復 SmartDNS 等元件。
欄位請對照 OpenClash default.yaml和 Mihomo DNS 文件;特定個案見 Issue #5251。
完成標準不是關閉 IPv6,而是能說明各類 DNS 請求的路徑、節點解析不再依賴未建立的代理,並且路由器重啟後仍保持正確。建議把最終生成 YAML、關鍵日誌時間與成功查詢的上游一併保存;日後升級若復發,便能快速比較是預設值、覆寫順序或防火牆規則改變,而不必重新猜測整套 DNS。
官方來源與版本邊界
- github.com/vernesong/OpenClash/blob/master/luci-app-openclash/root/usr/share/openclash/res/default.yaml
- wiki.metacubex.one/config/dns
- github.com/vernesong/OpenClash/issues/5251
版本號、檔案名稱與介面文字可能隨專案更新而變動,操作前請以連結中的專案文件為準。