Reality против WireGuard и OpenVPN: чем отличаются протоколы
Ещё пару лет назад выбор протокола был вопросом скорости: WireGuard быстрее, OpenVPN совместимее. Сегодня к скорости добавился второй вопрос — сколько о вашем соединении понимает сеть, через которую оно идёт. Разберёмся, чем протоколы отличаются по существу.
Что видно о зашифрованном соединении
Шифрование прячет содержимое, но не сам факт соединения. Оборудование провайдера видит адреса, порты, размеры пакетов и порядок, в котором они идут. Этого хватает, чтобы понять тип соединения, не читая ни байта данных — подход называется DPI, deep packet inspection.
У каждого протокола есть узнаваемый почерк: длины первых пакетов, порядок рукопожатия, характерные байты в заголовках. По ним соединение относят к тому или иному классу. Для приватности это важно: одно дело, когда сеть знает, что вы открыли какой-то сайт, другое — когда она знает, каким именно сервисом вы пользуетесь и когда.
Почерк WireGuard и OpenVPN
WireGuard создавался как быстрый и простой протокол, а не как незаметный. Его рукопожатие всегда выглядит одинаково: пакет установления соединения имеет фиксированную длину 148 байт, в первом байте — тип сообщения, дальше зарезервированные нули. Соединение опознаётся по первому же пакету.
Речь именно о ванильном WireGuard. У него есть форк AmneziaWG, который эту подпись целенаправленно ломает: добавляет мусорные пакеты перед рукопожатием, мусорные заголовки и позволяет переопределить типы пакетов. Почерк меняется — но протокол остаётся UDP, а UDP у мобильных операторов местами обрабатывается по остаточному принципу, и на качестве связи это видно.
OpenVPN умеет ходить поверх TLS и потому смотрится ближе к обычному веб-трафику, но у него свои характерные признаки в рукопожатии, и они давно описаны в открытых источниках.
Что делает Reality
Reality заходит с другой стороны. Он не добавляет ещё один слой поверх своего почерка — он делает так, чтобы соединение с точки зрения наблюдателя выглядело как обычный заход на сайт по HTTPS.
Механика такая. Клиент начинает TLS-рукопожатие, указывая имя настоящего популярного сайта. Сервер отвечает сертификатом этого сайта — настоящим, а не самоподписанным, потому что при необходимости пропускает рукопожатие к оригиналу. Наблюдатель видит: клиент открыл HTTPS-соединение к известному сервису, сертификат в порядке, дальше — зашифрованные данные, как у всех.
Практический смысл — приватность. Из миллионов однотипных HTTPS-соединений ваше ничем не выделяется, и сеть по дороге не составляет из ваших сессий профиль «когда и чем пользуется этот абонент».
Сравнение по существу
| Признак | OpenVPN | WireGuard | Reality |
|---|---|---|---|
| Узнаётся по сигнатуре | Да | Да, легко | Нет |
| Похож на обычный HTTPS | Отчасти | Нет | Полностью |
| Нужен собственный сертификат | Да | Нет | Нет, берёт чужой публичный |
| Транспорт | TCP или UDP | Только UDP | TCP |
| Скорость | Средняя | Высокая | Высокая |
Reality — не единственный вариант
Было бы неправдой сказать, что подход уникален. Идея «сделать соединение неотличимым от обычного трафика» реализована в нескольких протоколах, и у каждого своя цена.
- Trojan тоже выглядит как HTTPS, но отдаёт собственный сертификат. Из-за этого он уязвим к активному пробингу: наблюдатель может сам постучаться на тот же адрес и посмотреть, ведёт ли он себя как настоящий сайт. Reality здесь выигрывает — он подставляет TLS настоящего чужого ресурса, и пробинг ничего не даёт.
- NaiveProxy по отпечатку, пожалуй, сильнейший: он использует настоящий сетевой стек Chromium, то есть его рукопожатие не похоже на браузерное, а буквально им является. Расплата — сложность развёртывания: нужен настоящий веб-сервер спереди.
- Hysteria2 быстрее прочих на плохих каналах за счёт своего управления перегрузкой. Но это QUIC поверх UDP, со всеми оговорками про мобильные сети.
- AmneziaWG — тот же WireGuard с изменённым почерком. Проще всего в настройке, но тоже UDP.
Мы выбрали Reality из-за сочетания: TCP-транспорт, который ровнее ведёт себя на мобильных сетях; устойчивость к активному пробингу; и то, что клиенты под него есть во всех магазинах приложений. Это не значит, что остальное плохое — под другие задачи разумны другие протоколы.
Чего протокол не решает
Будем честными: выбор протокола — не серебряная пуля.
- Нет канала — нет соединения. Когда передача данных в регионе выключена физически, не поможет ни один протокол.
- Качество маршрута. Скорость определяется не протоколом, а каналом до сервера и расстоянием. Ближний сервер на хорошем канале обгонит дальний на любом протоколе.
- Настройки устройства. Утечки DNS и IPv6 сводят на нет любую приватность на уровне транспорта — это лечится на стороне клиента, а не выбором протокола.
Поэтому важен не только протокол, но и то, сколько у сервиса серверов, как они распределены по странам и что он делает с логами.
Протокол Reality, свои серверы в Европе и никаких логов. Российские сервисы — банки, Госуслуги, маркетплейсы — идут напрямую. 3 дня и 50 ГБ бесплатно, без карты — подключение занимает пару минут.
Открыть бота в Telegram