基礎欄位
enable必須是否啟用內建 DNS 伺服器。絕大多數場景(尤其是用 TUN 模式)都需要開啟。
listen可選DNS 服務監聽位址,如 0.0.0.0:1053,區域網路設備也可以把它當成普通 DNS 伺服器使用。
ipv6可選是否解析 IPv6 結果,需要和頂層 ipv6: true 搭配才會生效。
use-hosts / use-system-hosts可選是否使用設定檔裡的 hosts 欄位,以及是否使用系統的 hosts 檔案。
respect-rules可選DNS 請求本身是否也遵循 rules 路由規則來選擇出站方式,配合 proxy-server-nameserver 使用。
增強模式
enhanced-modefake-ip / redir-hostfake-ip:給每個網域分配一個虛假但唯一的內網 IP,連線時再還原成真實目標;速度快、相容性好,是絕大多數場景(尤其是 TUN 模式)的推薦選擇。redir-host:直接回傳真實解析結果,相容性稍差(部分需要 SNI 分流的場景可能受影響),但對不支援 fake-ip 網段的舊用戶端更友善。
fake-ip-range198.18.0.1/16fake-ip 使用的位址段,一般無需修改。
fake-ip-filter-mode / fake-ip-filter可選指定哪些網域不使用 fake-ip(直接走真實解析),常用於內網網域、本機服務探索等場景,支援 網域萬用字元。
dns: enable: true ipv6: false enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 fake-ip-filter-mode: blacklist fake-ip-filter: - '*.lan'
解析伺服器
default-nameserver可選用來解析 nameserver/fallback 裡網域形式伺服器位址的「引導」 DNS,這裡只能填 IP,不能填網域。
nameserver必須預設的網域解析伺服器列表,支援 UDP/TCP/DoT/DoH/DoQ 等多種協議寫法,詳見 DNS 類型。
nameserver-policy可選按網域 / geosite: / rule-set: 指定專用解析伺服器,優先級高於 nameserver,常用於「國內網域走國內 DNS,國外網域走國外 DNS」。
fallback / fallback-filter可選fallback 是備用解析伺服器(通常填境外 DNS);fallback-filter 決定什麼情況下的解析結果要「懷疑」並改用 fallback 重新查(比如回傳了國內 IP 但網域疑似被汙染)。
direct-nameserver / direct-nameserver-follow-policy可選專門給「匹配到直連規則」的網域使用的解析伺服器,配合 direct-nameserver-follow-policy 決定是否仍然遵循 nameserver-policy。
proxy-server-nameserver / proxy-server-nameserver-policy可選專門用於解析代理伺服器自身網域(比如你的機場節點網域)的 DNS,避免和使用者流量解析混在一起產生「雞生蛋」問題。
default-nameserver: - 223.5.5.5 nameserver-policy: '+.arpa': '10.0.0.1' 'rule-set:cn': - https://doh.pub/dns-query - https://dns.alidns.com/dns-query nameserver: - https://doh.pub/dns-query - https://dns.alidns.com/dns-query fallback: - tls://8.8.4.4 - tls://1.1.1.1 fallback-filter: geoip: true geoip-code: CN geosite: - gfw ipcidr: - 240.0.0.0/4 domain: - '+.google.com'
整套解析優先級順序、以及各欄位如何配合工作,見下一篇 解析流程。
附加參數
| 寫法 | 說明 |
|---|---|
#proxy_name | 優先使用同名代理節點發起 DNS 查詢,找不到該名稱的代理則改用同名網路介面連線,如 https://1.1.1.1/dns-query#proxy1 |
#RULES | 讓這條 DNS 查詢也遵循路由規則連線,等價於單獨給這條開啟 respect-rules |
#h3=true | 強制該 DoH 伺服器使用 HTTP/3 建立連線,需要伺服器本身支援 H3 |
#ecs=1.1.1.1/24 | DoH 請求攜帶 EDNS Client Subnet,讓 CDN 按這個子網就近回傳結果 |
#ecs-override=true | 強制覆蓋請求中已有的 ECS subnet |