AmneziaWG: настройка протокола, версии 1.0–3.1 и подключение на Windows, Android, iOS и macOS

Подробный разбор протокола AmneziaWG: принципы обфускации, отличия версий, установка на разные ОС, генерация параметров и устранение неполадок.

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

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

Основная задача AmneziaWG — сделать так, чтобы интернет-провайдер или государственная система фильтрации не видели факт использования VPN. Вместо того чтобы блокировать соединение или снижать его скорость, DPI пропускает замаскированный трафик как неизвестный или как трафик другого протокола.

Важно понимать ограничение: если провайдер блокирует весь UDP-трафик целиком, обфускация не поможет. В таком случае протоколы на основе TCP, например XRay, будут более надёжным решением. AmneziaWG создан для сценариев, где применяется точечная фильтрация по сигнатурам, а не полное отключение протокола.

Версии AmneziaWG: от 1.0 до 3.1

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

AWG 1.0 (Legacy) — самая ранняя версия. В файле конфигурации параметры H1–H4 представлены одиночными числами. Задача этой версии — изменить стандартные сигнатуры WireGuard, чтобы DPI не распознавал VPN, а считал трафик неизвестным.

AWG 1.5 — добавляет к параметрам 1.0 набор значений I1–I5. Это по-прежнему клиентская настройка: изменения вносятся только в конфигурационный файл на устройстве, сервер остаётся без изменений.

AWG 2.0 — значительный шаг вперёд. Параметры H1–H4 теперь представлены диапазонами (например, H1 = 666067622-666092814), появляются новые значения S3 и S4. Главное отличие — полноценная имитация других протоколов: QUIC, DNS, TLS. Это уже серверная настройка, которая меняет параметры на стороне сервера.

AWG 3.1 — самая свежая версия, добавляющая транспортную защиту. Появляются параметры шифрования заголовков (HeaderProtectionKey с ChaCha20), случайное дополнение контента (ContentPaddingAddition), заполнение пакетов до MTU случайными значениями (RandomTrailers) и отключение cookie-ответов (DisableCookies). Транспортная защита скрывает не только handshake, но и сам факт существования туннеля.

Как определить версию протокола по файлу конфигурации

Иногда нужно понять, какая версия AWG используется в вашем конфигурационном файле. Это можно сделать, открыв .conf-файл в любом текстовом редакторе и изучив параметры.

Если H1–H4 записаны как одиночные числа — перед вами AWG 1.0. Дополнительное наличие параметров I1–I5 указывает на версию 1.5. Диапазоны в H1–H4 и новые значения S3, S4 говорят о том, что конфигурация создана для AWG 2.0. Наконец, если в файле есть параметры транспортной защиты — HeaderProtectionKey, ContentPaddingAddition, RandomTrailers, DisableCookies — это версия 3.1.

Определение версии помогает в диагностике. Например, если конфигурация перестала работать после обновления сервера, вероятно, версия протокола изменилась, и старые файлы стали недействительными. В таком случае нужно сгенерировать новые конфигурации.

Генераторы параметров обфускации

Создавать значения обфускации вручную — сложная и неблагодарная задача. К счастью, существуют генераторы, которые автоматически подбирают подходящие параметры.

Один из самых известных — architect.vai-rice.space. Есть и другие: voidwaifu.github.io/Special-Junk-Packet-List (с кнопкой с инструкцией по заполнению), spatiumstas.github.io/junker и sageptr.github.io/mini_quic_generator.

Алгоритм действий при генерации параметров для AWG 2.0 выглядит так: сначала выберите протокол, который хотите имитировать (QUIC, DNS или TLS), затем сгенерируйте значения на одном из сайтов и перенесите их в приложении AmneziaVPN в раздел «Server settings» → «AmneziaWG» → «AmneziaWG server settings».

Критически важное правило: порт должен соответствовать имитируемому протоколу. Если вы имитируете DNS, используйте порт 53. Для веб-трафика (QUIC/HTTP3) подходит порт 443. Имитация DNS на случайном высоком порту выглядит подозрительно для DPI и теряет смысл.

Установка и подключение AmneziaWG на Windows

Для работы с AmneziaWG на компьютере с Windows необходимо установить отдельное приложение AmneziaWG, которое распространяется через GitHub-репозиторий amnezia-vpn/amneziawg-windows-client. На странице релизов выбирайте самый верхний вариант — это свежая сборка.

