按程式路由與分流隧道有何分別?規則選擇、優先次序與失效行為

按程式路由與分流隧道有何分別?規則選擇、優先次序與失效行為

Ryan Foster
2026年9月12日· 7 分鐘讀完

按程式路由與分流隧道是「選擇條件」與「政策結果」的關係。前者按程式身份選擇路徑;後者表示一部分合資格流量經 VPN,另一部分走其他路徑。程式身份可以形成分流,卻不是唯一選擇維度。[1][2][3]

完整 VPN 指南介紹路由與隧道範圍。本文進一步分辨政策術語、規則優先次序、受管部署及驗證證據。

關鍵要點

  • 按應用程式路由以程式身份為選擇器;分流隧道描述多路徑結果。
  • 分流規則也可按目的地前綴、域名、流量過濾器或多個條件組合。
  • 納入清單與排除清單有相反的預設行為和失效後果。
  • 程式規則、路由、DNS 及現有連線均可能影響觀察結果。
  • 受管按應用程式 VPN 適合劃分工作與個人流量,但依賴穩定身份及明確擁有者。

按程式路由與分流隧道有何關係?

分流隧道泛指保護路徑與一般路徑並存。一項政策可以只把企業私人網段送入 VPN;另一項可讓某程式無論連到哪裏都進入隧道;亦可同時配對程式和目的地。

因此,程式身份只是其中一個選擇維度。Android VpnService.Builder 可建立容許清單,讓名單內程式使用 VPN;也可建立排除清單,讓名單內程式繞過 VPN,但同一個 builder 不能同時使用兩者。[1] Apple 則支援由裝置管理把受管程式連結到按應用程式 VPN 設定。[2]

政策問題按應用程式路由較廣義的分流隧道
主要選擇器程式身份程式、前綴、域名、過濾器或組合
常見單位software package、bundle 或受管程式與政策吻合的網絡流
預設行為視乎納入或排除模型視乎預設路由及規則優先次序
身份依賴高可選
目的地判斷可配合過濾器常用於路由或域名分流
管理用途分開工作與個人程式控制存取、可達性及政策範圍
主要風險程式身份錯誤或改變規則重疊、路由/DNS 不一致或後備

納入清單與排除清單有何分別?

納入清單表示只有指定程式進入 VPN。新安裝或未識別程式預設直接連線,範圍較窄;如果要求所有工作程式均受保護,而 package 身份改變或受管註冊未完成,這個預設便可能形成 fail open。

排除清單表示除明確例外外,所有程式都進入 VPN。預設涵蓋較廣,卻可能把對延遲敏感、本機或按政策豁免的流量誤送入隧道。Android 文件亦要求在建立介面前確定相應清單。[1]

兩種模型沒有絕對安全高低。應按「未知程式出現時最可接受的結果」選擇預設,並從管理系統取得 package 或 bundle identifier,而非依賴顯示名稱。還須定義程式重新安裝、clone、更新或取代後的行為。

受管按應用程式 VPN 增加了甚麼?

受管部署把政策連結到程式及裝置管理狀態,不要求用戶手動切換。Apple 部署文件說明,管理系統可分發按程式關聯,讓受管程式觸發或使用指定 VPN 設定。[2]

這有助在同一裝置劃分工作與個人軟件,卻不代表父程式的背景服務、extension、內嵌瀏覽器或系統帳戶都會自動承接。具體身份邊界由平台規定。

應用程式、裝置管理及 VPN 團隊須統一身份、下發次序與移除行為,否則正常隧道也可能承載錯誤程式。

分流隧道還可如何選擇目的地?

路由分流依據目的 IP 前綴,可只安裝私人網絡路由,也可使用 VPN 預設路由加直連例外。Microsoft VPNv2 的路由清單與 traffic filter 顯示,分流政策不必依賴程式身份。[3]

域名政策容易描述變動服務,但會加入 DNS 時序、alias 及快取連線。它可能影響解析或動態路由,卻未必控制其後每條連線。

流量過濾器可結合程式和網絡屬性,適合最小權限設計,也增加優先次序及可觀察性要求。「工作程式存取私人 API」須落成準確程式身份、地址族、目的地、協議和失效動作。

為何兩條分流規則會衝突?

不同政策引擎可能在不同階段工作。裝置管理先選擇按應用程式 VPN,VPN 設定再安裝路由,本機防火牆套用過濾器,程式也可能沿用規則更改前建立的連線。DNS 亦可能回傳不在預期前綴內的地址。

優先次序因平台而異。更具體的路由一般優先於 default route,但按程式政策可能在目的地路由前已選擇介面環境;代理或瀏覽器 extension 又加入應用層路徑。因此,TUN 與系統代理不是同一種分流控制。

測試前應為每個重要流量製表:程式身份、目的地類別、地址族、預期介面、DNS 擁有者、本機網絡規則及失效動作。若兩個規則同時吻合,應明確由誰擁有優先權,不能接受偶然結果。

