AmneziaWG 2.0: как форк WireGuard научился обманывать системы глубокой инспекции пакетов
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 — всё в одном пакете. Для пользователей в странах с жёсткой цензурой, которые не хотят торговать скоростью за стелс, это может быть лучший доступный сегодня вариант.