V2Ray DNS 設定教學:網域分流解析與防 DNS 汙染

了解 v2rayN 與 v2rayNG 的 DNS 設定:本地網域使用本地 DNS,海外網域透過遠端 DNS 解析,搭配路由規則降低 DNS 汙染與外洩風險。

本文重點

先確認應用程式將網域交給哪個解析器,再設定本地與遠端 DNS,最後檢查 DNS 查詢和應用程式連線各自的出口。本文適合已匯入設定,但遇到部分網站無法開啟或解析結果異常的使用者。依照步驟建立本地網域直連解析、海外網域按需使用遠端 DNS 的檢查清單,並釐清 DNS 汙染、DNS 外洩與一般連線故障的差異。

一、釐清 DNS 解析、路由與代理出口

DNS 會將網域名稱轉換成 IP 位址;路由則決定連線要直連或透過代理。兩者彼此相關,卻不是同一個設定:填入遠端 DNS 位址,不代表 DNS 查詢一定會經過代理;將某個網站設為代理,也不代表瀏覽器先前沒有使用系統 DNS 查詢該網站。

應用程式提交網域 規則判斷目標 視需要解析位址 選擇連線出口 連線至目標服務

這個流程說明的是檢查順序,並不表示每個連線都必須先在本機完成解析。HTTP 代理或 SOCKS 代理收到網域名稱後,可以將網域交由遠端處理;依 IP 位址比對的規則則可能觸發本機核心解析。如果應用程式先解析,再將 IP 位址交給代理,客戶端可用的原始網域資訊可能會減少。

二、選擇本地 DNS、遠端 DNS 與傳輸方式

「本地 DNS」通常是指用於直連情境的解析器,不一定是執行在電腦上的服務;「遠端 DNS」通常是指用於代理情境的解析器,也不代表它會自動經過代理。先依用途分類,再分別確認傳輸協定、伺服器位址與實際連線出口。

53
傳統 DNS 常用的 UDP/TCP 連接埠
853
DNS over TLS 的標準連接埠
443
DNS over HTTPS 常用的連接埠

以上是各協定常見的連接埠,不是要統一填入客戶端的監聽連接埠。客戶端欄位是否接受 DoH 位址,須依目前版本與欄位說明判斷;不能因為 DoH 使用 HTTPS,就把一般網站首頁當成 DNS 端點。DoT 位址格式也不是所有 DNS 欄位都支援。

解析用途設定方向檢查項目
中國大陸直連網域使用目前網路可連線的本地解析器,例如電信業者 DNS,或視需要使用 223.5.5.5確認查詢是否直連,以及回傳的位址是否適用於目前網路
海外代理網域使用可經代理存取的遠端解析器;支援 DoH 的欄位可視需要填入 https://dns.google/dns-query確認端點是否受支援、能否連線,以及查詢是否依預期經過代理
代理伺服器網域保留代理連線建立前即可使用的初始解析路徑確認是否依賴尚未連線的代理,以及是否形成循環依賴
區域網路裝置名稱優先保留路由器或內部網路 DNS 的解析功能確認內部網路名稱是否被誤送至公共 DNS

判斷方式:先確認查詢的連線出口,再更換解析器

若遠端 DNS 仍透過受干擾的直連路徑連線,單純更換位址不一定有效。先透過記錄或連線資訊確認查詢路徑,再決定是否調整伺服器與傳輸方式。

三、檢查 v2rayN 的 DNS 與路由設定

