在 v2rayN 中設定 DNS,重點不只是填入一個公共 DNS 位址,而是先決定「哪些網域由國內 DNS 解析、哪些網域交給遠端 DNS」,再確認查詢請求是否沿著預期的代理或直連路徑送出。若所有網域都使用同一組解析器,可能出現國內網站繞遠路、境外網域解析失敗,或查詢結果與代理節點所在地不一致等情況。
本文以 v2rayN 7.x 搭配 Xray 核心為主要參考,整理 Windows 桌面環境中常見的遠端與國內 DNS 分流方式。不同版本的「參數設定」頁面名稱可能略有差異,但設定觀念大致相同:先確認 DNS 模式,再建立伺服器、網域規則與出站路由,最後用日誌和指令驗證實際結果。
本文適合想在 v2rayN 中實作 DNS 分流的使用者。你將了解遠端 DNS、國內 DNS 與 FakeDNS 的差異,完成一套「境外網域走遠端、國內網域走本地」的設定,並透過清除快取、查看日誌與重複查詢確認設定是否真的生效。
先決定遠端與國內 DNS 的分工
DNS 分流的基本邏輯,是先按照網域類型選擇解析器,再按照流量路由決定查詢本身經由代理還是直連。國內網域通常交給延遲較低的本地或國內 DNS,境外網域則交給可透過代理連線的遠端 DNS。這樣做可以減少國內網站的解析延遲,也能避免境外網域受到本地解析環境的干擾。
常見的本地 DNS 可以使用路由器提供的 DNS,或網路業者提供的遞迴解析器;遠端 DNS 則可使用支援 DoH 或 DoT 的公共服務。不要只根據 DNS 伺服器名稱判斷是否安全,還要確認 v2rayN 的 DNS 請求是否進入 Xray 核心,以及查詢連線是否被路由規則直接放行。
| 使用情境 | 建議解析器 | 常見路徑 | 主要目的 |
|---|---|---|---|
| 國內網站與服務 | 本地或國內 DNS | 直連 | 降低解析延遲,取得較合適的 CDN 位址 |
| 境外網站與代理網域 | 遠端 DoH 或 DoT | 代理 | 避免本地解析失敗或回傳不完整結果 |
| 不確定來源的網域 | 遠端 DNS | 依規則決定 | 先確保可解析,再觀察延遲與穩定性 |
結論:先分流解析器,再調整出站
DNS 分流與代理分流不是同一件事。即使某個網域使用遠端 DNS,實際連線仍可能依路由規則直連;設定時必須分別檢查「誰負責解析」與「連線從哪裡出去」。
v2rayN DNS 設定中的重要選項
開啟 v2rayN 後,通常可從「設定」→「參數設定」或與核心相關的 DNS、路由頁面進入設定。由於 v2rayN 不同版本及核心類型的介面並不完全相同,請先確認目前使用的是 Xray 還是其他核心,再尋找 DNS 伺服器、DNS 分流、FakeDNS、路由模式和查詢策略等選項。
國內 DNS
- 用途
- 國內網域與本地服務
- 協定
- UDP/TCP 53 或本地 DoH
- 路由
- 直連出站
- 優先考量
- 低延遲與 CDN 命中
適合日常使用的國內網站,但不宜單獨承擔所有境外網域的解析工作。
遠端 DNS
- 用途
- 境外網域與代理流量
- 協定
- DoH 或 DoT
- 路由
- 代理出站
- 優先考量
- 可達性與查詢一致性
遠端 DNS 的連線本身也需要可用的出站,不能只填入網址而忽略路由規則。
如果 v2rayN 顯示「DNS 解析策略」或「Domain Strategy」,常見選項會影響核心如何處理網域與 IP。偏向使用 IPv4 的環境,可先選擇優先 IPv4 的策略,避免 IPv6 可解析但實際連線不可達,造成看似 DNS 成功、網頁卻長時間等待的情況。若網路與節點均穩定支援 IPv6,再逐步測試其他策略。
在 v2rayN 建立 DNS 分流
以下流程以「國內網域直連、境外網域代理」為例。請先選擇一個已確認可用的節點,並暫時不要同時啟用其他代理工具、瀏覽器自訂安全 DNS 或多張 TUN 虛擬網卡,否則測試結果可能被其他解析路徑影響。
-
確認核心類型
開啟 v2rayN,查看目前使用的核心,確認是 Xray 或其他核心。進入「設定」→「參數設定」,記下 DNS、路由與本機監聽相關設定,再更新一次訂閱並選擇可用節點。
-
加入遠端解析器
在 DNS 設定中加入遠端 DoH 或 DoT 服務。若介面要求填寫完整 URL,請保留
https://、路徑及必要的查詢參數;若只接受主機名稱,則依欄位說明填寫,不要把兩種格式混在一起。 -
保留國內解析器
加入一組延遲較低的本地或國內 DNS,作為國內網域的解析器。不要一次填入過多服務,先使用一組國內與一組遠端解析器,方便從日誌辨認實際命中結果。
-
設定網域分組
在路由或 DNS 分流規則中,將國內網域規則指向國內解析器,將境外網域或代理網域指向遠端解析器。若版本提供「代理域名使用代理 DNS」等選項,啟用前先確認該選項與目前核心相容。
-
指定查詢出站
讓遠端 DNS 查詢經由代理出站,國內 DNS 查詢經由直連出站。若設定頁面使用「DNS 出站」、「Outbound」或「DNS 路由」等名稱,請檢查是否真的選到代理出站,而不是僅選擇了遠端伺服器名稱。
-
重啟核心測試
儲存設定後,停止並重新啟動核心,再開啟日誌。先測試一個國內網域和一個境外網域,確認兩者均能解析及連線,再逐步恢復瀏覽器與其他網路工具。
若使用 TUN 模式,DNS 接管範圍會比單純系統代理更廣。此時還要確認 TUN 的 DNS 劫持或 DNS 入站設定沒有被關閉,並檢查系統中的其他網卡是否仍提供較高優先級的 DNS。若只使用系統代理,沒有讀取代理設定的程式仍可能直接向系統 DNS 發出查詢,不能將這種結果誤判為 v2rayN DNS 設定失效。
清除快取並驗證實際解析路徑
DNS 快取會讓修改後的結果延遲出現。Windows 可先在終端機執行以下指令清除系統 DNS 快取,再完全關閉並重新開啟瀏覽器。若瀏覽器本身啟用了安全 DNS,還要在瀏覽器隱私或安全性設定中記錄其狀態,必要時暫時關閉,避免它繞過 v2rayN 的 DNS 路徑。
ipconfig /flushdns
nslookup example.com
Resolve-DnsName example.com
nslookup 和 Resolve-DnsName 主要反映系統解析器的使用結果,不能單獨證明查詢是否經過代理。更可靠的做法是同時查看 v2rayN 核心日誌、比較開啟與停止代理時的結果,並觀察國內與境外網域是否依照規則使用不同解析器。若開啟代理後兩類網域永遠顯示相同解析器,代表分流規則可能未命中,或系統與瀏覽器仍在使用其他 DNS。
- 國內網域可解析但速度變慢:檢查是否誤將國內查詢送往遠端 DNS,並確認直連出站沒有被代理規則覆蓋。
- 境外網域顯示解析失敗:查看遠端 DNS 的連線日誌,確認 DoH 或 DoT 的主機可透過目前節點連線。
- 解析成功但網頁無法開啟:問題可能在路由、TLS、IPv6 或節點出站,不一定是 DNS。先用 IP 與網域規則分別測試。
- 每次重啟後設定消失:檢查是否修改了目前未使用的核心設定檔,或訂閱更新時覆蓋了自訂路由與 DNS 選項。
遠端 DNS 一定要使用 DoH 嗎?
不一定。DoH 使用 HTTPS 連接埠 443,通常較容易通過一般網路環境;DoT 使用 853,設定較清楚但可能受到網路限制。選擇能穩定連線且可由代理出站承載的方式即可。
國內 DNS 和遠端 DNS 可以同時填很多組嗎?
可以,但不建議一開始就加入太多。先各保留一組,確認分流命中後再加入備用解析器,否則多個回應來源會讓延遲與故障原因難以判斷。
開啟 FakeDNS 後還需要設定遠端 DNS 嗎?
通常仍需要。FakeDNS 主要負責回傳假 IP、保留網域映射並協助核心還原目標,實際解析策略和查詢出站仍取決於 DNS 設定。使用前要確認 TUN、DNS 入站與核心路由能互相配合。
瀏覽器使用安全 DNS 會造成分流失效嗎?
有可能。瀏覽器若直接建立自己的 DoH 連線,可能繞過系統 DNS 與 v2rayN 的分流規則。排查時先暫停瀏覽器安全 DNS,完成基礎驗證後再開啟,並確認該 HTTPS 連線是否經過預期代理。
常見問題與恢復方法
如果修改後所有網站都無法開啟,先不要同時更換節點、核心和 DNS。依序停止 TUN 或系統代理,恢復原本 DNS 設定,再確認一般系統代理可以連線。若恢復後正常,代表問題多半集中在新加入的 DNS、路由規則或 DNS 出站,而不是訂閱節點本身。
若只有少數網域失敗,可以先移除自訂規則,保留單一遠端 DNS 進行測試,再逐步加入國內網域分組。若開啟 IPv6 後問題變得明顯,先將解析策略調整為優先 IPv4,確認 IPv4 路徑穩定後,再重新測試 IPv6。這比直接更換多組 DNS 更容易定位原因。
錯誤:failed to lookup domain
原因與解法:核心無法從指定解析器取得結果;先檢查遠端 DNS URL、代理出站及節點連線,再用單一解析器測試。
錯誤:context deadline exceeded
原因與解法:DNS 查詢在設定的等待時間內沒有完成;檢查 DoH 或 DoT 連接埠是否可達,並暫時換用延遲較低的服務比較。
錯誤:no such host
原因與解法:解析器回覆沒有該網域,或分流規則把查詢送到不合適的解析器;確認網域拼寫、DNS 分組與路由命中順序。
最後,請以「能否穩定解析、查詢是否走對出站、國內外網域是否符合分流預期」作為判斷標準,而不是只看某一個檢測頁面顯示的 DNS 名稱。完成設定後,建議在相同節點下測試國內網站、境外網站、需要 IPv4 的服務與需要 IPv6 的服務,並記錄修改前後的查詢時間與錯誤日誌,之後遇到異常就能快速回到已知可用的設定。