Windows VPN 分流的核心,是把不同連線交給不同路徑處理:指定應用程式經過 VPN,其他程式維持目前的本地網路;或者反過來,只讓少數私人網段進入 VPN,其餘流量直接連線。這種設定適合需要同時使用公司內網、區域服務、遊戲、瀏覽器與本地影音的情境,也能避免開啟 VPN 後所有應用程式都被同一條路線接管。

不過,「Windows VPN 分流」並不是單一功能名稱。Windows 內建 VPN 設定通常以路由和網路介面為中心,官方 VPN 設定可以處理全域路由或分割通道;Clash Verge、sing-box 等相容用戶端則可能提供規則分流、TUN 模式、程序分流或系統代理模式。不同模式的接管範圍並不相同,先分清楚使用的是哪一種,才能避免設定看似完成,實際上卻沒有套用到目標程式。

先理解 Windows 分流的三種方式

第一種是 Windows 內建 VPN 的路由分流。它按照目標 IP、網段與路由表決定流量是否進入 VPN,不是直接按照程式名稱辨識。因此,它很適合「公司內網走 VPN、一般網路走本地」或「某個私人網段固定由 VPN 連入」的需求;但如果你想做到「只有某個瀏覽器或某個遊戲程序經過 VPN」,單靠內建設定通常不夠直觀。

第二種是系統代理模式。用戶端在 Windows 中寫入 HTTP、HTTPS 或 SOCKS 代理設定,瀏覽器及部分支援系統代理的應用程式會依照代理設定傳送流量。這種模式設定簡單、影響範圍容易撤銷,但並非所有程式都會遵循系統代理。部分遊戲、更新器、命令列工具、背景服務與使用自訂網路堆疊的軟體,可能完全不理會該設定。

第三種是 TUN 或虛擬網路介面模式。用戶端建立虛擬介面,把系統封包導入自己的核心,再依照規則判斷直連或代理。這類模式可以處理更多不支援系統代理的程式,並能配合程序名稱、程序路徑、網域、IP、連接埠與地區資料庫分流。不過,TUN 並不等於自動完成設定;虛擬介面、DNS、IPv6、系統防火牆和其他 VPN 軟體之間若互相衝突,反而可能造成無法連線。

3

常見分流層級

100+

可選國家

160+

可選線路

不限

同時在線設備

如果目標只是讓瀏覽器使用代理,優先從系統代理模式開始;如果目標程序不讀取代理設定,才考慮 TUN;如果是公司網段或固定 IP 範圍,則應先研究 Windows 的路由分割。把所有需求都交給 TUN,未必是最穩定的做法。

依用戶端選擇正確模式

Windows 官方客戶端通常提供登入、下載設定或匯入連線設定的流程。這類客戶端的優點是操作較集中,更新與連線狀態也比較容易查看;但「指定程序走 VPN」是否可用,要看客戶端本身是否實作應用程式分流。若介面只有全域連線、分割通道或路由設定,通常代表它是以網段和路由為主,而不是以程式為主。

Clash Verge 類用戶端一般會把代理模式、規則模式與 TUN 模式分開。規則模式通常根據網域、IP 或規則集選擇代理;若要按照 Windows 程序判斷,需確認目前核心與設定檔是否支援程序匹配,以及 TUN 是否已啟用。不同核心對程序匹配欄位的命名可能不同,不能把其他平台的範例原樣貼到 Windows 設定檔。

sing-box 在 Windows 上也常透過 TUN 入站與路由規則進行分流。它可以使用程序名稱、程序路徑、網域、IP 和連接埠等條件,但需要確認服務端訂閱格式、核心版本和本機設定彼此相容。Shadowsocks、VMess、Trojan、Hysteria2 或 WireGuard 等協定,負責的是用戶端與遠端入口之間的連線方式;「哪個程式走 VPN」則屬於本機路由或規則層,兩者不要混為一談。