先記下目前的執行模式與核心,再開啟「設定」→「DNS 設定」。不同版本可能會將相關選項放在設定視窗的 DNS 分頁,請依實際介面的欄位說明操作。不要將網路上的整段 JSON 直接貼進用途不同的欄位,也別以為切換核心後,所有 DNS 設定的意義都相同。

  1. 記下原始設定。保存目前本地 DNS、遠端 DNS、路由模式與執行核心的設定。若已啟用自訂 DNS 設定,請先備份原始內容,以免測試後無法還原。
  2. 設定直連解析。在本地或直連 DNS 欄位中填入可連線的解析器。若使用 223.5.5.5,請確認目前網路允許連線;企業網路的內部網域應優先交由企業 DNS 解析,不要一律改用公共 DNS。
  3. 設定遠端解析。在遠端 DNS 欄位中使用目前核心支援的格式。若支援 DoH,可視需要使用 https://dns.google/dns-query;此位址僅供設定參考,不代表所有網路都能直接連線。
  4. 檢查路由規則。開啟「設定」→「路由設定」,檢查中國大陸網域規則、代理網域規則與預設出口。若要依網域分流,不能只保留 IP 規則而忽略網域規則。
  5. 儲存並重新啟動核心。讓新設定重新載入,再查看記錄是否出現 DNS 設定格式錯誤、解析逾時或伺服器連線失敗。介面顯示儲存成功,只代表設定已寫入,不代表實際連線路徑正確。

若執行設定使用 V2Ray/Xray 的 routing.domainStrategy,需分清三種常見值。AsIs 表示路由階段依原始網域處理,不會為了 IP 規則主動解析;IPIfNonMatch 會在網域規則未符合時嘗試解析,再繼續比對;IPOnDemand 則會在比對需要 IP 的規則時按需解析。這些值並不等同於「直連、代理、全域」。

四、檢查 v2rayNG 的 VPN 接管與 DNS

在 v2rayNG 中開啟側邊欄的「設定」,找到「遠端 DNS」、「本地 DNS」以及該版本提供的本地 DNS 啟用選項。選項名稱可能隨版本調整;填入本地 DNS 後,還要確認已啟用相應功能,不能只看欄位中有位址就認定設定已生效。

  1. 確認連線模式。啟動設定並檢查系統 VPN 連線狀態。若只使用代理模式,未經該代理的應用程式不會自動受這組 DNS 設定管理。
  2. 檢查本地 DNS。依目前網路填入直連解析器,並確認啟用選項已開啟。保留內部網路的解析需求;公司內網與家中裝置名稱通常無法透過公共 DNS 解析。
  3. 檢查遠端 DNS。填入目前版本支援的遠端位址,儲存後停止並重新啟動連線。若要使用加密 DNS,先確認欄位支援相應協定,不要自行拼湊位址前綴。
  4. 檢查路由與個別應用程式設定。在「設定」→「路由設定」中檢查中國大陸流量的處理方式,並確認個別應用程式代理設定。被排除的應用程式可能仍使用系統網路與系統 DNS。
  5. 檢查系統與瀏覽器。記下 Android「私人 DNS」與瀏覽器「安全 DNS」是否已啟用。排查時一次只調整一項,再重新建立連線,比較記錄與解析行為。

Android 私人 DNS、瀏覽器內建 DoH 與核心 DNS 可能形成多條解析路徑。不要直接認定某個開關一定會覆蓋其他開關;應根據 VPN 接管範圍、應用程式是否遭排除,以及實際連線記錄來判斷。尤其是瀏覽器自行使用 DoH 時,查詢可能像一般 HTTPS 流量一樣經過路由,卻不使用客戶端內建的解析器。

五、搭配設定解析規則與連線規則

「中國大陸網域使用本地 DNS、海外網域使用遠端 DNS」需要兩個層面互相配合:DNS 層選擇解析器,路由層選擇應用程式連線的出口。只改 DNS 不會自動讓連線改走代理;只改應用程式路由,也無法撤回應用程式已送往系統的 DNS 查詢。

代理伺服器本身的網域也要另外處理。若節點必須先完成解析才能連線,而該解析又被設定為只能經過尚未建立的代理,就會形成啟動循環。遠端 DoH 伺服器若使用網域名稱,也可能需要初始解析;應檢查目前核心如何建立這條初始連線,而不是強制所有解析器都走代理。

