Материал посвящён законным сценариям сетевой защиты и настройки. Соблюдайте правила, действующие в вашей юрисдикции.
Что такое VPN-протокол и за что он отвечает
VPN-протокол — набор правил, по которым защищённое соединение устанавливается, работает и закрывается. Любой протокол решает четыре задачи.
- Рукопожатие и обмен ключами. Клиент и сервер проверяют друг друга и согласуют сеансовые ключи. WireGuard делает это по схеме на основе фреймворка Noise, OpenVPN — через TLS, IPsec — с помощью протокола IKE.
- Шифрование и проверка целостности. Каждый пакет шифруется и получает код аутентификации, по которому получатель видит, что данные не изменили по дороге. Современные протоколы используют AEAD-шифры — ChaCha20-Poly1305 или AES-GCM.
- Инкапсуляция. Исходные данные упаковываются в новый пакет, адресованный VPN-серверу. Дополнительные заголовки занимают место, поэтому полезных данных в каждом пакете помещается немного меньше.
- Транспорт. Готовые пакеты уходят на сервер по UDP или TCP на определённый порт.
Полезно различать классические VPN-протоколы и прокси-протоколы. WireGuard, OpenVPN и IKEv2 создают в системе виртуальный сетевой интерфейс и передают IP-пакеты целиком. VLESS по своей природе прокси-протокол: он передаёт потоки данных отдельных соединений, а режим «весь трафик устройства через VPN» обеспечивает клиентское приложение, которое само поднимает виртуальный интерфейс (TUN). Пользователь разницы почти не замечает, но у каждого протокола свой формат профиля: ключ VLESS не откроется в приложении WireGuard, и наоборот.
WireGuard и AmneziaWG
WireGuard — относительно молодой протокол: в 2020 году он вошёл в ядро Linux 5.6. Его реализация занимает несколько тысяч строк кода — многократно меньше, чем у OpenVPN или стека IPsec, и это заметно упрощает аудит. Набор криптографии фиксирован: Curve25519 для обмена ключами, ChaCha20-Poly1305 для шифрования, BLAKE2s для хеширования. Шифры не согласуются, поэтому выбрать в настройках слабый алгоритм невозможно.
WireGuard работает только поверх UDP; в документации и примерах обычно указан порт 51820. У каждой стороны есть пара ключей, а в конфигурации прописываются открытый ключ собеседника и диапазоны адресов, которые через него разрешено передавать (параметр AllowedIPs). Когда данных нет, протокол «молчит»: без настройки PersistentKeepalive он не шлёт служебных пакетов. При смене сети, например с Wi-Fi на мобильный интернет, сервер узнаёт новый адрес клиента из первого же аутентифицированного пакета, и туннель продолжает работать без полного переподключения.
Чем AmneziaWG отличается от WireGuard
AmneziaWG — модификация WireGuard от проекта Amnezia. Криптография, принцип работы и транспорт UDP остаются прежними, но служебные пакеты дополнительно маскируются: перед рукопожатием клиент может отправить несколько пакетов со случайным содержимым, к пакетам рукопожатия добавляется случайное заполнение, а фиксированные значения типов сообщений в заголовках заменяются на заданные в конфигурации. За это отвечают параметры Jc, Jmin, Jmax, S1, S2 и H1–H4; в новых версиях AmneziaWG к ним добавились и другие.
Практическое следствие: параметры у клиента и сервера должны совпадать, поэтому ключ AmneziaWG импортируют в Amnezia VPN или другой клиент с поддержкой AmneziaWG, а не в стандартное приложение WireGuard. Скорость и расход батареи сопоставимы с WireGuard: дополнительная работа касается в основном служебных пакетов, а не потока данных. Подробнее об устройстве обоих вариантов — в статье WireGuard VPN: как работает и чем отличается AmneziaWG.
VLESS + Reality и Xray
VLESS — лёгкий протокол, появившийся в экосистеме V2Ray; сейчас его развивают в основном в проекте Xray (Xray-core). В классической конфигурации у VLESS нет собственного шифрования: клиент идентифицируется по UUID, а защиту обеспечивает транспортный уровень — TLS или Reality. Благодаря этому данные не шифруются дважды, и протокол остаётся экономным.
Reality — механизм защиты соединения в Xray на базе TLS 1.3. Ему не нужны собственный домен и сертификат: в рукопожатии указывается имя (SNI) существующего стороннего сайта. В профиле клиента записаны открытый ключ сервера (X25519) и короткий идентификатор shortId — с их помощью клиент встраивает в рукопожатие метку, по которой сервер узнаёт своего пользователя. Подключение идёт поверх TCP, обычно на порту 443, и выглядит как обычный защищённый HTTPS-трафик. В профилях часто встречается параметр flow со значением xtls-rprx-vision — режим, который снижает накладные расходы, когда внутри туннеля передаётся уже зашифрованный TLS-трафик.
Ключ VLESS — это ссылка vless://, в которой закодированы адрес сервера, порт, UUID и параметры Reality. Чаще ключи выдают не по одному, а ссылкой подписки: приложение получает список серверов и само его обновляет. Подходят Happ, v2RayTun и другие клиенты на ядре Xray. Разбор ключа по полям — в статье Что такое VLESS: протокол, Xray и разбор ключа.
OpenVPN
OpenVPN — один из самых распространённых протоколов с открытым кодом; первая версия вышла в 2001 году. Для обмена ключами он использует TLS на базе OpenSSL или совместимой библиотеки, а данные в современных версиях обычно шифрует AES-256-GCM или ChaCha20-Poly1305. Работает и по UDP, и по TCP; закреплённый за ним в реестре IANA порт — 1194.
Сильные стороны VPN на OpenVPN — зрелость и гибкость: десятки параметров конфигурации, аутентификация по сертификатам, логину и паролю или их сочетанию, поддержка во многих роутерах и корпоративных шлюзах. Профиль хранится в файле .ovpn, который открывают OpenVPN Connect, Tunnelblick на macOS, NetworkManager в Linux и встроенные клиенты роутеров.
Слабые стороны — сложность и производительность. Классический OpenVPN обрабатывает трафик в пользовательском пространстве, поэтому на том же оборудовании обычно уступает WireGuard в скорости и сильнее нагружает процессор, а на телефоне — батарею. В версии 2.6 появился модуль Data Channel Offload (DCO), который переносит обработку данных в ядро и сокращает разрыв, но поддерживают его пока не все клиенты и платформы.
IKEv2/IPsec, L2TP и PPTP
IKEv2/IPsec
IKEv2 — протокол обмена ключами, который работает в паре с IPsec. Главный плюс — встроенная поддержка в Windows, macOS, iOS и Android: подключение настраивается в системных параметрах без сторонних приложений. Расширение MOBIKE сохраняет туннель при смене сети, поэтому IKEv2 часто выбирают для корпоративного удалённого доступа со смартфонов и ноутбуков. Обмен ключами идёт по UDP 500, а если устройство находится за NAT — по UDP 4500; данные передаются в протоколе ESP или упаковываются в тот же UDP 4500.
L2TP/IPsec
L2TP сам ничего не шифрует, поэтому его используют только вместе с IPsec. Получается двойная инкапсуляция и больше накладных расходов, чем у современных протоколов; задействованы UDP 500, 4500 и 1701. L2TP ещё встречается в старых роутерах и корпоративных сетях, но Microsoft объявила PPTP и L2TP устаревшими в Windows Server, а на многих современных Android-устройствах во встроенных настройках остались только варианты IKEv2/IPsec.
PPTP
PPTP — протокол 1990-х годов, который использует TCP 1723 и GRE. Его схема аутентификации MS-CHAPv2 давно считается небезопасной, а Apple убрала PPTP из iOS и macOS ещё в 2016 году. Для защиты трафика PPTP использовать не стоит.
Flex-VPN работает на двух протоколах — AmneziaWG и VLESS + Reality. OpenVPN, IKEv2, L2TP и PPTP описаны для общего понимания: в сервисе они не используются.
UDP или TCP и стандартные порты
Транспорт определяет, как пакеты туннеля доходят до сервера, и заметно влияет на поведение подключения в нестабильных сетях.
- UDP не устанавливает соединение и сам не пересылает потерянные пакеты. Для туннеля это плюс: внутри идут обычные TCP-соединения ваших приложений, и потери они обрабатывают сами. Поэтому WireGuard, AmneziaWG и OpenVPN в режиме UDP обычно дают меньшую задержку и хорошо подходят для звонков, игр и видео.
- TCP гарантирует доставку и порядок данных. Если пакетный туннель вроде OpenVPN работает по TCP, а внутри тоже идёт TCP, при потерях повторные отправки происходят на двух уровнях сразу и скорость проседает сильнее — это называют проблемой TCP-over-TCP. VLESS передаёт не IP-пакеты, а потоки данных: клиент сам завершает TCP-соединения приложений, поэтому у него этот эффект выражен слабее.
Практическое правило: если UDP-профиль в вашей сети работает ровно, оставляйте его. Если в конкретной сети UDP-соединение рвётся или теряет пакеты, попробуйте профиль поверх TCP и сравните результат.
Порты в таблице ниже — значения по умолчанию из документации и стандартов. Сервер может работать и на другом порту: он записан в ключе или файле конфигурации, поэтому при импорте готового профиля вводить его вручную не нужно. Учитывайте и накладные расходы на заголовки: если MTU не задан явно, утилита wg-quick вычитает 80 байт из MTU основного сетевого интерфейса — обычно получается 1420 вместо привычных 1500, чтобы упакованный пакет проходил по каналу без фрагментации.
Протоколы VPN в одной таблице: транспорт, порты, клиенты
Сводка по основным протоколам. Скорость в таблицу не вынесена намеренно: она зависит от сервера, сети и устройства больше, чем от названия протокола.
| Протокол | Транспорт | Порт по умолчанию | Где применяется | Клиенты |
|---|---|---|---|---|
| WireGuard | UDP | 51820 | Личные и корпоративные VPN, роутеры, серверы Linux | Приложение WireGuard, встроенная поддержка в Linux и многих роутерах |
| AmneziaWG | UDP | Единого значения нет, порт указан в ключе | Подключение по готовому ключу на телефонах, компьютерах и роутерах | Amnezia VPN, прошивки роутеров с поддержкой AmneziaWG |
| VLESS + Reality | TCP (TLS 1.3) | Обычно 443 | Альтернативный профиль поверх TCP/TLS, подключение по ссылке подписки | Happ, v2RayTun и другие клиенты на ядре Xray |
| OpenVPN | UDP или TCP | 1194 | Корпоративные сети, роутеры, старые системы | OpenVPN Connect, Tunnelblick, клиенты роутеров |
| IKEv2/IPsec | UDP, ESP | 500 и 4500 | Корпоративный удалённый доступ, мобильные устройства | Встроенные клиенты Windows, macOS, iOS, Android |
| L2TP/IPsec | UDP | 500, 4500, 1701 | Старые роутеры и корпоративные сети | Встроенные клиенты части систем |
| PPTP | TCP, GRE | 1723 | Устаревшее оборудование | Встроенные клиенты старых систем; использовать не рекомендуется |
Какой протокол выбрать: скорость, батарея и поддержка на устройствах
Протокола, который одинаково хорош для всех, нет — есть подходящий под конкретную задачу и устройство. Ориентируйтесь на три критерия.
- Скорость и задержка. WireGuard и AmneziaWG — лёгкие протоколы с коротким рукопожатием и минимумом служебного трафика; на одном и том же сервере они обычно дают наименьшую задержку. VLESS + Reality тоже экономен, но работает поверх TCP, и в сети с потерями это может быть заметно. OpenVPN, как правило, медленнее из-за обработки в пользовательском пространстве. Сравнивайте на своём подключении: чужие тесты мало говорят о вашей сети.
- Батарея. Пока нет данных, WireGuard и AmneziaWG почти не отправляют служебных пакетов — для смартфона это удобно. В остальном расход больше зависит от качества сети и частоты переподключений, чем от протокола.
- Поддержка на устройствах. Если на устройство нельзя ставить сторонние приложения, остаётся встроенный IKEv2. Для роутеров чаще выбирают WireGuard, AmneziaWG или OpenVPN. На телефонах и компьютерах с приложениями доступны все современные варианты.
Какой протокол выбрать в Amnezia VPN и Happ
Amnezia VPN поддерживает несколько протоколов, но при подключении по готовому ключу выбирать ничего не нужно: тип протокола и все параметры уже записаны в ключе. Happ — клиент на ядре Xray, и в нём подключение задаёт ссылка подписки, которая сама обновляет список серверов. Поэтому настройка протокола VPN в обоих приложениях сводится к импорту ключа или ссылки. В Flex-VPN ключи AmneziaWG открываются в Amnezia VPN, а профиль VLESS + Reality — в Happ или v2RayTun по ссылке подписки.
Как подобрать протокол на практике
- Начните с AmneziaWG: установите Amnezia VPN и импортируйте ключ по инструкции по настройке Amnezia.
- Проверьте подключение в обычных условиях: откройте несколько сайтов, проведите видеозвонок, переключитесь с Wi-Fi на мобильный интернет и обратно.
- Если в какой-то сети соединение нестабильно, добавьте профиль VLESS + Reality: установите Happ и импортируйте ссылку подписки по инструкции для Happ.
- Сравните оба профиля в одной сети и в одно и то же время, затем оставьте тот, что работает ровнее. Оба приложения можно держать установленными, но включать два VPN одновременно не стоит.
Приложения для Windows, macOS, Android и iPhone собраны на странице загрузок, а подробное сравнение двух протоколов — в статье AmneziaWG и VLESS + Reality: чем отличаются.
Частые вопросы
Какой протокол VPN самый быстрый?
Универсального ответа нет. На одном и том же сервере WireGuard и AmneziaWG обычно дают наименьшую задержку благодаря UDP и простому рукопожатию. Реальная скорость зависит от сервера, сети и устройства, поэтому сравнивайте протоколы на своём подключении.
Какие протоколы ВПН считаются устаревшими?
PPTP: его схема аутентификации давно признана небезопасной, а Apple убрала его из iOS и macOS ещё в 2016 году. L2TP/IPsec пока работает, но уступает современным протоколам и постепенно исчезает из встроенных настроек систем.
Чем VLESS отличается от WireGuard?
WireGuard передаёт IP-пакеты по UDP и шифрует их сам. VLESS — лёгкий прокси-протокол: в классической конфигурации защиту даёт TLS или Reality, а подключение идёт поверх TCP, обычно на порту 443. Форматы ключей разные, поэтому и приложения нужны разные.
Можно ли открыть ключ AmneziaWG в приложении WireGuard?
Как правило, нет: в ключе AmneziaWG есть дополнительные параметры (Jc, S1, H1 и другие), которые стандартный клиент WireGuard не понимает. Используйте Amnezia VPN или другой клиент с поддержкой AmneziaWG.
Какой порт использует OpenVPN?
По умолчанию UDP 1194, но администратор сервера может назначить другой порт или перевести подключение на TCP. Точные значения указаны в файле конфигурации .ovpn.
Поддерживает ли Flex-VPN OpenVPN или IKEv2?
Нет. В сервисе используются AmneziaWG и VLESS + Reality: ключи AmneziaWG импортируются в Amnezia VPN, а ссылка подписки VLESS — в Happ или v2RayTun.