macOS 系統代理設定指南:全域模式、繞過中國大陸與不變更系統代理的差異

解析 v2rayN 的三種系統代理設定與路由預設,說明全域、繞過中國大陸等模式如何影響流量,以及 Mac 日常辦公、開發除錯時該如何選擇。

本文重點

系統代理決定應用程式是否將請求交給 v2rayN,路由模式則決定送入的請求要直連或透過代理節點。日常瀏覽通常可從「自動設定系統代理」搭配繞過中國大陸規則開始;開發工具則可個別指定本機代理。本文分別說明這兩層設定與三種系統代理模式,並整理 macOS 檢查路徑、終端機驗證指令及退出後的還原步驟。

系統代理與全域路由:先分清兩層設定

v2rayN 是用來管理訂閱、節點與核心設定的桌面用戶端。匯入訂閱並選取節點,只是準備好代理出口,不代表每個應用程式都會使用這個出口。瀏覽器必須先將請求送到本機監聽埠,核心才有機會套用路由規則。

macOS 系統代理屬於入口設定:它會將代理主機與連接埠寫入網路服務的代理設定。遵循系統設定的應用程式會據此連線至本機代理;使用獨立網路堆疊、個別代理設定或明確採直連的程式,則不一定會套用這些設定。「全域」屬於另一層:通常是指已進入代理核心的請求,依全域路由送往選定節點,而不是自動接管整台 Mac。

設定層級解決的問題無法據此推斷的結果
系統代理遵循系統設定的應用程式會將請求送往何處無法保證接管所有處理程序或 UDP 流量
全域路由進入核心的一般請求一律透過代理出口無法讓未接入代理的應用程式自動改走代理
繞過中國大陸路由依網域、IP 等規則選擇直連或代理無法保證正確識別所有中國大陸境內服務
TUN 模式透過虛擬網路介面接入更多 IP 流量無法取代 DNS、路由排除規則與權限設定

v2rayN 的三種系統代理設定:自動設定、清除與不變更

可在 v2rayN 主畫面底部狀態列或系統匣選單的系統代理選項中查看目前模式。不同桌面版本的選項位置與名稱可能略有不同,常見選項包括「自動設定系統代理」、「清除系統代理」與「不變更系統代理」。這三種設定操作的是系統設定,不是訂閱內容。

自動設定系統代理

建議

由用戶端將本機代理位址寫入系統設定。使用前須確認核心已啟動,且監聽位址與連接埠有效。啟用後仍須選擇合適的路由預設,才能區分直連與代理請求。

適用情境:日常瀏覽、遵循系統代理設定的桌面應用程式

清除系統代理

移除由用戶端管理的系統代理設定。這不代表停止本機核心,也不保證手動設定代理位址的工具會停止使用代理;若 TUN 正在運作,也需要另外處理。

適用情境:恢復一般網路連線、排查退出後的連線異常

不變更系統代理

維持目前的系統代理設定,不主動啟用或清除。若先前留下代理位址,切換至此模式不會自動移除。這也不是「直連模式」。

適用情境:已有受管理的網路設定,或只為開發工具個別設定代理

判斷方式:要停用系統代理,請選「清除」,不要選「不變更」

從自動設定切換至不變更後,如果系統仍指向本機連接埠,應用程式就可能繼續使用代理。若要恢復直連,請先清除系統代理,再到 macOS 網路設定確認實際狀態。

公司網路可能已設定自動代理指令碼或固定代理。變更前請先記下原本的位址、連接埠與啟用狀態;清除用戶端設定不等於還原公司要求的設定。受管理裝置應依組織的網路規範處理,避免直接覆蓋。

全域與繞過中國大陸:看規則,不看開關名稱

繞過中國大陸預設通常會將本機網路、部分中國大陸境內網域與境內 IP 交由直連出口處理,其他請求則透過代理出口。實際行為取決於預設中的規則、順序與資料庫。Xray 路由規則通常會依序尋找符合項目,前面的明確規則可能優先於後面的通用規則。

對於 geosite:cn 和 geoip:cn,前者代表網域集合,後者代表 IP 位址集合;geoip:private 常用於私有位址範圍。這些字串不能隨意填入任何介面:圖形化路由編輯器與核心原生 JSON 的欄位格式不同,請依目前編輯器的要求填寫。

兩種使用情境的設定組合

日常辦公與網頁瀏覽
  • 啟用「自動設定系統代理」。
  • 選擇繞過中國大陸路由,並確認本機網路是否直連。
  • 分別測試工作網站與需要代理的網站。
  • 內部網站異常時,優先檢查網域規則與公司 DNS。
開發除錯與個別指令
  • 先清除既有系統代理,再選擇「不變更」。
  • 在指令參數或工具設定中指定本機代理。
  • 使用相同 URL 比較直連與代理的結果。
  • 不要將含有訂閱憑證的終端機輸出貼到公開管道。

先確認哪些應用程式需要接入,再決定這些請求的出口;比起同時切換系統代理、路由與 TUN,這樣更容易找出問題。

Mac 實際設定方式:確認監聽連接埠與系統設定