При выборе установщика учитывайте разрядность и версию системы. Чтобы узнать их, откройте Пуск → Настройки → Система → О программе. Для 64-разрядной системы выбирайте файлы с пометкой x64, для 32-разрядной — x86 (x32). Отдельные сборки существуют для ARM64-процессоров, которые встречаются в современных ноутбуках. Для Windows 7/8, Windows 10 и Windows 10/11 предусмотрены разные установщики.

После установки откройте приложение и нажмите кнопку «Добавить туннель». Затем выберите скачанный .conf-файл и нажмите «Открыть». После импорта останется нажать кнопку «Подключить». Если всё выполнено правильно, статус изменится на «Подключен».

Получение конфигурационного файла для Amnezia Premium

Если вы используете коммерческий сервис Amnezia Premium, конфигурационные файлы скачиваются через личный кабинет. Сначала найдите в электронном письме ключ, начинающийся с vpn://, и скопируйте его целиком.

Затем перейдите в личный кабинет и вставьте ключ в окно ввода. После входа откройте раздел «Файлы конфигурации». Перед скачиванием отключите сторонние VPN-приложения и VPN-подключения, чтобы избежать конфликтов.

В списке локаций выберите подходящую и нажмите значок скачивания. Например, в документации используется локация [P2P] Швейцария. Затем нажмите «Получить новый» — файл загрузится в папку «Загрузки» по умолчанию.

Обратите внимание на важное ограничение: для каждой локации можно сгенерировать только один файл конфигурации. Используйте разные локации для разных устройств. Если добавить один и тот же файл на несколько устройств, подключение перестанет работать на всех из них.

Подключение AmneziaWG на macOS, Android и iOS

macOS: приложение устанавливается из App Store. Требуется версия macOS 12.0 или новее. Проверить версию можно в меню Apple → «Об этом Mac». После запуска приложения выберите «Импорт туннелей из файла...», укажите .conf-файл и нажмите «Импорт». Если система запросит разрешение на добавление VPN-конфигураций, нажмите «Разрешить».

Android: приложение доступно в Google Play и требует версию Android 7.0 или новее. После установки нажмите на иконку «+» в правом нижнем углу, выберите «Импорт из файла или архива» и укажите .conf-файл. Обычно он находится в папке «Загрузки». После импорта останется активировать переключатель рядом с названием подключения.

iOS: приложение устанавливается из App Store и требует iOS 15.0 или новее. После скачивания файла откройте приложение AmneziaWG и нажмите «Добавить туннель», затем «Создать из файла или архива». Найдите .conf-файл в папке Downloads или Загрузки. Важный нюанс: нужно нажать на файл и удерживать его, пока не откроется контекстное меню, затем выбрать «Поделиться» и в меню отправки указать AmneziaWG.

Установка устаревших версий 1.0 и 1.5

Иногда возникает необходимость использовать старые версии протокола, предшествующие спецификации 2.0. Это может потребоваться для совместимости с определёнными серверами или для тестирования.

Сложность в том, что версия протокола, разворачиваемого на сервере, определяется версией клиентского приложения. Поэтому порядок действий должен быть строгим: полностью удалите текущее приложение AmneziaVPN с устройства, скачайте и установите версию 4.8.11.4 — последнюю сборку без логики AWG 2.0.

Затем подключитесь к серверу с помощью этой версии и установите протокол AWG. На сервере будет развёрнута устаревшая версия (AWG 1.0). После этого можно обновить AmneziaVPN до актуальной версии — приложение продолжит корректно работать с сервером, на котором запущена старая версия протокола.

Тонкая настройка: смена порта и виртуальной подсети

Если провайдер начал ограничивать скорость соединения, можно попробовать изменить порт протокола на значение ниже 1000. Это не гарантированное решение, но иногда помогает, если ISP троттлит высокие порты. Метод подбора действует по принципу проб и ошибок.

Виртуальная подсеть меняется обычно тогда, когда адресация по умолчанию 10.8.1.0/24 конфликтует с адресами домашнего роутера. В этом случае подсеть изменяют, например, на 10.8.2.0/24. После изменения все ранее выданные клиентские конфигурации становятся недействительными — необходимо заново сгенерировать .conf-файлы и импортировать их на все устройства.