如何選擇合適的選擇器?

若安全邊界跟隨受管軟件,應選程式身份,例如工作程式不論 API 寄存在哪裏都必須使用私人 gateway。須確認平台能否識別相關 helper、extension 及內嵌元件。

若邊界跟隨地址穩定的網絡,則選目的地前綴。路由表容易觀察,但雲端服務和共享基礎設施未必可用窄網段表示,不應為單一程式加入過寬的第三方地址範圍。

只有平台說明域名如何轉成政策時,才應選域名,並考慮 alias、DNS 快取、IPv4/IPv6 及直接 IP 連線。介面標籤不足以證明執行方式。

多個選擇器只應解決已記錄的歧義。條件越多,重疊和遺漏越容易發生。最易維護的是有明確擁有者的最小政策。

如何驗證分流政策?

同時建立正向及反向測試。正向測試證明受保護流量經預期隧道抵達獲准的私人或受控端點;反向測試證明排除程式或目的地按政策直連,或在禁止直連時被封鎖。

亦要涵蓋生命週期:受管註冊前、設定下發後、程式更新後、網絡切換後、隧道重啟後及政策移除後。舊連線應關閉或分開標記,避免 connection reuse 冒充新路由結果。

每次記錄政策使用的程式身份、目的地地址、DNS 答案、地址族、介面、出口觀察和伺服器日誌。分流隧道看似失效時,應按這個矩陣診斷,而非只看公網 IP。

還應在受控環境停止隧道、使私人目的地不可達及撤銷授權,觀察程式是封鎖、重試、提示還是直接後備。失效行為本身就是政策合約。

能否據此推斷 AethoVPN 的路由控制?

如果要為此評估 AethoVPN,先從它明確說明的控制項入手,即全局模式:開啟時,所有應用程式的流量都經 VPN 轉送;關閉時,存取你所在地區網站的流量不經 AethoVPN 中轉。這是按地區分流,而不是按應用程式選擇。依賴它之前,在兩種狀態下各測試一個本地網站和一個境外網站。按應用程式清單、域名選擇器和受管部署都不在 AethoVPN 的說明範圍內,需要這些能力的政策應交給明確提供它們的工具。開始 3 天試用,比較兩種狀態。

總結

  • 按應用程式路由是一種選擇器;分流隧道是不同流量使用不同路徑的整體結果。
  • 納入與排除清單為未知程式設定相反預設。
  • 前綴、域名及過濾器亦能在不選擇程式時形成分流。
  • 管理、路由、DNS、代理和連線狀態之間的重疊必須明確解決。
  • 應跨生命週期驗證預期 VPN 流量,以及預期直連或封鎖流量。

常見問題

按應用程式路由一定屬於分流隧道嗎?

當指定程式走 VPN、其他程式走另一條路時,通常會形成分流。但分流隧道是更廣泛概念,也可只按目的地或域名選擇。

分流隧道可以不用程式清單嗎?

可以。VPN 可按 IP 前綴、目的地、域名或流量過濾器選擇,並把同一政策套用到所有程式。

納入清單一定比排除清單安全嗎?

視乎所需預設行為。納入清單限制 VPN 範圍,卻可能讓新工作程式直連;排除清單預設涵蓋新程式,也可能把不應進入的程式納入。

程式識別碼改變後會怎樣?

舊規則可能不再吻合。受管系統應使用平台定義的穩定身份,並規定未吻合程式應直接連線還是被封鎖。

域名規則能取代 IP 路由嗎?

不能一概而論。它依賴平台 DNS 整合,亦要處理 alias、快取、變動地址、IPv6 及直接 IP 連線。

排除程式為何仍顯示 VPN 地址?

它可能使用已納入 VPN 的 helper、沿用舊連線、選擇另一地址族或使用程式代理。更改政策前應記錄身份、目的地、路由及連線時間。

分流流量應 fail open 還是 fail closed?

應逐類流量決定。私人工作流量通常需要 fail closed,明確排除的個人程式可以直連。預期動作必須寫入政策並測試。

免責聲明:本文只提供一般網絡與裝置管理資料。請遵守機構政策及所管理系統的規則。

來源:

  1. Android Developers, “VpnService.Builder”: https://developer.android.com/reference/android/net/VpnService.Builder
  2. Apple Platform Deployment, “Per-app VPN overview”: https://support.apple.com/en-asia/guide/deployment/depae3d361d0/web
  3. Microsoft Learn, “VPNv2 CSP”: https://learn.microsoft.com/en-us/windows/client-management/mdm/vpnv2-csp

Sources checked 2026 年 9 月 12 日。


延伸閱讀:

開啟 3 天免費試用

註冊即可免費體驗全部高級功能。

*只限新用戶;每位用戶只可獲得一次試用。

按程式路由與分流隧道有何分別?規則選擇、優先次序與失效行為 | AethoVPN