Назад к блогу

AmneziaWG 2.0: как форк WireGuard научился обманывать системы глубокой инспекции пакетов

2026-03-257 мин
AmneziaWGWireGuardObfuscationDPIRussia

WireGuard перевернул мир VPN в 2020 году. Всего ~4000 строк кода, криптография ChaCha20-Poly1305, время подключения менее 1 секунды — и протокол мгновенно стал выбором номер один для современных VPN-сервисов. Но в 2025 году возникла проблема: WireGuard слишком легко детектировать.

Проблема детекции

В России у WireGuard сейчас примерно 12% успешных соединений. В Иране пакетные потери достигают 98%. Китай, Египет, ОАЭ, Турция, Беларусь, Казахстан, Мьянма и Пакистан развернули системы DPI, способные идентифицировать трафик WireGuard по фиксированным UDP-заголовкам и постоянным паттернам рукопожатия.

Проблема не в шифровании — криптография WireGuard остаётся небьющейся. Проблема в внешнем виде трафика. Когда каждый пакет рукопожатия выглядит идентично, системы паттерн-матчинга мгновенно учатся его распознавать.

На сцену выходит AmneziaWG 2.0

AmneziaWG — форк WireGuard, созданный командой Amnezia VPN. Версия 2.0, выпущенная в марте 2026 года, представляет собой качественный скачок в технологии обфускации. В отличие от старых инструментов, которые просто туннелируют WireGuard через другой протокол (добавляя задержку и сложность), AmneziaWG модифицирует транспортный уровень напрямую, сохраняя ядро криптографии и производительность WireGuard.

Custom Protocol Signatures (I1–I5)

Перед началом настоящего рукопожатия WireGuard AmneziaWG 2.0 отправляет приманочные пакеты, имитирующие другие протоколы. Параметры I1–I5 определяют содержимое до 5 приманочных пакетов с помощью гибкой системы тегов:

  • <b 0xHEX> — вставка конкретных байтов
  • <r N> — N криптографически случайных байтов
  • <rc N> — N случайных буквенно-цифровых символов
  • <t> — текущая метка времени UNIX
  • <c> — счётчик пакетов

Например, конфигурация CPS может начинаться с байтов, напоминающих заголовок QUIC Initial, за которыми следуют случайные данные и метка времени. DPI-бокс классифицирует это как начало обычной QUIC-сессии. Сервер полностью игнорирует приманочные пакеты — он просто ждёт реального рукопожатия, следующего за ними.

Junk-trains (Jc, Jmin, Jmax)

Перед каждым легитимным рукопожатием клиент выпускает Jc мусорных пакетов со случайными размерами между Jmin и Jmax байт. Этот чистый шум размывает профиль тайминга и размеров при старте соединения, существенно затрудняя статистическое обнаружение.

Ranged-заголовки (H1–H4)

В AmneziaWG 1.x некоторые значения заголовков были фиксированными константами — ещё один отпечаток. Версия 2.0 заменяет их диапазонами, рандомизируя значения для каждого пакета. Параметры padding для init, response, cookie и data-пакетов также полностью конфигурируемы.

Результат: каждый сервер говорит на своём диалекте

Поскольку каждый сервер AmneziaWG 2.0 получает уникальный набор параметров, не существует универсальной DPI-сигнатуры, которая ловила бы весь трафик. Каждый сервер говорит на своём диалекте. Заблокируйте одну конфигурацию — и тысячи других останутся нетронутыми.

Производительность против конкурентов

ПротоколСкоростьСопротивление DPIСложность настройки
WireGuardМаксимальнаяНизкаяПростая
OpenVPN + obfs4Медленная (-25%)СредняяСложная
ShadowsocksВысокаяСредняяПростая
VLESS + RealityВысокаяОчень высокаяСложная
AmneziaWG 2.0ВысокаяОчень высокаяСредняя

Итог

AmneziaWG 2.0 заполняет критически важный пробел: это полноценный VPN-туннель с производительностью уровня WireGuard и встроенной защитой от DPI — всё в одном пакете. Для пользователей в странах с жёсткой цензурой, которые не хотят торговать скоростью за стелс, это может быть лучший доступный сегодня вариант.