macOS VPN 推薦這件事,難點不在裝哪個用戶端,而在裝完之後系統給不給權限。M 系列晶片的 Mac 上,用戶端要不是以系統擴充功能加網路擴充功能的方式接管 utun 介面,就是退化成只監聽本機回送位址的應用層代理:前者涵蓋全部 App,後者只管得住願意走代理的軟體。本文依晶片架構與系統版本把這兩條路徑拆開,給出授權步驟、協定取捨,以及一份連上了卻沒通的排查清單。
macOS 用戶端的三種型態
在 macOS 上做跨境存取,落到系統層面只有三條路徑,差別在於由誰決定流量走向。
| 型態 | 需要的系統權限 | 涵蓋範圍 | M 系列 Mac 上的現況 |
|---|---|---|---|
| 網路擴充功能 + 系統擴充功能 | 放行系統擴充功能、授權 VPN 設定 | 全部 App 的 TCP / UDP 流量 | 主流做法,原生 arm64 |
| 應用層代理 | 無 | 僅主動設定代理的 App | 通用,受 App 支援度限制 |
| 核心擴充功能 kext | 需降低開機安全性 | 全部流量 | 已淘汰,新系統不建議 |
網路擴充功能是 NetworkExtension 框架裡的 NEPacketTunnelProvider,它會在系統裡建立一張 utun 虛擬網卡,由用戶端把流量接進隧道。這條路要兩道授權:先讓系統接受開發者的系統擴充功能,再允許用戶端加入 VPN 設定。授權一次長期有效,系統跨大版本升級時可能要重新確認。
應用層代理只在本機回送位址上開一個埠,常見形式是 127.0.0.1 上的 SOCKS5 或 HTTP 代理,支援代理的 App 自己接過去。它不需要任何系統權限,裝在受管電腦上也不會跳出授權;代價是命令列工具和部分不讀系統代理設定的應用程式要另外設定,背景更新這類流量也不會走代理。
核心擴充功能是 macOS 10.15 之後逐步淘汰的舊方案。Apple 晶片的機器預設不允許載入第三方 kext,要開啟得進復原模式降低開機安全性。現在正規用戶端不再走這條路,遇到要求關閉系統完整性保護的安裝包,直接跳過。
Apple 晶片相容性:實測中的四個卡點
M 系列晶片把「能不能裝」和「裝完能不能用」分成兩件事。下面四個卡點在實測裡出現頻率最高。
- 架構:原生 arm64 與 Rosetta 轉譯。用活動監視器的「種類」欄就能看出來,顯示 Intel 表示用戶端跑在 Rosetta 2 轉譯層上。轉譯版能連,但網路擴充功能在轉譯層下偶爾握手較慢、常駐記憶體偏高。優先選原生 arm64 的安裝包,少一層不確定性。
- 簽章與公證。未簽章或未公證的安裝包第一次啟動會被攔下,提示無法驗證開發者。到「系統設定 → 隱私權與安全性」底部點「仍要開啟」即可,但系統大版本更新後可能再攔一次。正規散布的安裝包會做公證,不該反覆出現這個提示。
- 系統擴充功能授權漏了一步。用戶端顯示已連線,utun 介面卻沒建立,多半是系統擴充功能開關沒打開。位置在「系統設定 → 一般 → 登入項目與擴充功能 → 網路擴充功能」,舊版本在「隱私權與安全性 → 擴充功能」。打開後要回用戶端點一次完成,授權才閉環。
- 區域網路權限。新版 macOS 裡 App 首次存取區域網路裝置會跳出「區域網路」授權。拒絕之後存取路由器管理頁、NAS、印表機受限,國際線路本身不受影響。拿不準就先允許,之後在「隱私權與安全性 → 區域網路」裡再關。
結論很直接:在 Apple 晶片的 Mac 上,原生 arm64 加系統擴充功能是唯一值得當作預設的方案;應用層代理留給受管環境、臨時排查,或者只需要單一 App 走國際線路的場景。
第一次啟動:權限授予步驟
照順序走一遍,能省掉大部分重工。
- 把安裝包拖進「應用程式」再啟動。直接在磁碟映像裡雙擊執行,後續自動更新會因為路徑唯讀而失敗。
- 首次啟動被 Gatekeeper 攔下時,到「隱私權與安全性」放行,系統會要求輸入登入密碼或驗證 Touch ID。
- 用戶端請求加入 VPN 設定時點允許。這一步實際是把網路擴充功能註冊成一筆 VPN 設定,拒絕了只能在系統設定裡手動補。
- 依提示打開系統擴充功能開關,回到用戶端確認。此時「系統設定 → VPN」清單裡應該有一筆由用戶端管理的設定。
- 用使用者名稱加密碼登入,不需要電子郵件地址;同一帳號不限台數,Mac、iPhone、Windows 可以同時在線。登入後匯入訂閱連結,線路清單會自動拉取。
- 選一條線路連上,再用後文的指令確認 DNS 與預設路由確實進了隧道。
與 iCloud 服務共存的注意事項
iCloud 私密轉送
私密轉送和第三方用戶端都是網路擴充功能,系統同一時間只讓一條路徑接管流量。常見表現是開啟用戶端後私密轉送變成不可用,或者反過來,私密轉送把用戶端的隧道頂掉。要做的是二選一:需要固定出口地區、需要依網域分流時,在「系統設定 → Apple 帳號 → iCloud → 私密轉送」裡把它關掉。
私密轉送關閉不影響 iCloud 同步、iMessage 與「尋找」,這些走的是普通 HTTPS,只是不再經過 Apple 的兩跳中繼。
接力、AirDrop 與通用剪貼板
這些功能走藍牙與點對點 Wi-Fi,不經過 utun 虛擬網卡,正常情況下開不開加速都一樣用。例外是把隨選連線設成全域接管、並且把區域網路網段也塞進隧道的場景:此時裝置探索會變慢。把 192.168 這類私有網段和 .local 網域放直連,問題就消失。
iCloud 雲碟與地區判定
雲碟、照片同步是普通 HTTPS 流量,會跟著隧道走。線路頻寬有限時,把大檔案同步和加速時段錯開即可。另一個常見誤解是換個出口就能改 App Store 地區:帳號地區由 Apple 帳號的帳單資訊決定,和出口 IP 無關,換線路不會讓商店內容變化。
協定與線路:macOS 上的取捨
協定決定用戶端怎麼把流量接進隧道,線路決定接進去之後走哪條路。兩件事分開看。
| 協定 | 傳輸層 | macOS 上的接管方式 | 說明 |
|---|---|---|---|
| Shadowsocks | TCP / UDP | 網路擴充功能或本機代理 | 結構簡單,規則好寫 |
| VMess / VLESS | TCP,可套 TLS | 網路擴充功能 | 與 TLS 組合後與一般 HTTPS 同形 |
| Trojan | TCP + TLS | 網路擴充功能 | 需要有效憑證,握手接近 HTTPS |
| Hysteria2 / TUIC | QUIC(UDP) | 網路擴充功能轉送 UDP | 弱網表現好,對 UDP 品質敏感 |
TCP 系協定在 macOS 上由網路擴充功能統一接管,所有 App 都吃得到,相容問題最少。Hysteria2 與 TUIC 跑在 QUIC 上,對 UDP 轉送鏈路更敏感:線路的 UDP 品質差時,典型表現是網頁能開、影片卡。把它們當備選而不是預設,更穩妥。
線路類型上,IEPL 專線是端到端專屬鏈路,晚間尖峰時段抖動小;中轉經第三地轉送,成本低、路徑長;直連的延遲基本上取決於物理距離。選哪條不看名字,看目標服務在哪個地區:目標在美國西岸就選洛杉磯方向的出口,目標在日本就選東京。隧道內統一使用軍規級加密,協定之間的差別在傳輸方式,不在加密強度。
分流規則值得單獨調一次。macOS 用戶端通常支援依網域後綴、IP 網段、行程名稱三種方式判斷走向:中國大陸網站與區域網路放直連,只讓需要的網域走隧道,既省頻寬也少一次 DNS 繞路。規則寫錯是連上了但某個站打不開的頭號原因。
連上卻不通:排查清單
用戶端顯示已連線,不等於流量真的進了隧道。照下面順序過一遍,多數問題兩分鐘內能定位。
- ❌ 系統擴充功能開關沒打開,utun 介面沒建立,「已連線」只是介面狀態。
- ❌ 分流規則把目標網域判定成直連,到用戶端日誌裡看規則命中記錄。
- ❌ DNS 仍指向路由器或電信業者,隧道建立了但解析在外面做,結果就是部分網站打不開。
- ✅ 換一條線路複測,同地區分別試 IEPL 專線與中轉,能區分線路問題與本機設定問題。
- ✅ 檢查是否同時開著 iCloud 私密轉送或其他 VPN 設定,兩條隧道會搶同一個預設路由。
- ✅ 重新匯入訂閱連結,排除本機線路清單過期。
# 1. 目前生效的 DNS 伺服器
scutil --dns | grep 'nameserver\[[0-9]\]'
# 2. 預設路由是否落在隧道介面
route -n get default | grep interface
第一條指令列出系統正在使用的 DNS。如果第一個 nameserver 是路由器位址或電信業者位址,表示解析沒進隧道。第二條指令輸出裡的 interface 若以 utun 開頭,表示預設路由已被接管;仍是 en0,流量就根本沒走隧道。
排查時不要反覆重新安裝用戶端。授權、路由、DNS 三段裡,重裝只會重置第一段,後兩段的問題會原樣重現。
結論:一份可執行的選型順序
在 M 系列 Mac 上,選型順序可以固定成三步:先看是不是原生 arm64 的系統擴充功能用戶端,再看協定與線路是否涵蓋你要存取的地區,最後看分流規則能不能依網域精細控制。三條都滿足,剩下的才是線路品質;缺一條,再便宜的方案也會在晚間尖峰時段還回來。
VPNEH 的 macOS 用戶端走系統擴充功能加網路擴充功能這條路,協定涵蓋 Shadowsocks、VMess、VLESS、Trojan、Hysteria2 與 TUIC,線路分 IEPL 專線、中轉、直連三類,共 90+ 國家 / 190+ 線路。註冊只用使用者名稱和密碼,不需要電子郵件地址;同一帳號不限台數,Mac 與手機可以同時在線。首次付費後 14 天內可申請無條件全額退款,試用成本可控。