先前往下載頁面依晶片選擇 v2rayN 安裝檔,再參考使用文件匯入訂閱並更新分組。以下連接埠僅用來說明確認方式,不代表所有版本的預設值;請以目前用戶端顯示的監聽設定為準。

127.0.0.1
本機迴送位址範例
10808
以下假設的本機 HTTP 代理連接埠
443
HTTPS 常用的目標連接埠,並非本機監聽連接埠
  1. 確認節點與核心。選取有效節點,並檢查記錄中是否出現設定錯誤或連接埠占用。節點的遠端連接埠與本機輸入連接埠不同,不能將節點的 443 填入系統代理。
  2. 確認本機監聽設定。在「設定」→「參數設定」中查看本機監聽連接埠與協定類型;介面分組請以目前版本為準。以下假設 127.0.0.1:10808 可接收 HTTP 代理請求;若實際使用其他連接埠或僅支援 SOCKS,請相應調整。
  3. 啟用系統代理。選擇「自動設定系統代理」,再選擇繞過中國大陸路由。首次驗證時先不要同時啟用 TUN,以減少干擾因素。
  4. 確認 macOS 設定。開啟「系統設定」→「網路」→目前連線的網路服務→「詳細資訊」→「代理伺服器」。查看網頁代理、安全網頁代理或 SOCKS 代理的啟用狀態、伺服器與連接埠,不要只看用戶端圖示。
  5. 分別驗證。開啟一個中國大陸境內工作網站、一個需要代理的網站與一個區域網路位址,同時查看核心記錄中的出口選擇。切換 Wi-Fi 與有線網路後請重新確認,因為代理設定與網路服務相關。

使用終端機驗證:區分系統設定、代理連線與目標存取

終端機程式不一定會自動讀取 macOS 系統代理。瀏覽器能開啟網頁,但 curl 失敗,不能直接判定是節點有問題。以下三組指令分別用來查看系統狀態、略過代理直接存取,以及明確指定代理存取,不會變更系統網路設定。

# 查看目前的系統代理設定
scutil --proxy

# 忽略代理環境變數,直接向同一個位址發送請求
curl --noproxy '*' --connect-timeout 10 -I https://example.com

# 假設 10808 是支援 HTTP 的本機代理連接埠
curl --noproxy "" --proxy http://127.0.0.1:10808 --connect-timeout 10 -I https://example.com

# 如果該監聽連接埠支援 SOCKS,可單獨測試 SOCKS 連線
curl --noproxy "" --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 -I https://example.com

example.com 是用來示範語法的網域。實際排查時,兩個存取指令都應換成同一個待檢查位址。這裡的 10 代表連線逾時秒數,不是測速結果;即使出現 HTTP 錯誤狀態,也可能表示連線已建立,還需要判斷回應來自目標服務還是代理。

socks5h 代表將目標網域交由 SOCKS 代理端解析;這與在本機終端機先解析網域的方式不同。這有助於縮小 DNS 問題的排查範圍,但不能只憑一次成功就斷定所有應用程式都採用相同的解析方式。

常見問題:退出後殘留、開發工具與 TUN

退出 v2rayN 後,為什麼所有網頁都無法開啟?

先確認系統代理是否仍指向已關閉的本機連接埠。如果能重新開啟用戶端,請先清除系統代理再退出;若無法開啟,請到「系統設定」→「網路」→目前服務→「詳細資訊」→「代理伺服器」確認,並關閉用戶端留下的項目。原有的公司代理設定則依照先前記錄還原。

選了不變更系統代理,怎麼還是走代理節點?

這個選項只會維持目前設定。請先清除系統代理,再檢查應用程式自己的代理位址、終端機代理環境變數與 TUN 狀態。已建立的連線也可能繼續沿用原本路徑;必要時重新啟動受測應用程式後再觀察。

瀏覽器可以使用,但開發工具不走代理,該怎麼辦?

在工具的網路設定中填入實際的本機代理位址,或先使用上文的 curl 明確指定代理參數進行測試。不要預設所有命令列工具都會讀取系統設定,也不要假設每種工具都支援相同的代理環境變數。

啟用 TUN 後,就不用管系統代理了嗎?

TUN 能接管更多不遵循系統代理設定的流量,但仍會受介面路由、權限、DNS 與排除規則影響。首次排查時,先只保留一種接入方式;需要接管其他應用程式時再啟用 TUN,並確認區域網路存取與節點伺服器的路由正常。

繞過中國大陸後,某個中國大陸境內服務反而變慢,該怎麼查?

記下完整網域與發生時間,並在記錄中確認流量走直連還是代理,再暫時比較全域模式的結果。若服務屬於公司內網,請優先確認公司 DNS 與明確的內網直連規則;應根據 DNS 解析結果與實際連線 IP 核對其位址所屬地區。

穩定使用後,請保留一套可重現的檢查順序:本機監聽正常、系統設定正確、應用程式確實接入、路由出口符合預期。更新訂閱是為了取得變動後的節點資料;系統代理負責應用程式入口;路由分流則決定出口。三者各有用途,分層檢查比反覆重新安裝更有效。

下載v2rayN依平台選擇用戶端