Kill switch: что это и почему встроенный в VPN не всегда спасает
Kill switch - защита, которая не даёт программам выйти в сеть, когда VPN отключился. Он есть почти в каждом VPN-клиенте, и многие считают, что раз галочка стоит, утечек не будет. Мы делаем свой kill switch для программ, Kordon, и за первую неделю разобрали несколько случаев, когда встроенная защита молчала, а программы продолжали работать с настоящего адреса. Часть из них прислали пользователи. Разбираем, как устроен kill switch, где он не срабатывает и как это проверить.
Что такое kill switch
Kill switch переводится как «аварийный выключатель». В мире VPN так называют функцию, которая следит за туннелем и, если он оборвался, не пускает трафик в сеть напрямую. Без неё всё просто: VPN отвалился, компьютер тут же переключился на обычное подключение, и программы продолжили работу уже с адреса провайдера.
Обрывы случаются чаще, чем кажется: после сна ноутбука, при смене Wi-Fi, при переподключении к серверу VPN, когда сервер перегружен. Обычно это несколько секунд, но за них почта, мессенджер или ИИ-агент успевают отправить десятки запросов.
Kill switch бывает двух видов:
- системный - встроен в VPN-клиент и на время обрыва блокирует весь интернет на компьютере;
- для отдельных программ - останавливает только выбранные программы, а остальной интернет не трогает.
Как работает kill switch в VPN-клиенте
VPN-клиент добавляет в системный фаервол правило: выпускать трафик только через туннель. Пока туннель жив, правило незаметно. Как только он оборвался, наружу не уходит ничего, пока VPN не переподключится.
Со своей задачей системный kill switch справляется честно: ни один пакет мимо туннеля не уйдёт. Но у такой защиты есть цена. Обрываются все соединения сразу: созвон, загрузка, ответ ИИ, который генерировался две минуты. VPN вернулся через пять секунд, а работу всё равно приходится начинать заново.

Четыре случая, когда встроенный kill switch не срабатывает
Kill switch в VPN-клиенте реагирует на одно событие - туннель оборвался. Но адрес утекает и тогда, когда туннель формально работает:
- VPN в режиме прокси. Многие клиенты по умолчанию заворачивают через себя только браузер. Терминал, git, Claude Code и другие программы, которые не смотрят на системный прокси, ходят напрямую. Kill switch при этом молчит: с его точки зрения всё в порядке;
- Пробуждение после сна. Ноутбук просыпается, Wi-Fi подключается за секунду, а VPN - за три-пять. В этом окне программы, которые не спали, успевают отправить первые запросы с настоящего IP;
- Раздельный туннель по доменам. Некоторые VPN маршрутизируют по списку сайтов. Сервис проверки IP идёт через туннель и показывает нужную страну, а запросы к нужному вам сервису уходят мимо. Узнать это можно только спросив сам сервис, какой адрес он видит;
- IPv6 и DNS. Туннель есть только для IPv4, а IPv6 и запросы к DNS идут через провайдера. Как это проверить, рассказали в статье как проверить утечку DNS и IPv6.
Ни в одном из этих случаев туннель не обрывался, поэтому системный kill switch и не мог сработать.

Почему «отключить весь интернет» подходит не всем
Для человека, который читает новости в браузере, обрыв на пять секунд - мелочь. Для того, кто запустил ИИ-агента на час работы, - потерянный час: агент получает ошибку сети и останавливается, ответ обрывается на середине, контекст приходится собирать заново.
Ещё одна проблема - всё или ничего. Чтобы зайти в почту или мессенджер, пока VPN переподключается, системный kill switch приходится выключать целиком. И его часто забывают включить обратно.
Kill switch для отдельных программ
Второй подход - следить не за туннелем, а за результатом: с какого адреса выбранные программы на самом деле выходят в сеть. Так работает наш Kordon. Сменилась сеть или адрес - программы встают на паузу штатными средствами системы: не закрываются, а замирают и ничего не отправляют. Разрешённый адрес вернулся - продолжают с того же места. Не вернулся за 20 секунд - закрываются.
Пауза касается всего, что программа запустила: вспомогательных процессов, терминальных команд, git и curl. Остальной интернет работает как обычно, поэтому почта и мессенджеры не страдают.
Такой kill switch не заменяет системный, а дополняет его. Kordon работает на уровне программ, и между сменой сети и паузой проходят миллисекунды. Если нужна гарантия «ни одного пакета мимо VPN», включите оба.

Как проверить свой kill switch за пять минут
- запустите что-то долгое: загрузку большого файла или задачу для ИИ-агента;
- отключите VPN вручную и посмотрите, что произошло с загрузкой и с остальным интернетом;
- проверьте адрес не только в браузере, но и из терминала: если они разные, VPN работает в режиме прокси;
- закройте крышку ноутбука на минуту, откройте и сразу проверьте адрес - так ловится утечка после сна;
- проверьте IPv6 и DNS отдельно, обычная проверка IP их не показывает.
Если хотя бы в одном пункте адрес оказался настоящим, одной галочки в VPN-клиенте недостаточно.
Если задача уже на столе - вот как мы делаем это под ключ: Разработка корпоративного сайта под ключ.
Частые вопросы
Что такое kill switch простыми словами?+
Аварийный выключатель: если VPN отключился, kill switch не даёт программам выйти в интернет с вашего настоящего адреса. Встроенный в VPN-клиент блокирует весь интернет, kill switch для программ останавливает только выбранные.
Нужен ли kill switch, если VPN почти не отключается?+
Обрывы на несколько секунд случаются после сна, при смене Wi-Fi и переподключении к серверу, и их легко не заметить. Если вам важно, чтобы программы не выходили в сеть напрямую, kill switch нужен.
Почему kill switch не сработал, хотя он включён?+
Чаще всего VPN работает в режиме прокси и заворачивает только браузер, или пропускает часть сайтов мимо туннеля, или не закрывает IPv6. Туннель при этом не обрывается, поэтому системный kill switch не реагирует.
Чем kill switch для программ лучше встроенного?+
Он не отключает весь интернет и не обрывает работу: выбранные программы встают на паузу и продолжают, когда VPN вернулся. Лучше всего использовать оба вместе.




