一、先講會發生什麼事
VPN 不是「開了就永遠連著」。手機從 Wi-Fi 切到 4G、筆電從睡眠醒來、公司網路抖一下,VPN 的連線都可能斷掉幾秒鐘。
問題在於:你的電腦不會停下來等 VPN 回來。瀏覽器、通訊軟體、雲端同步這些程式,發現網路還在,就會照樣把資料送出去——只是這次不走 VPN 那條加密通道了,而是直接用你家的網路送出去,帶著你真正的 IP 位址。
「斷線保護」(英文多半叫 kill switch,直譯是「切斷開關」)就是為了這幾秒而存在的功能:VPN 一斷,就先把整台裝置的網路關掉,等 VPN 回來再放行。
聽起來每一家都該有,也每一家都說自己有。但實際去讀官方說明,會發現四家的做法差很多。
二、四家官網怎麼寫(原文照抄)
Proton VPN:分成「標準」和「進階」,而且 macOS 上有兩個已知限制
Proton VPN 官方支援頁把斷線保護分成兩種。標準版的定義是:
Standard kill switch is only activated when your connection drops by accident. So it doesn’t block your internet connection if you deliberately disconnect.
翻成白話:標準版只在「意外斷線」時作動;你自己手動按下中斷,它不會擋你上網。
進階版則是:
Advanced kill switch — available on Windows, the Linux GUI app, and iOS and iPadOS (beta) — only allows internet access when connected to Proton VPN, no exceptions. Advanced kill switch stays active even when you restart your device.
也就是:**沒連上 Proton VPN 就完全不給你上網,重開機也還留著。**注意它列出的平台——Windows、Linux 圖形介面、iOS 與 iPadOS(測試版),macOS 和 Android 不在這一行裡。
同一頁還老實寫了 macOS 的兩個已知限制:
Some DNS requests from Apple services can bypass the VPN, even with the kill switch enabled.
When kill switch is enabled, you won’t be able to connect to devices in your local network.
意思是:在 Mac 上,就算你開了斷線保護,部分 Apple 服務的 DNS 查詢還是會繞過 VPN;而且開了之後,你會連不到自己家裡區域網路的裝置(例如家用 NAS、網路印表機)。
另外它也寫明,多數平台上斷線保護和「分割通道」(split tunneling,指定某些 App 不走 VPN)不能同時用,只有 Windows 例外。
Surfshark:兩種模式,但都是「系統層級」
Surfshark 的功能頁先把市面上的斷線保護分成兩類:只關掉特定 App 的(application-level),跟把整台裝置網路切掉的(system-level)。然後它說明自己屬於哪一種:
To provide the highest level of protection, both of Surfshark’s kill switch modes work on a system level:
Soft kill switch activates only if the VPN connection drops unexpectedly and blocks all internet traffic until the VPN reconnects;
Strict kill switch blocks internet access anytime the VPN is off — even if you disconnected manually.
白話:**Soft(寬鬆)=只管意外斷線;Strict(嚴格)=只要 VPN 沒開就不給上網,你自己關的也算。**這個分法和 Proton 的「標準/進階」概念上是同一件事,只是名字不同。
Windscribe:它說自己做的不是 kill switch,是防火牆
Windscribe 的功能頁標題直接寫著「Windscribe’s Firewall Prevails Where Killswitches Fail」(我們的防火牆在斷線開關失效的地方仍然有效),並解釋兩者的差別:
A firewall blocks ALL connectivity outside of the VPN tunnel to ensure zero leaks of any kind if the VPN disconnects, while a Killswitch still allows packets to leave your device between the time your VPN disconnects and the program(s) you have in use realize the VPN is disconnected.
A firewall is a proactive solution, whilst a killswitch is a reactive measure.
這段話點出的正是本文開頭講的那個空窗:傳統斷線開關是「發現斷了才動作」,中間那段時間資料已經送出去了;防火牆式的做法是「本來就只開 VPN 那條路」,所以不需要反應時間。
它也寫明平台限制:這個防火牆設定只在 Windows、Mac、Linux 的 App 上有;Android 和 iOS 要改用系統內建的「Always On VPN」(永遠開啟 VPN)達到同樣效果。
Mullvad:預設開啟,而且你關不掉
Mullvad 的官方 FAQ 回答「How do I enable the kill switch?」時是這樣寫的:
The app has a built in kill switch that is enabled by default and cannot be disabled.
**預設開啟,而且不能關閉。**這是四家裡態度最硬的一家——你不必去設定裡找開關,因為根本沒有開關。
三、誰該特別注意
- 用 Mac 的人:Proton 官方自己寫了 DNS 可能繞過的限制。如果你的使用情境對「不能有任何漏出」要求很高,這一點要先知道。
- 家裡有 NAS、網路印表機、智慧家電的人:多數嚴格模式會把區域網路一起擋掉,你會突然連不到自己家的裝置。這不是壞掉,是設計如此。
- 手機使用者:Android 和 iOS 的斷線保護常常是靠作業系統內建的「永遠開啟 VPN」,而不是 App 自己做的。設定位置在系統設定裡,不在 App 裡。
- 有在用分割通道的人:Proton 明說多數平台上兩者不能並存,你得二選一。
四、怎麼做才不會踩到
- 先分清楚你要哪一種。只怕意外斷線 → 標準/Soft 就夠。連自己手滑關掉都不想冒險 → 進階/Strict,或選預設就關不掉的那種。
- 裝好之後花三十秒確認。打開 App 的設定頁,確認開關是開的。Surfshark 官方的說法是,你就是看那個切換鈕有沒有被撥到開啟位置。
- 手機要另外設。到系統設定找「永遠開啟 VPN」,這一項 App 裡通常設不了。
- 開了之後連不到家裡裝置,別急著報修。那是嚴格模式的正常行為,把它調回寬鬆模式,或把家裡裝置排除。
- 看清楚你的平台有沒有那個功能。這些功能表上寫的平台清單很重要,Windows 有不代表 Mac 有。
搞懂連線協定的差別之後再回頭看這一項,會更清楚為什麼有些家做得到「主動封閉」有些做不到。想直接看各家其他項目的差異,可以參考 Proton VPN 的資料頁和站內排行。
五、一句話結論
斷線保護每家都有,但「什麼時候作動、哪些平台有、開了會不會連不到家裡裝置」三件事各家寫得都不一樣——買之前花五分鐘讀官方那一頁,比事後才發現有用得多。
實查:2026-09-07
資料來源(皆為品牌官方頁面,實際讀取當日原始內容):
- Proton VPN|How to use kill switch:https://protonvpn.com/support/what-is-kill-switch (HTTP 200)
- Surfshark|VPN kill switch:https://surfshark.com/features/kill-switch (HTTP 200)
- Windscribe|Firewall:https://windscribe.com/features/firewall (HTTP 200)
- Mullvad VPN|FAQ:https://mullvad.net/en/help/faq (HTTP 200)
- ExpressVPN|Internet Kill Switch(功能存在性佐證):https://www.expressvpn.com/features/network-lock (HTTP 200)
註:NordVPN 的斷線保護官方頁(nordvpn.com/features/kill-switch/)於查核當日回傳 HTTP 403(被伺服器擋下),無法讀取原文,因此本文未引用該家說法。403 表示被擋,不代表該功能不存在。
