Mac 睡眠時 VPN 中斷
Mac 睡眠時,網路連線會中斷,大多數 VPN 通道也會跟著中斷。喚醒後 VPN 必須重新連線。本指南會找出斷線發生的時間,以及哪個設定會讓 VPN 重新連線。
我的 Mac 出現了這個問題:Mac 睡眠時 VPN 中斷。請閱讀 https://kilobat.app/zh-hant/guides/vpn-disconnects-after-sleep.md,並和我一起逐步處理。如果缺少 Kilobat CLI,請安裝:brew install seifip/kilobat/kilobat。請你自己執行指南中的終端機和 kilobat 檢查,並告訴我發現了什麼。列出只有我才能完成的步驟。變更任何設定之前先問我。
症狀
- 打開螢幕後,VPN 顯示為已中斷連線。
- VPN 在它的 App 中仍保持連線,但喚醒後沒有任何流量通過。
- 透過 VPN 的下載或 SSH 連線,在每次 Mac 睡眠時停止。
- 喚醒後內部網站失敗一分鐘,然後又恢復。
可能原因
- 睡眠期間網路連結中斷。通道依賴 Wi-Fi 或乙太網路連線。當 Mac 重新加入網路時,VPN 必須重新連線。
- VPN 沒有自動重新連線。「隨選 VPN」和 VPN App 中的重新連線選項會重新啟動通道。沒有它們,你就要手動連線。
- 「隨選 VPN」無法詢問你的密碼。Apple 表示,「隨選 VPN」需要不需使用者互動的驗證,例如憑證。
- 喚醒後 Wi-Fi 加入得很慢。在 Mac 有可用的網路之前,VPN 無法連線。請參閱 Mac 睡眠後 Wi-Fi 斷線。
- 伺服器結束閒置或舊的工作階段。有些 VPN 伺服器會關閉長時間沒有動靜的工作階段。請詢問你的管理員逾時設定。
如何檢查
顯示最近的睡眠和喚醒事件及其時間。
pmset -g log | grep -E ' (Sleep|Wake|DarkWake) ' | tail -20在下次喚醒後,顯示每個 VPN 設定的狀態。
scutil --nc list顯示網路狀態。確認在 VPN 嘗試連線之前,Wi-Fi 或乙太網路已可連到。
scutil --nwi把喚醒的時間與 VPN 中斷的時間比對。
如何修正
在 VPN App 中開啟它的自動連線或重新連線選項。名稱因廠商而異。
把 VPN App 更新到最新版本。
對於受管理的 VPN,請要求你的管理員在描述檔中開啟「隨選 VPN」。
「隨選 VPN」需要憑證或其他不需互動的驗證。如果你用密碼登入,請索取憑證。
若要在長時間傳輸期間讓 Mac 保持喚醒,請在傳輸進行時防止睡眠。請參閱Mac 上的 caffeinate:用終端機防止睡眠。
如果喚醒後 Wi-Fi 加入得很慢,請先修復它,然後再測試 VPN。
使用 Kilobat
顯示目前是否有 VPN 承載流量,以及是所有流量還是只有部分流量使用它。
kilobat ipKilobat App 的「歷史記錄」會列出 VPN 何時開啟或關閉。把它與
pmset的睡眠時間比對。顯示 App 記錄到的斷線和網路變更。
kilobat outages在透過 VPN 執行指令(例如拷貝)時讓 Mac 保持喚醒。
kilobat awake -- rsync -a server:/data ./data使用 Kilobat Pro 時,VPN 終止開關會在 VPN 中斷期間封鎖新的連線。這樣在 VPN 恢復之前,App 就不會在開放網路上建立新的連線。
常見問題
「喚醒以供網路存取」會讓 VPN 保持連線嗎?
不會。該設定讓 Mac 為檔案共享等要求而喚醒,但不會讓 VPN 通道保持運作。請參閱在 Mac 上使用「喚醒以供網路存取」。
Mac 上可以使用「永遠開啟的 VPN」嗎?
Apple 的 VPN 概覽列出 iOS、iPadOS 和 visionOS 支援「永遠開啟的 VPN」,沒有列出 macOS。
闔上螢幕時,Mac 可以讓 VPN 保持運作嗎?
只有在 Mac 保持喚醒時才行。睡眠時,網路就會中斷。請參閱讓 MacBook 闔蓋後繼續運作。
資料來源
- Apple 平台部署:Apple 裝置的 VPN 概覽
- Apple 支援:如果 Mac 無法透過 Wi-Fi 連上網際網路
- Apple 支援:在 Mac 處於睡眠狀態時共享其資源
- pmset(1) 和 scutil(8),隨 macOS 27.2 安裝的使用手冊頁面
查核日期:2026 年 11 月 7 日。