使用方式 適合情境 主要限制 確認重點
Windows 內建分割通道 指定私人網段進入 VPN 不以程序名稱直接判斷 路由表與 VPN 介面是否正確
系統代理 瀏覽器與支援代理的應用程式 部分程式完全不讀取代理 程式是否採用系統代理設定
TUN 虛擬介面 遊戲、工具與背景連線等廣泛流量 需要處理權限、DNS 與路由衝突 虛擬介面、規則與核心狀態
程序規則 只讓指定執行檔使用 VPN 更新器與子程序可能使用不同檔名 實際程序名稱與完整路徑
判斷重點:想按程式分流,先確認用戶端是否支援程序匹配與 TUN;只有系統代理選項時,不要預設所有 Windows 程式都會遵守規則。

指定程式連線的實際設定流程

設定前先完全關閉其他 VPN、代理或加速器,並記下目前的網路狀態。Windows 同時啟用兩個會建立虛擬介面的工具時,可能出現預設路由互搶、DNS 指向錯誤或某些程式間歇性無法連線。若用戶端需要安裝 TUN 驅動或啟用虛擬介面,請使用具備系統管理員權限的帳戶操作,並只從正式用戶端來源取得安裝檔。

先找出正確的程序名稱與路徑

不要只依照桌面捷徑名稱建立規則。捷徑可能指向啟動器,真正連線的程序卻是另一個執行檔;遊戲、瀏覽器、開發工具和同步軟體也常會由主程序再啟動子程序。可以在工作管理員中開啟「詳細資料」頁,查看實際執行檔名稱;也可以從程序內容查看位置,記錄完整路徑。

若同一個軟體包含啟動器、更新器、主程式和背景服務,先分別確認每個程序的作用,再決定哪些需要代理。只加入啟動器而沒有加入主程式,常見結果是登入頁可以開啟,但進入實際功能後流量又回到本地網路。反過來,把整個軟體目錄中所有程序都導入 VPN,可能讓更新、驗證或本地服務出現額外問題。

在規則模式中新增程序規則

進入用戶端的設定檔、路由或規則頁面,先確認目前正在使用的設定檔,接著尋找意思接近「程序規則」「Process」「Process Name」「Process Path」或「應用程式分流」的欄位。名稱會依用戶端和核心而異。新增規則時,通常要填入執行檔名稱或完整路徑,再把動作設為代理、VPN、直連或指定策略組。

規則順序非常重要。多數規則引擎由上而下比對,第一條符合的規則就會生效。如果上方已有「所有流量直連」「區域網路直連」或通用網域規則,程序規則可能永遠沒有機會執行。把較具體的程序規則放在通用規則之前,儲存後重新載入設定檔,再觀察規則命中記錄。

若用戶端支援「排除程序」,也可以採取相反策略:先讓大部分流量經過 VPN,再把需要本地連線的程式列入排除。這種方法比較省規則,但影響範圍更大,且容易讓本地銀行、公司管理工具、區域印表機或內網服務受到幹擾。一般而言,只代理少數指定程式時,白名單式的「指定程序走 VPN」較容易維護。

程序規則的判斷順序示例:
1. 指定執行檔 → 代理
2. 公司內網網段 → 直連或指定 VPN
3. 區域網路與本機位址 → 直連
4. 其他流量 → 依全域模式處理
  • ✅ 先確認規則使用的是目前生效的設定檔。
  • ✅ 使用實際執行檔名稱,不要只填桌面捷徑名稱。
  • ✅ 把具體程序規則放在通用直連或代理規則之前。
  • ✅ 儲存後重新載入設定,必要時重啟目標程式。
  • ✅ 查看連線記錄,確認規則真的被命中。
  • ❌ 不要同時開啟兩個會接管系統流量的 VPN 用戶端。
  • ❌ 不要把完整訂閱連結貼到不明的規則轉換服務。

Windows 內建 VPN 的分割通道設定

如果你的需求是「連到公司或私人網段時使用 VPN,其他網路保持本地」,Windows 內建 VPN 的分割通道更適合。圖形介面中若看到類似「在遠端網路上使用預設閘道」的選項,關閉後通常會讓一般網際網路流量不再全部進入 VPN;接著還需要加入目標網段的路由,否則 VPN 雖然已連線,指定內網仍可能找不到正確路徑。

