Все статьи
Технологии
11 мин

Почему одни VPN перестают работать, а другие живут: разбор протоколов

Люди выбирают VPN по названию, цене и рекламе. А работать он будет или нет, определяется другим — устройством протокола. Разберём основные и объясним, почему известный сервис за большие деньги может оказаться бесполезнее небольшого.

OpenVPN: заслуженный ветеран, который слишком узнаваем

Протокол создавался в начале двухтысячных, когда задача «спрятать сам факт VPN» не стояла вовсе. Требовалось надёжно шифровать — с этим он справляется до сих пор.

Проблема в том, что его рукопожатие имеет характерную структуру, распознаваемую по первым же пакетам. Это не уязвимость, а следствие открытой спецификации: как выглядит соединение, описано в документации.

Существуют режимы маскировки под обычный защищённый трафик. Они помогают против простых методов, но добавляют собственные отличия — и в итоге получается «OpenVPN, притворяющийся сайтом», что тоже имеет свой отпечаток.

WireGuard: быстрый и потому заметный

Современный протокол, ценимый за скорость и компактность кода. Его сильные стороны оборачиваются слабостью там, где нужна незаметность.

Компактность означает предсказуемость: пакеты имеют характерные размеры и структуру. Первый пакет рукопожатия фиксированной длины — этого достаточно для распознавания без всякого анализа содержимого.

Отдельная особенность: протокол работает поверх UDP. Мобильные сети относятся к UDP хуже, чем к TCP, — потери там выше, а восстановления нет. Поэтому на нестабильном мобильном интернете соединения рвутся чаще.

Это не значит, что WireGuard плохой. В корпоративной сети или между своими серверами он превосходен. Для обхода фильтрации — не лучший выбор.

IKEv2 и встроенные в систему решения

Протоколы, встроенные в операционные системы, привлекательны тем, что не требуют устанавливать приложение. Плата за удобство — фиксированные порты и стандартное рукопожатие.

Заблокировать такое соединение проще всего: достаточно закрыть известные порты. Никакого анализа не требуется вообще.

Поэтому встроенные решения обычно перестают работать первыми, а восстанавливаются последними.

VLESS поверх WebSocket и TLS: подход «не прятаться»

Здесь другая философия. Вместо того чтобы маскировать VPN, соединение делают настоящим веб-трафиком.

Клиент подключается к 443-му порту — тому же, на котором работают все защищённые сайты. Устанавливается обычное TLS-соединение с настоящим доменом и валидным сертификатом, выданным публичным центром сертификации. Затем внутри этого соединения происходит переход на WebSocket — стандартная веб-технология, применяемая в мессенджерах, биржевых терминалах и онлайн-играх.

Со стороны видно: обращение к сайту по стандартному порту, валидный сертификат, WebSocket-соединение. Всё это — совершенно обычная картина.

Ключевой момент: по этому адресу действительно работает веб-сервер. На активную пробу он ответит нормальной страницей, потому что он и есть веб-сервер. Туннель живёт на отдельном пути внутри того же соединения.

REALITY: заимствованное рукопожатие

Развитие той же идеи. Соединение заимствует параметры рукопожатия у настоящего стороннего сайта — крупного и заведомо не блокируемого.

Со стороны наблюдателя соединение выглядит как обращение к этому сайту: те же параметры, тот же сертификат. Отличить можно только зная секрет, которого у наблюдателя нет.

Метод сильный, но у него есть тонкость: он привязан к конкретному стороннему сайту. Если этот сайт сам окажется недоступен в стране, маскировка развалится.

Что общего у всех «живучих» решений

Если посмотреть на протоколы, которые держатся дольше, у них обнаруживается общее.

Работа по 443-му порту. Не альтернативный порт, не «нестандартный, чтобы не искали» — именно тот, на котором работает весь защищённый веб. Опыт показывает, что нестандартные порты на мобильных сетях режутся заметно чаще.

Настоящий домен и валидный сертификат. Самоподписанный сертификат — сам по себе признак.

Работа поверх TCP. На нестабильных каналах TCP восстанавливается, UDP теряется молча.

Настоящий сервис по тому же адресу. Чтобы активная проба получила осмысленный ответ.

Почему это важнее известности бренда

Крупные международные сервисы работают на протоколах, рассчитанных на другую задачу — защиту от слежки в открытых сетях, а не обход фильтрации. Их адреса известны и внесены в списки много лет назад.

Добавьте к этому размер: сервис на десятки миллионов пользователей сажает тысячи людей на один адрес. Такой адрес и обнаруживается быстрее, и вызывает подозрения у самих сайтов — отсюда бесконечные проверки при входе.

Мы используем VLESS поверх WebSocket и TLS на 443-м порту с настоящими доменами и сертификатами. Не потому, что это модно, а потому что за годы наблюдений именно такой транспорт переживает остальные.

И всё же протокол решает не всё

Честно скажем то, о чём в рекламе VPN не пишут: самый устойчивый протокол не спасает от закрытия адреса.

За август мы потеряли четыре адреса, и ни в одном случае дело не было в протоколе — просто перестали проходить пакеты. Транспорт при этом не менялся и продолжал прекрасно работать на других серверах.

Поэтому смотреть стоит на две вещи сразу: какой транспорт использует сервис и сколько у него независимых локаций. Первое определяет, как долго живёт отдельный адрес. Второе — что будет, когда он всё-таки умрёт.

Что происходит с протоколом после распознавания

Стоит понимать, что распознанный протокол не блокируется мгновенно и повсеместно. Между «научились определять» и «перестало работать у всех» проходит время, иногда годы.

Сначала правило появляется на части узлов — обычно там, где оборудование новее. Пользователи в этот период получают ту самую картину, когда у одного работает, у другого нет.

Затем правило распространяется шире. Сервис начинает работать через раз, потом только ночью, потом перестаёт совсем.

Поэтому фраза «у меня OpenVPN работает» ничего не опровергает. Она означает лишь, что ваш узел ещё не обновился. Это вопрос времени, а не принципа.

Как выбирать сервис на практике

Сведём разбор к проверяемым признакам, по которым можно оценить сервис до покупки.

Спросите, какой транспорт используется. Внятный ответ вроде «VLESS поверх WebSocket и TLS» или «REALITY» — хороший знак. Уклончивое «собственный запатентованный протокол» — плохой: собственные протоколы имеют собственные отпечатки.

Посмотрите на порт. Если подключение идёт на 443-й — хорошо. Нестандартные порты на мобильных сетях режутся заметно чаще.

Проверьте домен и сертификат. Подключение к голому адресу без домена или с самоподписанным сертификатом — устаревший подход.

Узнайте количество независимых локаций. Одна страна означает, что однажды сервис встанет целиком.

Оцените скорость реакции. Спросите поддержку, что происходит при блокировке адреса. Ответ «такого не бывает» означает, что вам не скажут правду и в следующий раз.

Пять локаций, устойчивый транспорт, честная поддержка

Мы используем VLESS поверх WebSocket и TLS на 443-м порту с настоящими доменами и валидными сертификатами — для сети это неотличимо от обычного сайта. Когда адрес всё-таки попадает под фильтр, мы переключаем людей на рабочую локацию и покупаем новый — за август это происходило четыре раза, и сервис продолжал работать. Пробный период оформляется на сайте за пару минут, без карты.

Выбирайте по протоколу и числу локаций, а не по громкости имени. Устаревший транспорт у известного бренда проиграет современному у небольшого сервиса — и проиграет заметно раньше.