Amnezia Protocol: как работает защищённый VPN-протокол и чем он отличается от WireGuard

Разбираем AmneziaWG: что это, как устроен протокол, чем версия 2.0 отличается от 1.0, как настроить self-hosted VPN и какие ограничения стоит учитывать.

Что такое Amnezia Protocol и зачем он нужен

Amnezia Protocol — это собирательное название для набора технологий, разработанных командой Amnezia VPN для обхода интернет-цензуры. Основной компонент — протокол AmneziaWG, который представляет собой модифицированную версию WireGuard. WireGuard известен своей скоростью и простотой, но его трафик легко распознаётся системами глубокого анализа пакетов (DPI). AmneziaWG решает эту проблему, добавляя обфускацию и маскировку трафика.

Протокол был создан в 2020 году в ходе хакатона Demhack, организованного цифровыми правозащитниками из Роскомсвободы. Позже проект прошёл акселератор Privacy Accelerator и в 2021 году вышел в публичный доступ. Сегодня AmneziaVPN — это open-source сервис с лицензией GNU GPL 3.0, который позволяет как подключаться к коммерческим серверам, так и разворачивать собственный VPN на арендованном сервере.

Основная задача Amnezia Protocol — сделать VPN-трафик неотличимым от обычного интернет-трафика. Это важно в странах с жёсткой цензурой, где DPI-системы активно блокируют известные протоколы, такие как OpenVPN, WireGuard и IKEv2. AmneziaWG использует UDP и добавляет случайные данные, изменяет размеры пакетов и заголовки, что затрудняет детектирование.

Как работает AmneziaWG: базовые принципы обфускации

AmneziaWG основан на WireGuard, но добавляет несколько уровней защиты от DPI. В версии 1.0, вышедшей в 2023 году, были реализованы три основных механизма:

  • Junk packets (Jc, Jmin, Jmax) — перед handshake клиент отправляет случайное количество мусорных пакетов, чтобы сбить с толку DPI.
  • Padding (S1, S2) — изменение размеров handshake-пакетов с помощью добавления случайных байт.
  • Кастомные заголовки (H1-H4) — замена стандартных 4-байтовых идентификаторов типа пакета WireGuard на произвольные значения.

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

Версия 2.0, анонсированная в 2025 году, пошла дальше. Она добавляет возможность полной мимикрии под легитимные UDP-протоколы, такие как DNS, QUIC или SIP. Это достигается за счёт signature packets и расширенного padding, о которых мы поговорим ниже.

AmneziaWG 2.0: ключевые нововведения

AmneziaWG 2.0 — это значительный шаг вперёд по сравнению с первой версией. Разработчики сохранили все прежние механизмы и добавили новые возможности, которые делают трафик практически неотличимым от обычного.

Signature Packets (i1-i5) — главное нововведение. Перед каждым handshake (который происходит примерно раз в две минуты) клиент отправляет до пяти специальных пакетов, которые имитируют начало легитимного протокола. Например, если настроить i1 как DNS-запрос, DPI увидит обычный DNS-трафик и пропустит его. Сигнатуры описываются на языке CPS (Custom Protocol Signature), который позволяет конструировать пакеты из тегов: точных байт, случайных данных, временных меток и т.д.

Расширенный padding (S3, S4) — в версии 1.0 padding применялся только к handshake-пакетам. В 2.0 добавлен padding для Cookie Reply (S3) и, что важнее, для всех транспортных data-пакетов (S4). Это означает, что каждый пакет с реальным трафиком теперь получает случайное количество дополнительных байт, что делает размеры пакетов непредсказуемыми.

Range-based заголовки (H1-H4) — вместо фиксированных значений заголовков теперь можно задавать диапазоны. Например, H1 = 471800590-471800690 означает, что каждый handshake init пакет будет иметь случайное значение из этого диапазона. Это делает невозможным запоминание DPI конкретного заголовка.

Важно: диапазоны H1-H4 не должны пересекаться, иначе протокол не сможет корректно определить тип пакета.

CPS: язык маскировки трафика

CPS (Custom Protocol Signature) — это специальный формат для описания signature packets. Он позволяет создавать "поддельные" пакеты, которые выглядят как начало легитимного протокола. CPS использует набор тегов, каждый из которых вставляет определённые данные в пакет:

  • ** — вставляет точные байты, например, магические байты протокола.
  • `` — добавляет 4-байтовую временную метку Unix time.
  • `` — добавляет N случайных байт.
  • `` — добавляет N случайных букв и цифр (A-Za-z0-9).
  • `` — добавляет N случайных цифр (0-9).

