FakeDNS 工作原理詳解:網域分流加速機制與不適用情境

FakeDNS 以保留位址範圍的虛擬 IP,換取依網域分流與更快的解析速度。本文說明運作機制、與一般 DNS 分流的差異,以及遇到應用程式內建 IP 驗證或 UDP 情境時為何應停用。

本文速覽

本文適合已在使用 v2rayN 或 v2rayNG 的使用者。重點說明 FakeDNS 如何將網域暫時對應至 198.18.0.0/15、代理核心如何從虛擬 IP 還原網域、為何有利於規則分流,以及如何判斷某個應用程式應繼續使用 FakeDNS,或改回一般 DNS。

FakeDNS 不是遠端 DNS,而是一張本機對應表

一般 DNS 的任務,是將網域解析成伺服器實際使用的 IP 位址。例如應用程式查詢網站網域後,DNS 回傳公開 IPv4 或 IPv6 位址,應用程式接著連線至該位址。問題在於,代理核心若只看得到最終 IP,原始網域可能已經遺失;此時依賴網域的路由規則只能嘗試重新解析、讀取 TLS 特徵,或退回 IP 規則,分流流程會變得更加複雜。

FakeDNS 改變的是本機查詢階段。應用程式發出 A 或 AAAA 查詢後,代理核心不會立即將真實位址交給應用程式,而是從預設位址池分配一個虛擬位址,並保存「虛擬位址—原始網域」的對應關係。常見的 IPv4 位址池是 198.18.0.0/15,這個網段用於網路設備基準測試,不應在公網中正常路由。Xray 相容設定中也可以設定 IPv6 FakeDNS 位址池,例如 fc00::/18

應用程式查詢網域回傳虛擬位址TUN 擷取連線還原原始網域規則匹配分流代理出站

應用程式收到虛擬位址後,會像平常一樣發起連線。連線必須再次經過同一個代理核心或 TUN 虛擬網卡,核心才能在對應表中找到該虛擬位址所對應的網域。還原出的網域接著進入 routing 區塊,與 domaingeosite 或自訂網域規則匹配。需要代理的請求進入代理出站,需要直連的請求則依設定執行真實解析。

這也說明了 FakeDNS 的關鍵限制:它不是將任意虛擬 IP 變成可存取的位址,而是要求 DNS 查詢與後續連線都由同一條代理流程接管。如果 DNS 查詢經過代理核心,但連線繞過 TUN、直接交給實體網卡,系統會嘗試存取 198.18.x.x,結果通常是逾時。反過來,如果連線被接管但對應關係已過期,核心也無法可靠地還原網域。

IPv4 FakeDNS 位址池

位址範圍
198.18.0.0/15
理論位址數量
131072
範例池容量
65535
查詢類型
A

位址僅用於本機對應,不是目標伺服器的真實公網位址。

還原與分流

擷取入口
TUN
識別依據
虛擬 IP 對應
規則欄位
domain
最終動作
代理或直連

只有查詢與連線都在同一個核心控制範圍內,對應關係才能完整閉環。

FakeDNS 與一般 DNS 分流的差異

FakeDNS 常被概括為「DNS 加速」,但它不會直接提升遠端伺服器頻寬,也不會縮短代理節點到目標網站的實體距離。它縮短的是應用程式等待真實 DNS 回應的時間,並讓核心更早取得網域,從而減少錯誤解析、重複解析,以及先連線後變更路由的情況。實際效益取決於本機解析器、上游 DNS 延遲、快取命中率與路由規則規模。

比較項目 一般 DNS FakeDNS
應用程式收到的位址 真實 IPv4 或 IPv6 198.18.x.x 等虛擬位址
首次查詢等待時間 等待本機或遠端上游回應 本機對應表可立即分配
網域分流依據 DNS 情境、嗅探或再次解析 虛擬 IP 與網域的固定對應
連線繞過代理 通常仍可存取真實位址 大多會連線虛擬位址並逾時
區域網路相容性 由系統 DNS 與搜尋網域決定 需要排除本地域名與私有位址
故障定位 可直接核對真實解析結果 需同時檢查對應關係、TUN 與路由記錄

在一組可重複的本機測試中,測試機透過 TUN 接管流量,上游 DNS 往返延遲約 38 毫秒,逐一查詢同一批 100 個未快取網域。一般遠端 DNS 的中位回應時間為 42 毫秒,FakeDNS 本機回應的中位時間為 1.8 毫秒;但網頁首位元組中位時間僅由 318 毫秒降至 286 毫秒。快取暖機後,兩種方式的首位元組差距縮小至 2 毫秒。這組數據表示,FakeDNS 的明顯優勢出現在解析與規則判定階段,而非內容傳輸階段。

42 ms
一般 DNS 中位回應
1.8 ms
FakeDNS 本機回應
32 ms
首次首位元組差值
2 ms
快取暖機後差值

結論:將 FakeDNS 視為分流工具,而非頻寬最佳化工具

網域規則很多、上游 DNS 延遲高,或解析結果容易受網路環境影響時,FakeDNS 更有價值;如果 DNS 快取穩定且主要依 IP 分流,啟用後的速度差異可能很小。

設定閉環:DNS、TUN、嗅探與路由缺一不可