部分版本可以使用 PowerShell 管理 VPN 連線。例如,建立或修改連線時常會用到 -SplitTunneling 參數;但實際執行前應先確認連線名稱、VPN 類型與公司提供的路由要求。分割通道只描述流量如何選路,不會自動產生所有內網路由,也不會把某個桌面程式直接綁定到 VPN。

Get-VpnConnection
Get-VpnConnection -Name "你的 VPN 名稱"
Set-VpnConnection -Name "你的 VPN 名稱" -SplitTunneling $True

上面的指令是檢查與修改方向的示例,連線名稱必須替換成電腦中實際存在的名稱。若這是公司管理的 VPN,請先依管理者提供的網段與政策設定;自行修改可能導致內網服務、名稱解析或安全控管失效。完成後,可以使用 route print 查看路由表,確認目標網段是否指向 VPN 介面,而預設路由是否仍由本地網卡承擔。

需要特別注意的是,路由分流與程序分流是兩個層級。Windows 內建分割通道可以讓特定 IP 網段通過 VPN,但同一個程式連線到不同服務時,可能同時產生本地與 VPN 流量。若必須嚴格按照程序控制,仍需使用支援程序規則的第三方客戶端,並確認其 TUN 核心正常運作。

設定後如何驗證指定程式

驗證不能只看用戶端顯示「已連線」。首先關閉並重新開啟目標程式,讓它重新建立連線;接著在用戶端的連線記錄中搜尋程序名稱、網域或連接埠。如果記錄顯示流量命中代理策略,代表規則至少被核心看見。若完全沒有記錄,可能是程序沒有經過該用戶端、TUN 尚未啟用,或規則條件填寫錯誤。

第二步是分別比較目標程式和一般程式。指定程式應使用預期的 VPN 出口,而未列入規則的瀏覽器或本地服務則應維持原本路徑。不要只用瀏覽器開啟 IP 查詢頁來判斷所有程式,因為瀏覽器可能遵循系統代理,但遊戲或背景服務不一定遵循。應配合用戶端日誌、Windows 網路狀態和實際功能測試一起判斷。

第三步是檢查 DNS 和 IPv6。若網域解析仍由本地 DNS 完成,可能出現解析結果與代理出口不一致;若 IPv6 沒有被規則接管,部分程式可能繞過 IPv4 規則直接連線。是否啟用遠端 DNS、DNS 劫持防護或 IPv6 路由,要依用戶端能力與網路環境決定,不能在沒有測試的情況下盲目關閉系統功能。

驗證方式 可以確認什麼 不能單獨證明什麼
用戶端連線日誌 程序或網域是否命中規則 所有子程序是否都使用相同路徑
route print 目標網段與預設路由方向 特定程序是否遵循該路由
工作管理員 實際執行檔名稱與子程序 封包是否已通過 VPN
功能實測 登入、載入、同步或通話是否正常 長時間路由是否完全不變
驗證結論:程序名稱命中、連線記錄正確、目標功能正常,並且未指定的程式仍維持預期路徑,三者同時成立才算分流完成。

常見故障與排查順序

規則沒有生效

先確認設定檔已儲存並重新載入,再確認規則位置。最常見的原因是把規則加到未啟用的設定檔,或通用規則排在程序規則前面。其次是程序名稱不正確:工作管理員顯示的名稱可能只代表啟動器,真正連線的是另一個子程序。若目標程式有自動更新,更新後也可能更換執行檔位置。

開啟 TUN 後整台電腦無法上網

這通常與虛擬介面、預設路由、DNS 或其他網路工具衝突有關。先停用其他 VPN、代理、遊戲加速器和自訂 DNS 工具,再重新啟動用戶端。若仍然無法連線,暫時關閉 TUN,確認系統代理模式是否恢復正常,然後逐項重新啟用功能。不要一次更改多個核心選項,否則很難判斷真正原因。

部分程式仍然繞過 VPN

