Kill switch — фича, блокирующая весь интернет-трафик когда ВПН-туннель упал. Предотвращает утечку реального IP в момент переподключения.
Зачем нужен
ВПН-туннели иногда падают:
- Смена сети (WiFi → сотовая).
- Слабый сигнал сети.
- Перезагрузка сервера на стороне ВПН-провайдера.
- Sleep/wake устройства.
Без kill switch в момент падения — приложения продолжают посылать трафик через незашифрованное соединение. Реальный IP и DNS-запросы становятся видны провайдеру и сайтам.
Kill switch блокирует весь трафик в этот момент. Приложения видят "нет интернета" briefly вместо утечек.
App-level vs system-level
App-level (в ВПН-приложении)
Реализован самим ВПН-клиентом. При детектировании disconnect — блокирует исходящий трафик. Уязвимость: если само ВПН-приложение крашится — kill switch не работает.
System-level (через ОС)
Через настройки ОС. На Android — "Always-on VPN" + "Block connections without VPN" в Settings → Network → VPN.
Преимущество: ОС блокирует трафик. Даже если приложение крашится — система всё равно не пропускает.
Как настроить на Android
- Подключи ВПН (ClownVPN) хоть один раз.
- Settings → Network & Internet → VPN.
- Тапни settings-иконку рядом с ClownVPN.
- Включи "Always-on VPN".
- Включи "Block connections without VPN".
Теперь система не пускает трафик пока ВПН не активен.
Per-app vs system-wide
Некоторые ВПН-клиенты (ClownVPN тоже) поддерживают per-app kill switch — блокировать только конкретные приложения, не весь трафик. Юзкейс: ты OK если фоновый трафик утечёт, но критичные приложения (банк, мессенджеры) должны быть защищены или выключены.
Trade-offs
- Жёсткий kill switch может ломать captive portals в отелях/кафе (нет интернета до соглашения).
- Battery — kill switch требует постоянного мониторинга соединения. Минимальный overhead на современных устройствах.
- UX — иногда пропадание интернета удивляет. Привыкай.