內部 DNS 伺服器
MintFlow DNS 在 VPN 通道內於本機執行:回答 DNS 查詢、選擇直接連線或 VPN/代理伺服器上游、快取結果,並將網域路由資訊交給封包引擎。它不是公共 DNS 服務,也不供其他區域網路裝置查詢。
規則模式請在 DNS 與分流啟用自訂網域分流([dns] app-routing-enabled=true);簡易模式同樣使用內部 DNS。兩者都關閉時,內部 DNS 功能便不會生效。即使流量全走直接連線,也必須連線 MintFlow VPN。
不需要遠端 VPN 的加密 DNS
將直接連線 DNS設定為 DoH 或 DoT,並選擇直接連線出口。iOS 的加密 DNS 與 DNS 廣告阻擋皆可免費使用,無須遠端 VPN 訂閱或 HTTP 檢查憑證。
[dns]
app-routing-enabled=true
direct-dns=tls://1.1.1.1
optimistic-dns-caching=true
[routing]
DNS-FALLBACK,DIRECT
DEFAULT,DIRECT
一般 IP(例如 1.1.1.1)使用明文 DNS;tls://1.1.1.1 使用 DoT;https://cloudflare-dns.com/dns-query 使用 DoH。請選擇你信任的解析器。加密保護與解析器之間的連線,解析器仍能看見查詢。Cloudflare 的 DoT 文件介紹了這種傳輸方式。
分流 DNS 與 VPN DNS
直接連線 DNS解析直接連線的網域,VPN DNS解析指派給 VPN 或代理伺服器的網域。工作網域可交給私有解析器,一般名稱則交給選定的公共解析器。所選出口必須能連到私有解析器。
如果加密的 vpn-dns 上游使用主機名稱,請以 VPN-DNS-SERVER-DOMAINS 指定啟動解析的 VPN/代理伺服器路徑;bootstrap-dns 提供初始解析器位址。啟動查詢與加密的應用程式網域查詢是不同步驟。
[dns]
app-routing-enabled=true
direct-dns=tls://1.1.1.1
vpn-dns=https://cloudflare-dns.com/dns-query
bootstrap-dns=1.1.1.1,8.8.8.8
[routing]
VPN-DNS-SERVER-DOMAINS,L3VPN,my-wireguard
DNS-FALLBACK,L3VPN,my-wireguard
DEFAULT,L3VPN,my-wireguard
此片段假設已建立可用的 my-wireguard 介面與對等節點。完整匯入步驟請見 WireGuard 服務商與加密 DNS。同時使用直接連線及 VPN/代理伺服器路徑時,請設定兩組 DNS。
靜態 DNS 記錄與 Tailscale 名稱
Pro 靜態記錄適合家用 NAS、測試伺服器或本機服務,不必將位址公布到公共 DNS:
[dns-hosts]
nas.example.com=192.168.40.10
lab.example.com=192.168.40.20,192.168.40.21
記錄精確比對主機名稱,不支援萬用字元,也不自動涵蓋子網域。最多 256 個名稱,每個名稱可有 1–16 個 IPv4 位址。這些記錄先於網域規則與廣告過濾在本機回答,但不會建立流量路由;請加入適當的 CIDR 路由,或確認位址能經其他路徑存取。簡易模式不啟用靜態及衍生記錄。
Pro Tailscale 介面啟用 drive-dns:true 後,可衍生對等節點 IPv4 記錄。使用者靜態記錄優先於衍生名稱。使用中 tailnet DNS 區域內的未知名稱留在本機,不會交給公共 DNS。這是 MintFlow 衍生 DNS,並非官方用戶端的完整 MagicDNS 設定。請見 Tailscale 設定。
2.1.0 內建 DNS 廣告阻擋
過濾需自行啟用,在裝置本機執行,只有放行的查詢會送到上游。一次選擇一份預設清單:AdGuard DNS filter(預設)、HaGeZi Multi Normal 或 OISD Small。三者皆附有初始離線快照;開啟 App 時會為已啟用清單安排非同步更新,也能按重新整理手動檢查。更新失敗時沿用最後接受的副本。
- 選取所需設定檔,開啟 DNS 與分流 → DNS 廣告阻擋。
- 開啟過濾、選擇清單並儲存;必須啟用內部 DNS。
- 啟動 VPN。已連線時請查看使用中狀態:支援的單純過濾變更可即時套用,其他設定檔變更可能需要重新啟動。
- 利用網域檢查器、DNS 日誌 → 規則類型及工具 → DNS 執行階段 → DNS 廣告阻擋查看實際狀態。只檢查快取清單,無法證明執行中的通道會阻擋該網域。
[dns-adblock]
enabled=true
list=adguard-dns
遭阻擋的查詢會收到 NODATA(成功但沒有答案的 DNS 回應),不向上游查詢,也不回傳假位址。DNS 過濾不需要 MITM 憑證,清單不會占用網域集合路由額度。
例外與限制
規則模式順序為使用者靜態記錄 → Tailscale 衍生 DNS → 網域集合 → 有序關鍵字 → 廣告過濾 → DNS 預設處理。符合轉送類網域規則時會略過過濾;Drop/Reject 規則仍依原有行為阻擋。請將放行例外限制在必要範圍。DNS-FALLBACK,DIRECT 不會停用過濾。簡易模式則為廣告過濾 → 所選出口,已儲存的靜態及網域規則不會啟用。
過濾檢查查詢的 DNS 名稱,不檢查每個 URL 或回傳的完整 CNAME 鏈。它無法移除網頁空白,也難以可靠阻擋與正常內容共用網域的廣告,例如許多影片與動態消息廣告。App 自帶加密 DNS、代理伺服器端遠端解析、直接使用 IP 或既有位址快取,都可能略過本機 DNS 檢查。2.1.0 不支援自訂訂閱或疊加清單。
誤擋時請先檢查符合的規則。規則模式可加入範圍較小的轉送網域集合例外;簡易模式可換清單、關閉過濾,或切換規則模式使用例外。範例請見路由規則引擎。