Пример сигнатуры для имитации QUIC:

i1 = **

Здесь ** — это начало QUIC Initial packet, ` — имитация Connection ID, — временная метка, ` — случайный payload. В результате DPI видит пакет, который выглядит как начало QUIC-соединения (HTTP/3), и пропускает его.

CPS позволяет создавать сигнатуры для любых UDP-протоколов: DNS, SIP, QUIC и других. Это даёт пользователю гибкость в выборе маскировки в зависимости от того, какой трафик считается легитимным в его регионе.

Как настроить self-hosted VPN с AmneziaWG 2.0

Развернуть собственный VPN с AmneziaWG 2.0 достаточно просто, особенно если использовать официальное приложение AmneziaVPN. Для этого потребуется арендованный сервер (VPS) с root-доступом. Установка происходит через графический интерфейс без необходимости работы с командной строкой.

Чтобы использовать AmneziaWG 2.0, необходимо:

  1. Скачать или обновить приложение AmneziaVPN до версии 4.8.12.9 или выше (для self-hosted).
  2. Добавить сервер в приложение, указав IP-адрес и root-доступ.
  3. Выбрать протокол AmneziaWG и установить его. Приложение автоматически сгенерирует конфигурацию с параметрами обфускации.
  4. Подключиться к серверу.

Важно: для пользователей Free и Premium версия AmneziaWG 2.0 пока не доступна — там используется версия 1.5. Поддержка 2.0 для этих тарифов будет добавлена позже.

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

Сравнение AmneziaWG с другими протоколами

AmneziaWG — не единственный протокол, устойчивый к DPI. В AmneziaVPN также доступны OpenVPN, WireGuard, Shadowsocks, IKEv2, VLESS, Cloak и XRay Reality. У каждого из них есть свои сильные и слабые стороны.

  • OpenVPN — проверенный временем протокол, но легко распознаётся DPI. Рекомендуется использовать только с маскировкой, например, с Cloak.
  • WireGuard — быстрый и простой, но его сигнатура хорошо известна, поэтому он легко блокируется.
  • Shadowsocks — маскируется под HTTPS, но некоторые DPI могут его распознать.
  • IKEv2 — стабилен на мобильных устройствах, но уязвим к блокировкам.
  • XRay Reality — использует TLS-маскировку и перенаправляет неопознанные запросы на реальные сайты, что делает его очень устойчивым. Работает по TCP.

AmneziaWG сочетает скорость WireGuard с обфускацией, что делает его хорошим выбором для регионов с умеренной цензурой. Однако в странах с максимально жёсткой фильтрацией (Китай, Иран) XRay Reality может быть более надёжным, так как он использует TCP и имитирует TLS-соединения с реальными сайтами.

Ограничения и недостатки AmneziaWG

Несмотря на все преимущества, AmneziaWG имеет ряд ограничений, которые важно учитывать.

Зависимость от UDP — протокол работает только через UDP. Если провайдер или государственная система блокирует весь UDP-трафик (что встречается в некоторых мобильных сетях), AmneziaWG становится бесполезным. В таких случаях приходится использовать TCP-протоколы, например, OpenVPN over Cloak или XRay Reality.

Требования к серверу — для self-hosted VPN нужен полный root-доступ к серверу. Кроме того, установка AmneziaVPN изменяет правила файрвола, что может конфликтовать с другими сервисами на сервере.

Статистический анализ — хотя AmneziaWG 2.0 значительно усложняет детектирование, DPI-системы могут использовать поведенческий анализ. Если на сервере много пользователей, трафик становится более предсказуемым, и вероятность блокировки возрастает. Self-hosted сервер с малым числом пользователей менее уязвим.

Совместимость — AmneziaWG 2.0 поддерживается только в последних версиях клиента AmneziaVPN. Для пользователей Free и Premium версия 2.0 пока недоступна, что ограничивает её применение.

Практические примеры конфигураций AmneziaWG 2.0

Рассмотрим пример конфигурации AmneziaWG 2.0, которая имитирует DNS-трафик. В файле конфигурации можно задать следующие параметры:

# Signature packet, имитирующий DNS
 i1 = **

# Padding
 S1 = 68
 S2 = 149
 S3 = 32
 S4 = 16

# Заголовки с диапазонами
 H1 = 471800590-471800690
 H2 = 1246894907-1246895000
 H3 = 923637689-923637690
 H4 = 1769581055-1869581055

