Блокирует ли kill switch трафик до запуска VPN-приложения?
Защита при запуске зависит от того, кто и когда устанавливает блокировку, а не от флажка автозапуска. Проверьте политику платформы, прежде чем доверять клиенту.
Kill switch может закрывать или не закрывать окно до запуска своего приложения, и разницу определяет политика операционной системы, а не маркетинговая страница клиента. Флажок автозапуска доказывает, что что-то запланировано к запуску. Он не доказывает, что правила блокировки существуют в момент, когда сеть поднимается. Это два события, и только одно из них защищает трафик.
Пройдите контрольный список по порядку, потому что каждый шаг сужает то, что вы на самом деле проверяете.
Откуда на самом деле берётся блокировка
Есть два семейства реализаций. Либо платформа устанавливает блокировку, потому что знает о туннеле до запуска любого приложения, либо клиент сам устанавливает блокировку после запуска. Первая может существовать до входа в систему. Вторая не может существовать раньше своего процесса, как бы рано этот процесс ни был запланирован. Определите, на какое семейство вы опираетесь, прежде чем что-либо проверять.
На Android постоянно включённый VPN вместе с настройкой блокировки подключений без VPN — это политика платформы, настраиваемая в системных настройках, а не только внутри клиента. На управляемых устройствах её могут задать за вас. Клиент, который просто стартует при загрузке, — это не тот же механизм.
Отделите окно от службы
Закрытое окно не доказывает, что принудительное применение прекратилось, а открытое окно не доказывает, что туннель готов. Многие клиенты разделяют интерфейс, демон и приложение в трее. Трей — это то, что вы видите; демон — это то, что держит правила.
Проверяйте компонент, а не значок.
Проверяйте интервал запуска безопасно
Проверяемый интервал начинается при перезагрузке или входе в систему и заканчивается, когда туннель проходит аутентификацию. Фоновые приложения подключаются в этот период, и проверки обновлений — обычные нарушители. Используйте безвредную активность и документированную процедуру поставщика вместо того, чтобы блокировать собственный доступ. Затем повторите после обычного переподключения, потому что путь переподключения и путь холодного запуска выполняют разный код.
Тест, выполненный после того, как туннель уже поднят, ничего не доказывает о запуске.
Прочитайте поведение при перезагрузке, если требуется устойчивость. Настройка может сохраняться в конфигурации, пока её применение начинается позже, и оба факта важны: сохранённая политика и момент, когда она становится активной.
Читайте политику для каждой платформы
Android показывает постоянно включённый режим и блокировку как отдельные переключатели, и оба должны быть включены для защиты до запуска. В Windows есть концепция постоянно включённого туннеля устройства, настраиваемого через политику, что не то же самое, что рано запускающийся клиент в пользовательском режиме. OpenVPN Connect документирует собственное поведение kill switch для каждой платформы, и именно документированный охват вы и проверяете. Не переносите название настройки из одной системы в другую и не предполагайте, что смысл переехал вместе с ним.
Профиль, требующий интерактивный пароль, имеет другие зависимости запуска, чем туннель машины.
Что записывать
Запишите, какой механизм действует, на каком этапе он становится активным и какой трафик был опробован до этого этапа. Зафиксируйте версию платформы, потому что это поведение меняется между выпусками и между управляемыми и личными конфигурациями. Отметьте, кому принадлежит политика — клиенту или системе, так как это решает, кто может устранить пробел. Затем проверьте снова после любого обновления клиента или ОС.
Если пробел важен, устойчивое решение — политика платформы, а не более короткая задержка запуска.
Это ответ на исходный вопрос, выраженный как условие: kill switch защищает трафик до запуска приложения только тогда, когда блокировку устанавливает нечто, существующее до приложения.