Что такое kill switch и зачем он нужен
Kill switch (дословно «аварийный выключатель») — функция, которая отсекает сетевой трафик устройства, если VPN-туннель перестал работать. Пока туннель поднят, всё идёт через него; как только связь с сервером пропала, приложения не получают сеть вообще — вместо того чтобы молча продолжить работу напрямую, со своим настоящим адресом. Рядом с kill switch почти всегда упоминают постоянное VPN-подключение (always-on VPN) — режим, в котором операционная система поднимает туннель сама и держит его включённым, в том числе после перезагрузки.
Это две разные вещи, и работают они в паре. Постоянное подключение отвечает за то, чтобы туннель вообще был, kill switch — за то, что происходит в те секунды, когда туннеля нет. Без второго защита получается дырявой: устройство исправно переподключается, но в окне между обрывом и восстановлением почтовый клиент, мессенджер и фоновые синхронизации успевают сходить в сеть напрямую.
Момент обрыва наступает чаще, чем кажется. Вот типичные ситуации:
- Смена сети. Вы выходите из дома, телефон переключается с Wi-Fi на мобильную сеть, и туннелю нужно время на новое рукопожатие.
- Выход из сна. Ноутбук проснулся, Wi-Fi поднялся быстрее, чем VPN-клиент.
- Проблемы на пути. Перегруженная гостевая сеть, слабый сигнал, перезагрузка роутера.
- Закончился срок доступа. Ключ больше не принимается сервером, а интерфейс на устройстве остаётся поднятым.
- Перезагрузка устройства. До момента, когда вы вручную включите туннель, часть приложений уже сходила в сеть.
У WireGuard есть особенность, из-за которой такие окна незаметны: это протокол поверх UDP без постоянной сессии. Интерфейс на устройстве существует всегда, и «активный» туннель в приложении означает лишь, что интерфейс создан и маршруты прописаны, а не что сервер отвечает. Понять правду можно только по времени последнего рукопожатия — оно обновляется примерно раз в две минуты при наличии трафика. Kill switch снимает этот вопрос целиком: если пакет не может уйти в туннель, он не уйдёт никуда.
Три способа реализации и таблица по платформам
Защита от утечки при обрыве делается тремя способами, и от платформы зависит, какой из них вам доступен.
- Системный режим. Операционная система сама держит VPN включённым и отсекает соединения, которые идут не в туннель. Так устроен Android — там это самый надёжный вариант.
- Правила в приложении. Клиент просит систему поднимать туннель по условию: появилась сеть Wi-Fi, появилась сотовая связь. Так работает активация по требованию (On-Demand) в WireGuard для iOS и macOS.
- Фаервол и маршруты. Трафик мимо туннеля отбрасывается правилами фильтрации: встроенный флажок в WireGuard для Windows, правила nftables на Linux, политика доступа на роутере.
| Платформа | Что включать | Где это находится | Насколько строго |
|---|---|---|---|
| Android | Постоянная VPN и отсечение соединений вне туннеля | Системные настройки VPN | Строго: трафик мимо туннеля не проходит |
| iPhone и iPad | Активация по требованию | Настройки туннеля в WireGuard | Мягко: туннель поднимается сам, короткое окно возможно |
| macOS | Активация по требованию | Настройки туннеля в WireGuard | Мягко, плюс автозапуск при входе в систему |
| Windows | Флажок отсечения трафика вне туннеля | Окно редактирования туннеля | Строго, при полном туннеле |
| Linux | Правила nftables или iptables, автозапуск службы | Конфиг и фаервол | Строго, но настраивается руками |
| Роутер | Правило фаервола или политика подключений | Веб-интерфейс роутера | Строго, сразу для всей домашней сети |
Дальше — по шагам для каждой платформы. Конфиг для любой из них одинаковый: Muhomor VPN выдаёт готовый файл .conf и QR-код, править параметры руками не нужно. Приложения для всех систем собраны на странице загрузок.
Android: постоянная VPN и отсечение трафика
Android — единственная массовая система, где kill switch встроен и работает по-настоящему жёстко. Настраивается он не в приложении WireGuard, а в системных настройках, поэтому его часто не находят.
- Импортируйте конфиг в приложение WireGuard и один раз подключитесь вручную — подробности в инструкции по настройке WireGuard на Android.
- Откройте «Настройки → Сеть и интернет → VPN». На части прошивок путь другой: «Подключения → Другие настройки → VPN» или поиск по слову «VPN» в настройках.
- Нажмите на шестерёнку рядом со строкой WireGuard.
- Включите «Постоянная VPN» (Always-on VPN). Система будет поднимать туннель при старте и держать его включённым.
- Включите второй переключатель — тот, что не выпускает соединения мимо туннеля. В разных прошивках он подписан по-разному, но смысл один: пока туннель не поднят, сети у приложений нет.
Два нюанса. Постоянным может быть только один туннель: если профилей несколько, система привяжется к активному. Переключатель отсечения доступен не всегда — он сереет, пока туннель не подключили хотя бы раз.
Отдельно стоит проверить маршруты. Если в конфиге сужен параметр AllowedIPs, в туннель уходит только перечисленное, а остальное идёт напрямую — и тогда жёсткое отсечение просто оставит вас без половины интернета. Что означают строки конфига, разобрано в статье про разбор конфига WireGuard. По этой же причине отсечение несовместимо с раздельным туннелированием и с умным режимом Muhomor VPN: там часть трафика намеренно идёт мимо туннеля, и система будет её отбрасывать. Выбирайте что-то одно — либо полный туннель с kill switch, либо разделение трафика.
iPhone и iPad: подключение по требованию
В iOS системного переключателя постоянной VPN для обычного пользователя нет — режим always-on доступен только на устройствах, которыми управляет корпоративная система MDM. Вместо него в приложении WireGuard есть активация по требованию: система сама поднимает туннель, когда появляется сеть, и восстанавливает его после перезагрузки и выхода из сна.
- Откройте WireGuard, нажмите на нужный туннель и выберите правку.
- Найдите раздел активации по требованию (On-Demand Activation).
- Включите переключатели для Wi-Fi и сотовой связи — тогда туннель будет подниматься в любой сети.
- Если нужны исключения, оставьте Wi-Fi включённым и укажите список сетей по имени (SSID) с вариантом «все, кроме этих». Так домашняя сеть с принтером и NAS останется без туннеля, а любая чужая точка доступа будет автоматически защищена.
- Сохраните туннель и включите его один раз вручную — дальше правило работает само.
Что важно понимать про этот режим. Он гарантирует подъём туннеля, но не отсекает трафик: между обрывом и новым рукопожатием есть короткое окно, когда отдельные запросы могут уйти напрямую. Если вы выключаете туннель тумблером в приложении или в системных настройках, правила по требованию тоже перестают действовать до следующего включения — это нормальное поведение iOS, а не сбой.
Для чувствительных сценариев — гостиничный Wi-Fi, конференция, коворкинг — есть привычка, которая заменяет строгий kill switch: держать туннель включённым постоянно и проверять его состояние перед работой с почтой и рабочими системами. Как убедиться, что трафик и запросы DNS действительно идут через сервер, описано в статье про проверку утечек DNS и IP. Пошаговая установка — в инструкции по настройке WireGuard на iPhone.
Windows: встроенный флажок в WireGuard
В приложении WireGuard для Windows kill switch уже есть — отдельная программа не нужна. В окне редактирования туннеля предусмотрен флажок, который отсекает весь трафик, идущий не в туннель: система ставит фильтры, и пакеты мимо интерфейса просто не выпускаются.
- Откройте WireGuard, выберите туннель в списке слева и нажмите правку.
- Убедитесь, что в секции
[Peer]параметрAllowedIPsзадан как0.0.0.0/0(и::/0, если используется IPv6). Флажок имеет смысл только при полном туннеле — при суженных маршрутах он недоступен. - Поставьте флажок, отсекающий трафик вне туннеля, и сохраните настройки.
- Подключите туннель кнопкой активации.
Дальше приложение работает как служба: активный туннель поднимается сам при следующем старте Windows, отдельный автозапуск настраивать не нужно. Если сервер перестал отвечать, интернет пропадёт — это и есть правильное поведение kill switch. Когда вы сами отключаете туннель в приложении, фильтры снимаются и связь возвращается: kill switch защищает от аварии, а не от вашего решения.
Частая жалоба звучит так: «поставил флажок — и всё сломалось, локальная сеть не видна». Причина та же, что на Android: отсечение распространяется на любой трафик мимо туннеля, включая обращения к домашнему NAS или сетевому принтеру. Если в такой сети нужен доступ и к принтеру, и к туннелю, отсечение придётся выключать.
macOS, Linux и роутер
macOS
Приложение WireGuard для Mac устроено так же, как версия для iPhone: в настройках туннеля есть активация по требованию с отдельными переключателями для Wi-Fi и проводного подключения, а также список сетей-исключений по имени. Плюс к этому в настройках приложения включается запуск при входе в систему — вместе это даёт постоянное подключение, которое переживает перезагрузку. Строгого отсечения трафика, как в Windows, здесь нет.
Linux
При полном туннеле wg-quick сам добавляет правило, которое отбрасывает пакеты, ушедшие мимо интерфейса, — это встроенная защита, о ней написано в документации утилиты. Для настоящего kill switch, который действует и после падения интерфейса, нужна политика по умолчанию drop в nftables или iptables: разрешаем loopback, DHCP, локальную подсеть, UDP до адреса сервера из строки Endpoint и весь трафик через интерфейс wg0, остальное отбрасываем. Автозапуск включается одной командой — systemctl enable wg-quick@wg0.
Роутер
Когда туннель поднят на роутере, устройства в доме ничего не настраивают — и kill switch тоже делается один раз, на роутере. Логика везде похожая: создаётся политика или правило фаервола, по которому выбранные клиенты выходят в интернет только через WireGuard-подключение, а прямой выход через провайдера им запрещён. Упал туннель — эти устройства остаются без интернета, что и требовалось. У Keenetic это делается через приоритеты подключений, у OpenWrt и MikroTik — правилами маршрутизации и фильтрации.
Побочные эффекты: что перестанет работать
Постоянное подключение с отсечением трафика — это осознанный размен удобства на предсказуемость. Готовьтесь к нескольким ситуациям.
- Интернета нет совсем. Самая частая причина — закончился срок доступа: сервер больше не принимает ключ, туннель не поднимается, а kill switch честно не выпускает трафик. Проверьте срок в разделе «Мой доступ» на главной — как это сделать, описано в статье как проверить доступ VPN. Второй по частоте случай — конфиг удалён или заменён при добавлении нового устройства.
- Локальная сеть и принтеры. Сетевой принтер, NAS, камера, телевизор и умные колонки могут перестать находиться: обращения к ним тоже идут мимо туннеля. Дома отсечение обычно выключают, а защиту оставляют для чужих сетей.
- Гостевые сети с авторизацией. В отеле, кафе или аэропорту Wi-Fi просит открыть страницу входа. При жёстком отсечении она не откроется: до авторизации туннель не поднимется, а без туннеля устройство наружу не выпускают. Порядок действий простой — временно снять отсечение, пройти авторизацию, включить обратно.
- Расход батареи. Постоянно поднятый туннель шлёт keepalive-пакеты и мешает радиомодулю уходить в глубокий сон. Эффект небольшой, но заметный на слабом сигнале.
- Два туннеля одновременно. Личный и рабочий VPN на большинстве систем не уживаются: активным будет один, и постоянный режим привяжется именно к нему.
Как проверить и какие ошибки встречаются чаще всего
Проверка занимает пять минут и делается один раз после настройки.
- Подключите туннель и откройте любой сервис проверки IP — он должен показать адрес сервера, а не адрес вашего провайдера.
- Проверьте запросы DNS: они обязаны уходить через туннель, иначе провайдер видит список сайтов даже при поднятом VPN.
- Сымитируйте обрыв. Включите режим полёта на десять секунд и выключите обратно либо переключитесь между Wi-Fi и мобильной сетью. Сразу после возврата связи откройте сервис проверки IP: там должен быть адрес сервера с первой же попытки.
- Посмотрите на время последнего рукопожатия в приложении. Если оно старше трёх-четырёх минут, а интернета нет — kill switch работает именно так, как задумано.
Типичные ошибки, из-за которых защита не срабатывает или мешает:
- Сужены маршруты. Отсечение включено, а
AllowedIPsперечисляет отдельные сети — половина трафика законно идёт мимо и отбрасывается. - Забыли про IPv6. Указан
0.0.0.0/0без::/0: адреса IPv4 закрыты, а запросы по IPv6 уходят напрямую. - Совместили несовместимое. Жёсткое отсечение плюс раздельное туннелирование — рабочие сервисы перестают открываться.
- Полагаются на значок в строке состояния. Иконка ключа говорит лишь о том, что интерфейс создан, а не о том, что сервер отвечает.
- Не проверили срок доступа. Прежде чем переустанавливать приложение, загляните в «Мой доступ».
Проверить всё это на практике можно на пробном доступе Muhomor VPN: три дня оформляются на главной без карты, нужен только e-mail, конфиг приходит письмом. Трёх дней хватает, чтобы включить постоянное подключение на телефоне и ноутбуке, поездить с ним по разным сетям и понять, не мешает ли отсечение вашему сценарию. Тарифы дальше разовые, без автопродления: 30 дней — 320 ₽, 60 дней — 610 ₽, 90 дней — 899 ₽, до пяти устройств с отдельным конфигом на каждое.
Попробуйте Muhomor VPN — 3 дня бесплатно
WireGuard-конфиг придёт на e-mail за минуту. Без карты и автосписаний, до 5 устройств на одном доступе.
Частые вопросы
Kill switch в VPN — что это простыми словами?
Это правило, которое отключает интернет на устройстве, если VPN-туннель перестал работать. Так данные не уходят напрямую в момент обрыва, пока соединение восстанавливается.
Есть ли kill switch в WireGuard?
В приложении для Windows он встроен как отдельный флажок, на Linux похожее правило добавляет wg-quick. На Android роль kill switch играет системный режим постоянной VPN.
Как включить always-on VPN на Android?
Откройте «Настройки → Сеть и интернет → VPN», нажмите шестерёнку рядом с WireGuard и включите постоянную VPN, а следом — переключатель, не выпускающий соединения мимо туннеля.
Как работает VPN по требованию на iOS?
В настройках туннеля WireGuard включаются правила для Wi-Fi и сотовой сети, и система сама поднимает туннель при появлении связи. Отдельные сети можно внести в исключения по имени.
Почему после включения постоянного VPN пропал интернет?
Чаще всего закончился срок доступа или конфиг был заменён — туннель не поднимается, а трафик мимо него не выпускается. Проверьте срок в разделе «Мой доступ» на главной.
Нужен ли kill switch дома?
Дома его обычно выключают, чтобы видеть принтер и другие устройства локальной сети. Главная польза от него — в чужих и публичных сетях, где важно не отдать реальный адрес при обрыве.