Экспериментируя с версиями и параметрами, помните о резервном копировании. Настройки протокола хранятся в docker-контейнере на сервере. Переустановка протокола аннулирует все выданные ключи. Существует сторонний скрипт amnezia-backup, который помогает сохранить данные. Он доступен на GitHub и запускается на сервере с правами root, поэтому перед выполнением стоит открыть файл и изучить его содержимое.

Устранение неполадок и выбор альтернативы

Если AmneziaWG перестал подключаться, сначала убедитесь, что проблема именно в протоколе, а не в сервере. Проверьте, запущен ли сервер и доступен ли он по сети.

Если провайдер блокирует UDP-трафик целиком, обфускация бессильна — DPI может не распознавать VPN, но сам протокол не сможет установить соединение. В этой ситуации более надёжным решением будет переход на TCP-протокол XRay. Это стандартный рекомендуемый путь, когда AmneziaWG не помогает.

Помните о границах ответственности: при использовании стороннего хостинга настройка параметров обфускации и клиента — ваша задача. Поддержка хостинга помогает только при неполадках с самим сервером: если он не включается, недоступен или находится в состоянии Bad State. Вопросы по протоколу лучше задавать в сообществах Amnezia.

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

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

AmneziaWG — это форк WireGuard с добавленной обфускацией трафика. Стандартный WireGuard имеет характерные сигнатуры пакетов, по которым DPI-системы легко определяют VPN-соединение. AmneziaWG изменяет размеры пакетов и заголовки, чтобы трафик выглядел как неизвестный или как трафик другого протокола. В версиях 2.0 и 3.1 добавлена имитация QUIC, DNS и TLS, а также транспортная защита, скрывающая сам факт существования туннеля.

Какую версию AmneziaWG выбрать: 2.0 или 3.1?

Версия 3.1 — самая актуальная, она добавляет транспортную защиту поверх имитации протоколов из 2.0. Если у вас нет особых причин использовать старую версию, выбирайте 3.1. Но учитывайте, что при переходе на новую версию старые конфигурационные файлы становятся недействительными — нужно заново генерировать и распространять .conf-файлы среди пользователей. Если же вы хотите использовать версии 1.0 или 1.5, потребуется временно откатить клиент до сборки 4.8.11.4.

Почему после добавления одного конфигурационного файла на несколько устройств подключение перестало работать?

Для каждой локации Amnezia Premium можно сгенерировать только один файл конфигурации, и он привязан к конкретному устройству. Если импортировать один и тот же файл на несколько устройств, сервер увидит попытку одновременного подключения с одинаковыми ключами и заблокирует соединение на всех устройствах. Используйте разные локации для каждого устройства или генерируйте отдельные файлы, если такая возможность предусмотрена вашим тарифом.

Что делать, если AmneziaWG не подключается и обфускация не помогает?

Сначала убедитесь, что проблема именно в протоколе, а не в сервере. Если сервер исправен, вероятная причина — блокировка всего UDP-трафика провайдером. Обфускация бессильна в такой ситуации, так как соединение не может установиться в принципе. Рекомендуемый выход — перейти на TCP-протокол XRay. Также можно попробовать сменить порт на значение ниже 1000, но это работает не всегда.

Как сгенерировать параметры обфускации для AmneziaWG 2.0?

Используйте онлайн-генераторы, например architect.vai-rice.space или spatiumstas.github.io/junker. Выберите протокол для имитации (QUIC, DNS или TLS), сгенерируйте значения и перенесите их в приложение AmneziaVPN в раздел «Server settings» → «AmneziaWG» → «AmneziaWG server settings». Важно, чтобы порт соответствовал имитируемому протоколу: порт 53 для DNS, порт 443 для веб-трафика. После изменения параметров старые конфигурации станут недействительными.

Нужно ли что-то настраивать на сервере для версий AmneziaWG 1.0 и 1.5?

Нет, для версий 1.0 и 1.5 обфускация настраивается только на стороне клиента. Параметры вносятся в конфигурационный файл .conf на устройстве, и сервер не требует изменений. Для версии 2.0 и выше ситуация иная: имитация протоколов меняет параметры сервера, поэтому после изменения настроек требуется раздавать новые конфигурационные файлы всем пользователям.