判斷方式:先保留可啟動的連線路徑,再逐步細分流量

先確保節點網域與解析服務有可用的初始連線路徑,再逐步調整應用程式網域的解析規則。每調整一個層面就重新連線測試,避免將啟動失敗誤判為節點故障。

六、透過記錄、快取與對照查詢驗證

驗證時要分別回答三個問題:查詢送給誰、查詢經過哪條路徑,以及應用程式連線使用哪個出口。只看到可用的 IP 位址,無法證明 DNS 沒有繞道;只看到瀏覽器能開啟網頁,也無法證明所有應用程式都已受到接管。

  1. 選定測試對象。分別選擇一個中國大陸的公共網域、一個需要透過代理存取的網域,以及實際使用的內部網路名稱。固定使用同一組對象,避免每次更換網站而無法比較結果。
  2. 重新建立連線。儲存 DNS 設定後,重新啟動客戶端連線,並關閉後再開啟測試應用程式。瀏覽器、系統與核心各自有快取,只清除其中一處可能仍會沿用舊結果。
  3. 查看客戶端記錄。先確認設定已成功載入,再檢查解析錯誤與出口記錄。記錄是否顯示完整 DNS 細節,取決於核心與記錄層級;沒有相關記錄不代表沒有進行查詢。
  4. 進行系統端對照。在 Windows 終端機執行以下命令,觀察預設解析器與指定解析器的差異。請注意,這些命令檢查的是系統端查詢,無法取代客戶端核心 DNS 的驗證。
nslookup www.qq.com
nslookup www.qq.com 223.5.5.5
ipconfig /flushdns

第一個命令通常使用目前的系統解析器;第二個命令會向指定位址查詢;第三個命令會清除 Windows DNS 快取。不同解析器回傳不同 CDN 位址很常見,不能只憑位址不同就判定遭到汙染。應一併檢查位址是否合理、解析是否穩定、目標是否可連線,以及客戶端記錄。

七、依照症狀排查常見 DNS 問題

換了遠端 DNS,為什麼網頁還是打不開?

先從記錄分辨是解析逾時還是連線逾時。確認遠端 DNS 位址格式受支援、伺服器可連線,且查詢出口正確;若已取得 IP 位址,就接著檢查節點連線與應用程式路由,不要反覆更換 DNS。

瀏覽器正常,其他應用程式卻解析失敗,怎麼辦?

先檢查該應用程式是否被排除在 VPN 或個別應用程式代理之外,再確認它是否使用自己的 DNS。桌面裝置僅啟用系統代理時,也要確認應用程式是否讀取系統代理設定;不能把瀏覽器連線正常當成整部裝置都已接管的證據。

更改 DNS 後,中國大陸網站反而變慢了?

檢查中國大陸網域是否交由遠端解析器解析,以及應用程式連線是否仍然直連。解析位置與連線出口不一致時,可能取得不適合的 CDN 位址。恢復本地直連解析並重新建立連線,再比較同一個網站。

只有部分網站無法連線,需要關閉 IPv6 嗎?

先比較 A 與 AAAA 記錄的連線狀況,並檢查目前出口是否能連線至 IPv6。可暫時調整 IPv6 解析選項進行對照,但請記下原始設定;不要以關閉 IPv6 取代對 IPv6 路由與接管範圍的檢查。

訂閱更新後,DNS 設定也會一併同步嗎?

一般節點訂閱主要更新伺服器設定,不一定包含客戶端的全域 DNS 與路由設定。更新後請重新檢查本地設定;若使用完整自訂設定,也要確認執行設定是否覆蓋介面中的 DNS 選項。

最後保留一份可還原的設定紀錄,註明執行核心、接管模式、本地與遠端解析器、路由策略、瀏覽器 DNS 設定及修改日期。下次遇到問題時,從最後調整的項目開始還原,比同時更換節點、DNS 與路由更容易找出原因。

下載v2rayN依平台選擇客戶端