Здесь i1 — сигнатура DNS-запроса, S1-S4 — padding для разных типов пакетов, H1-H4 — диапазоны заголовков. Важно, чтобы диапазоны не пересекались.

Для имитации QUIC можно использовать сигнатуру:

i1 = **

Этот пакет будет выглядеть как начало QUIC Initial packet. DPI, увидев такой пакет, скорее всего, пропустит его как легитимный.

При настройке важно помнить, что signature packets отправляются только перед handshake, который происходит раз в две минуты. Основной трафик (data-пакеты) маскируется с помощью S4 padding и H4 заголовков.

Будущее Amnezia Protocol и экосистема

AmneziaVPN продолжает развиваться. В 2026 году сервис столкнулся с масштабными блокировками в России, но команда быстро выпустила обновления и восстановила работу, запустив 20 серверов с новой версией протокола. Это показывает, что проект активно реагирует на вызовы цензуры.

Экосистема Amnezia включает не только VPN-клиент, но и дополнительные инструменты: Amnezia Free — Telegram-бот для бесплатного доступа к заблокированным сайтам, а также документацию и гайды по развёртыванию self-hosted VPN. Проект полностью открыт, что позволяет сообществу вносить вклад в развитие.

В будущем можно ожидать дальнейшего улучшения AmneziaWG, возможно, добавления поддержки TCP или новых методов маскировки. Также вероятно расширение поддержки AmneziaWG 2.0 на все тарифы и платформы.

Для пользователей важно следить за обновлениями и использовать последние версии клиента, чтобы получать максимальную защиту от DPI.

Вопросы и ответы

Чем AmneziaWG отличается от обычного WireGuard?

AmneziaWG — это модифицированная версия WireGuard, которая добавляет обфускацию трафика. В отличие от стандартного WireGuard, который легко распознаётся DPI по фиксированным сигнатурам, AmneziaWG использует мусорные пакеты, изменение размеров пакетов (padding) и кастомные заголовки. Версия 2.0 дополнительно позволяет имитировать легитимные UDP-протоколы (DNS, QUIC, SIP) с помощью signature packets, что делает трафик практически неотличимым от обычного.

Как настроить собственный VPN с AmneziaWG 2.0?

Для этого нужен VPS-сервер с root-доступом. Скачайте приложение AmneziaVPN версии 4.8.12.9 или выше, добавьте сервер, выберите протокол AmneziaWG и установите его. Приложение автоматически сгенерирует конфигурацию. Дополнительная настройка не требуется. Убедитесь, что UDP-трафик не блокируется вашим провайдером.

Какие ограничения у AmneziaWG?

AmneziaWG работает только через UDP, поэтому при полной блокировке UDP (например, в некоторых мобильных сетях) он не будет работать. Также для self-hosted нужен root-доступ, и установка изменяет правила файрвола. В странах с очень жёсткой цензурой статистический анализ может выявить аномалии, особенно на серверах с большим числом пользователей.

Что такое CPS и как он используется?

CPS (Custom Protocol Signature) — это язык для описания signature packets в AmneziaWG 2.0. Он позволяет создавать пакеты, которые имитируют начало легитимных протоколов. CPS использует теги: ** для точных байт, ` для временной метки, для случайных байт, для случайных букв/цифр и для случайных цифр. Например, сигнатура QUIC выглядит как **`.

Подходит ли AmneziaWG для обхода блокировок в Китае или Иране?

AmneziaWG может работать в этих странах, но для максимальной устойчивости рекомендуется использовать XRay Reality, который имитирует TLS-соединения с реальными сайтами и работает по TCP. AmneziaWG лучше подходит для регионов с умеренной цензурой, например, в России. Self-hosted серверы с AmneziaWG часто остаются незаблокированными, даже когда коммерческие VPN-сервисы блокируются.

Какие протоколы поддерживает AmneziaVPN?

AmneziaVPN поддерживает OpenVPN, WireGuard, Shadowsocks, IKEv2, VLESS, Cloak, XRay Reality и собственный AmneziaWG. Для максимальной защиты от DPI рекомендуется использовать AmneziaWG или XRay Reality. OpenVPN и WireGuard без маскировки легко блокируются.

Безопасен ли AmneziaVPN для приватности?

AmneziaVPN не требует регистрации, не ведёт журналов активности и не отслеживает пользователей. Проект прошёл аудит безопасности в 2022 году. Однако при использовании self-hosted сервера важно самостоятельно обеспечить его безопасность, так как вы несёте ответственность за конфигурацию.