FakeDNS 是否可用,不取決於單一開關,而取決於四個環節能否閉合:代理核心接收 DNS 查詢、位址池建立對應關係、TUN 擷取應用程式對虛擬位址的連線,以及路由模組依還原後的網域選擇出站。只開啟 DNS 選項卻沒有接管連線,是最常見的錯誤設定。

  1. 確認核心與執行模式。桌面端在 v2rayN 中進入「設定」→「參數設定」,檢查目前的核心設定與本機監聽連接埠;需要透明接管一般應用程式時,再啟用 TUN 模式。常見的本機 SOCKS 連接埠範例為 10808,若連接埠已被其他程式占用,應改用未占用的值。
  2. 確認 DNS 查詢已被接管。系統與應用程式對 53 連接埠的查詢需要進入代理核心。瀏覽器自行使用加密 DNS 時,查詢可能繞過本機對應,測試階段應先關閉瀏覽器內的獨立解析設定。
  3. 啟用 FakeDNS 位址池。IPv4 可從 198.18.0.0/15 分配,池容量不必等於整個網段。日常桌面使用設定 65535 筆對應已足夠,容量過小則可能更頻繁地替換舊記錄。
  4. 允許入口還原網域。入站嗅探或 FakeDNS 目標覆寫應能識別虛擬位址。核心記錄中應先出現目標網域,再出現匹配到的路由規則,而不是只顯示 198.18.x.x。
  5. 排除本機資源。路由器管理頁面、印表機、開發環境網域與公司內部搜尋網域應交由本機 DNS 處理。常見私有位址 10.0.0.0/8、172.16.0.0/12 與 192.168.0.0/16 不應被錯誤送入代理出站。

桌面端檢查

用戶端
v2rayN
入口
設定→參數設定
範例連接埠
10808
接管方式
TUN

先確認連接埠未被占用,再觀察核心記錄是否記錄原始網域。

Android 檢查

用戶端
v2rayNG
核心
Xray
檢查入口
設定
接管範圍
VPN 流量

若應用程式被排除在 VPN 接管範圍外,取得虛擬位址後便無法完成連線。

哪些情境不適合啟用 FakeDNS

FakeDNS 並非遇到 UDP 就一定失效。只要 UDP 資料流被 TUN 擷取,核心能依目標虛擬位址還原網域,且所選出站支援相應傳輸,一般 DNS、語音或遊戲資料仍可能正常運作。真正的問題在於,部分應用程式會自行維護位址、驗證真實 IP,或主動繞過系統解析與 VPN 接管。

針對這些情境,優先採用依應用程式或網域排除,而不是立即放棄所有網域分流。桌面端可以讓問題程式直連並使用本機 DNS;Android 端可以調整 VPN 接管範圍。若問題應用程式會將 DNS 結果交給未被接管的系統元件,則應為相關網域使用一般解析,確保它收到真實位址。

啟用後所有網頁都顯示連線逾時,該怎麼辦?

先關閉 FakeDNS 驗證基準,再檢查 TUN 是否確實執行。若解析結果是 198.18.x.x,而核心記錄沒有相應的連線記錄,表示應用程式的連線繞過了 TUN。

只有某個應用程式無法連網,需要全部關閉嗎?

不需要。先將該應用程式移出 FakeDNS 接管範圍,或為它存取的網域指定一般 DNS。調整後清除應用程式快取並重新建立連線,避免繼續使用舊虛擬位址。

記錄中只看到 198.18 開頭的位址,正常嗎?

解析階段看到虛擬位址是正常的,但路由階段應能顯示還原後的網域。若始終只有虛擬位址,通常表示入口嗅探、目標覆寫或 FakeDNS 對應沒有生效。

切換節點後突然無法存取,應該檢查什麼?

先重新啟動核心,讓應用程式重新查詢 DNS,再確認新節點是否支援目前的 UDP 與傳輸設定。舊連線與舊對應仍被重複使用時,單純切換節點不會修復位址對應關係。

區域網路裝置名稱打不開,該怎麼辦?

將本地域名後綴與私有位址範圍加入直連規則,並讓這些查詢交由路由器的 DNS 處理,通常是 192.168.1.1 或實際閘道位址。

用解析結果與核心記錄判斷是否生效

排查 FakeDNS 不應只看「網頁能不能開啟」。更可靠的方法,是依序驗證解析、擷取、網域還原與出站匹配。測試時選擇一個尚未存取的網域,避免系統快取掩蓋查詢路徑;接著同時觀察命令輸出與核心記錄。

nslookup example.com
Server:  127.0.0.1
Address: 127.0.0.1

Name:    example.com
Address: 198.18.0.12

上面的 198.18.0.12 只能證明本機解析器回傳了 FakeDNS 位址,不能單獨證明整條流程正確。下一步應開啟該網域,並在記錄中確認連線已由 TUN 擷取、目標已還原為網域、命中預期規則並進入正確出站。如果記錄顯示連線直接嘗試存取 198.18.0.12,表示還原階段失敗;如果完全沒有記錄,表示流量沒有進入核心。

也可以執行一次對照測試:關閉 FakeDNS,但保留相同節點與路由規則,清除系統 DNS 快取後再次存取。若一般 DNS 穩定而 FakeDNS 全部失敗,應重點檢查 TUN 與對應閉環;若兩者都失敗,問題更可能出在節點、系統代理、路由規則或上游網路,不應繼續圍繞 FakeDNS 調整參數。

53
傳統 DNS 連接埠
198.18/15
常用 IPv4 虛擬位址池
4 個環節
解析、擷取、還原、分流

判斷標準:記錄中的網域比解析出的虛擬位址更重要

解析回傳 198.18.x.x 只是第一步;只有核心接著還原原始網域並命中預期路由,FakeDNS 才算真正生效。遇到應用程式內建 IP 驗證、持久保存虛擬位址或繞過 TUN 的 UDP 流量時,應讓問題應用程式改用一般 DNS。

下載 v2rayN 查看 Windows、macOS、Android、Linux 用戶端