Знакомая картина: VPN работал месяцами, а потом за один вечер перестал — и сразу у всех знакомых. Через неделю заработал снова или не заработал никогда. Разберём, почему это выглядит именно так.
Блокируют не «VPN вообще»
Заблокировать понятие нельзя, блокируют конкретные вещи: IP-адреса серверов, домены и узнаваемые признаки протокола в трафике. Отсюда и волны — работа идёт по спискам, и списки пополняются партиями.
Три способа, которыми это делают
- По адресу. Самое простое: адрес сервера попадает в список, и до него перестаёт доходить трафик. Лечится сменой сервера.
- По домену. Блокируется имя, через которое клиент забирает конфигурацию или подключается. Лечится сменой домена.
- По отпечатку протокола. Трафик анализируется и определяется как VPN по характерным признакам — даже если адрес новый и домен чистый. Это то, из-за чего OpenVPN и WireGuard перестают работать целыми провайдерами.
Почему одни сервисы переживают волну, а другие нет
Разница не в удаче, а в устройстве. Сервис переживает волну, если у него есть три вещи: запас серверов и доменов, современный транспорт, который не выдаёт себя отпечатком, и способ доставить вам новую конфигурацию без вашего участия.
Последнее чаще всего и ломается. Сервис может быстро поднять новые серверы, но если у вас на руках один статичный ключ, вы об этом не узнаете — для вас VPN просто перестал работать.
Что делать пользователю
- Не держаться за одну строку конфигурации. Один сервер — одна точка отказа.
- Пользоваться подпиской, а не ключом: список серверов обновляется на стороне сервиса, а клиент забирает его сам.
- Держать под рукой второй клиент. Incy и Happ принимают одну ссылку, и если в одном приложении не идёт, проверить второй — минута.
Как это устроено в Стриже
По умолчанию подключение идёт по WebSocket поверх TLS на 443-м порту, а на том же адресе стоит настоящий сайт — со стороны это обращение к обычному веб-серверу. Но главное не сам транспорт, а то, что он не зашит намертво: способ подключения задаётся на нашей стороне и переключается централизованно. Когда маршрут перестаёт работать, подписка отдаёт рабочий, и вам не нужно ни переустанавливать приложение, ни искать новые конфигурации.