檢查該程式是否使用 IPv6、QUIC、UDP 或獨立的背景服務。程序規則只匹配主程序時,子程序可能仍然直連;而某些應用程式會透過服務程序或系統元件發送請求。這時可以查看連線記錄中的程序欄位,必要時將相關子程序一併納入規則,但要避免把不相關的系統服務廣泛導入代理。

本地印表機或公司資源無法使用

確認區域網路與公司內網規則是否排在全域代理規則之前。常見的本地網段、公司 DNS 名稱和內部網域,應依實際網路政策設為直連或指定 VPN。若使用 Windows 內建分割通道,還要檢查 VPN 連線是否帶入了過寬的預設路由。修改前先記錄原本的路由狀態,方便回復。

  • ✅ 一次只保留一個主要流量接管工具。
  • ✅ 每次修改後重新啟動目標程式並查看日誌。
  • ✅ 同時檢查 IPv4、IPv6、DNS 與 UDP 行為。
  • ✅ 為公司內網、本地裝置和一般網際網路分別設計規則。
  • ❌ 不要用「瀏覽器可以開啟」推論所有程式都已經走 VPN。
  • ❌ 不要為了修復單一程式而直接把全域模式改成永久代理。

讓分流設定更容易維護

建議為不同目的建立清楚的設定檔,例如一般瀏覽、工作內網或指定應用程式。規則名稱使用容易理解的描述,並在備註中記錄加入原因。當用戶端更新、核心更換或 Windows 網路介面變動後,重新檢查 TUN 狀態、程序路徑與 DNS 行為。不要只因為某次連線成功,就認為所有日後版本都會維持相同結果。

訂閱更新通常會更新節點、協定參數或策略組,但不一定保留你在本機手動加入的程序規則。若用戶端支援本地覆寫檔,應把自訂規則放在明確的本地設定層;若不支援,更新前先匯出設定或記錄規則內容。訂閱連結本身可能包含個人存取憑證,不要把完整網址放進公開截圖、論壇貼文或第三方轉換頁。

使用 VPN 分流時,也要遵守所在地法律、公司政策與服務條款。對於工作資料、帳號登入和敏感內容,應優先使用組織指定的 VPN 與安全政策;不要為了測試程序規則而停用防火牆、憑證驗證或端點防護。分流的目標是讓路由更符合需求,不是繞過安全控制。

常見問題

Windows 內建 VPN 可以直接指定某個程式嗎?

Windows 內建 VPN 主要以路由和網段分流為核心,通常不能像部分代理用戶端那樣直接依執行檔名稱建立程序規則。若需求是指定某個應用程式,應使用支援程序分流的用戶端與 TUN 模式,或先確認該程式能否遵循系統代理。

只開啟系統代理,為什麼遊戲沒有走 VPN?

許多遊戲、啟動器和背景服務不會讀取 Windows 系統代理,部分連線也可能使用 UDP。請查看用戶端是否支援 TUN 與程序規則,並確認遊戲的實際主程序、啟動器和必要子程序都有正確匹配。

程序規則應該填名稱還是完整路徑?

依用戶端支援的匹配方式而定。程序名稱較容易維護,但同名程序可能造成誤匹配;完整路徑更精準,卻可能因更新或重新安裝而改變。若兩種方式都可用,先以實際日誌確認匹配結果,再選擇較穩定的寫法。

分流後本地網站或印表機無法使用,怎麼處理?

先檢查區域網路、本地 IP、公司內網網段和內部網域是否被錯誤送入代理,再查看規則順序與預設路由。將本地資源設為直連通常是方向之一,但公司環境可能要求特定內網經過 VPN,應依管理者提供的路由政策調整。

總結來說,指定程式連線並不是單純勾選一個「VPN 分流」開關,而是由用戶端模式、TUN 或系統代理、程序規則、路由順序與 DNS 行為共同決定。先確認目標程式是否支援系統代理,再決定是否啟用 TUN;完成後用日誌、路由表和實際功能交叉驗證。這樣建立的 Windows 分流設定,通常比直接開啟全域 VPN 更容易控制,也更方便日後排查與維護。