Что такое AmneziaWG и зачем генерировать туннель
AmneziaWG — это форк WireGuard с дополнительной обфускацией трафика. В отличие от классического WireGuard, AmneziaWG добавляет параметры Jc, Jmin, Jmax, S1, S2, H1–H4, которые маскируют рукопожатие и делают трафик менее заметным для DPI-систем. Это особенно актуально в сетях, где WireGuard блокируется или ограничивается.
Генерация туннеля — это создание конфигурационного файла (.conf), который содержит все параметры для подключения к серверу. Такой файл можно использовать в официальных клиентах AmneziaVPN, на роутерах с OpenWrt, в мобильных приложениях и на других устройствах. Генерация может выполняться вручную, через веб-инструменты или с помощью скриптов.
Основная задача генерации — правильно собрать параметры интерфейса и пира, чтобы туннель установился и работал стабильно. Ошибки в конфиге приводят к тому, что соединение не поднимается или работает нестабильно.
AWG 1.5 (Legacy) и AWG 2.0: в чём разница
AmneziaWG развивается, и сейчас существует две основные версии протокола: AWG 1.5 (Legacy) и AWG 2.0.
AWG 1.5 использует статические параметры обфускации (Jc, S1–S4, H1–H4). Он маскирует только начало соединения, но после установки туннеля трафик становится более предсказуемым. Эта версия совместима со старыми клиентами и проще в настройке. Многие существующие серверы и конфиги работают именно на AWG 1.5.
AWG 2.0 — более новая версия, которая добавляет динамические заголовки и случайный padding во всех пакетах. Это имитирует QUIC/DNS-трафик на протяжении всей сессии, что значительно усложняет эвристический DPI-анализ. Однако AWG 2.0 требует клиент AmneziaVPN версии не ниже 4.8.12.9, а для собственного сервера — обновлённый модуль ядра amneziawg-linux-kernel-module. Старые конфиги AWG 1.5 несовместимы с AWG 2.0.
При выборе версии учитывайте, какой клиент вы используете и поддерживает ли сервер нужную версию. Для Cloudflare WARP можно использовать обе версии, так как сервер Cloudflare поддерживает AmneziaWG без дополнительной настройки.
Онлайн-генераторы конфигов: обзор возможностей
Для быстрой генерации конфигов существуют веб-инструменты, например AmneziaWG Config Generator (доступен по адресам valokda-amnezia.vercel.app и hereiamgosu.github.io/amnezia-config-gen). Эти генераторы позволяют собрать .conf-файл без ручного редактирования.
Основные возможности генераторов:
- Выбор версии AWG (1.5 Legacy или 2.0).
- Настройка AllowedIPs: полный туннель (0.0.0.0/0, ::/0) или выборочные маршруты через пресеты.
- Выбор DNS-сервера (например, Cloudflare DNS или другие).
- Настройка endpoint: hostname (например, engage.cloudflareclient.com) или прямой IP-адрес.
- Выбор UDP-порта WARP (по умолчанию 4500, но можно изменить).
- Опция CPS (тип трафика для маскировки начала соединения).
- Мобильный профиль: консервативные параметры Jc/Jmin/Jmax, MTU 1280, только IPv4.
- Генерация vpn://-ссылки для импорта в мобильный AmneziaVPN.
- Возможность сгенерировать несколько вариантов конфига с разными endpoint'ами.
Генераторы также предоставляют диагностические подсказки и предупреждения, например о превышении лимита CIDR-маршрутов. Это помогает избежать типичных ошибок.
Пошаговая инструкция: генерация конфига для Cloudflare WARP
Рассмотрим процесс генерации конфига для Cloudflare WARP с помощью онлайн-генератора.
- Откройте генератор (например, valokda-amnezia.vercel.app).
- Выберите версию AWG: 1.5 (Legacy) или 2.0. Для большинства случаев подойдёт 1.5, если у вас старый клиент; для максимальной защиты — 2.0.
- Нажмите кнопку «Сгенерировать AWG 1.5» или «Сгенерировать AWG 2.0» соответственно. Файл будет сохранён в папку «Загрузки» с именем AmneziaWarp.conf или AmneziaWarp-AWG2.conf.
- Если нужно изменить маршруты или DNS, нажмите кнопку ⚙ и выберите нужные пресеты. По умолчанию весь трафик идёт через туннель (AllowedIPs = 0.0.0.0/0, ::/0).
- Для мобильного устройства можно включить «Мобильный профиль» — это уменьшит Jc/Jmax и отключит IPv6.
- После генерации вы можете скачать .conf или скопировать vpn://-ссылку для импорта в AmneziaVPN на телефоне.
Если вы используете Windows, генератор также предлагает скачать .bat-планировщик, который автоматически подключает AmneziaWG при входе в систему. Для этого нужно сохранить конфиг в «Загрузки» и запустить .bat от имени администратора.
Ручная настройка AmneziaWG на роутере OpenWrt
Если вы хотите настроить AmneziaWG на роутере с OpenWrt, можно использовать веб-интерфейс LuCi или командную строку. Для начала необходимо установить пакеты kmod-amneziawg, amneziawg-tools и luci-proto-amneziawg (или luci-app-amneziawg). Этих пакетов нет в стандартном репозитории, поэтому их нужно скачать вручную под архитектуру вашего роутера или использовать автоматический скрипт установки.
Установка через скрипт:
sh <(wget -O - https://raw.githubusercontent.com/Slava-Shchipunov/awg-openwrt/refs/heads/master/amneziawg-install.sh)На вопрос о настройке интерфейса ответьте N, если не хотите автоматической настройки.
Ручная установка: Скачайте три .ipk-файла под вашу архитектуру (например, aarch64_cortex-a53) и установите их через LuCi (System → Software → Upload package) или командой opkg install.
После установки перейдите в Network → Interfaces и создайте новый интерфейс с протоколом AmneziaWG VPN. Далее можно импортировать конфигурацию из файла или внести параметры вручную. При импорте убедитесь, что версия OpenWrt не ниже 24.10.1, иначе данные AmneziaWG Settings могут вставиться некорректно.
В настройках пира обязательно укажите Persistent Keep Alive = 25, иначе туннель не будет поддерживать соединение. Также снимите галочку Route Allowed IPs, если не хотите, чтобы весь трафик шёл через туннель.
Настройка через консоль и UCI
Для продвинутых пользователей доступна настройка через командную строку. В файле /etc/config/network нужно добавить секции interface и amneziawg_awg0.
Пример конфигурации интерфейса:
config interface 'awg0'
option proto 'amneziawg'
option listen_port '51820'
option private_key 'ВАШ_ПРИВАТНЫЙ_КЛЮЧ'
list addresses '172.16.0.2'
option awg_s1 '0'
option awg_s2 '0'
option awg_jc '3'
option awg_jmin '10'
option awg_jmax '50'
option awg_h1 '904321824'
option awg_h2 '245411986'
option awg_h3 '663334667'
option awg_h4 '1944657114'Секция пира:
config amneziawg_awg0
option name 'awg0_client'
option route_allowed_ips '0'
option persistent_keepalive '25'
list allowed_ips '0.0.0.0/0'
option endpoint_host 'HOST'
option endpoint_port '51820'
option public_key 'ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА'
option preshared_key 'ПРЕ_ОБЩИЙ_КЛЮЧ' (если есть)После сохранения изменений перезагрузите сеть командой /etc/init.d/network restart. Проверить статус можно командой amneziawg show — в выводе должен быть свежий latest handshake (менее 2 минут) и ненулевые счётчики трафика.
Альтернативно можно использовать UCI-команды для настройки без редактирования файлов. Например:
uci set network.awg0="interface"
uci set network.awg0.proto="amneziawg"
...
uci commit network
/etc/init.d/network restartAllowedIPs, DNS и endpoint: как избежать типичных ошибок
AllowedIPs определяет, какие подсети будут маршрутизироваться через туннель. Значение 0.0.0.0/0 означает, что весь IPv4-трафик идёт через туннель (full tunnel). Если указать конкретные CIDR-диапазоны, через туннель пойдёт только трафик к этим подсетям. Важно понимать, что AllowedIPs — это маршрутизация, а не список «разрешённых сайтов».
При использовании route presets (например, для Cloudflare WARP) генератор подставляет нужные CIDR. Однако слишком длинные списки маршрутов могут не поддерживаться некоторыми роутерами и мобильными клиентами — они могут молча обрезать таблицу маршрутов. Поэтому рекомендуется не превышать 1000 IPv4 CIDR.
DNS — частая причина проблем. Если в конфиге указаны DNS-серверы, но они недоступны или заблокированы, сайты могут не открываться, хотя туннель установлен. В генераторе можно выбрать DNS-пресет, например Cloudflare DNS (1.1.1.1). На роутере OpenWrt в настройках интерфейса проверьте поле Use custom DNS servers и при необходимости удалите адреса.
Endpoint — адрес сервера. Можно использовать hostname (например, engage.cloudflareclient.com) или прямой IP. Hostname резолвится через локальный DNS до установки туннеля, поэтому если DNS заблокирован, туннель не поднимется. Прямой IP устраняет этот этап, но если IP перестанет быть активным anycast-узлом, соединение не установится. Рекомендуется иметь несколько конфигов с разными endpoint'ами.
Диагностика проблем с подключением
Если туннель не работает, важно систематически проверять возможные причины.
Не подключается вообще:
- Проверьте endpoint и порт — доступен ли UDP-порт.
- Убедитесь, что вы используете правильную версию AWG (1.5 или 2.0) и клиент поддерживает её.
- Проверьте, не блокирует ли сеть UDP-трафик (например, в общественных Wi-Fi).
Подключается, но сайты не открываются:
- Проверьте DNS: попробуйте сменить DNS-сервер в конфиге.
- Проверьте AllowedIPs: если указаны только определённые подсети, трафик к другим адресам идёт мимо туннеля.
- Проверьте IPv6: если включены IPv6-маршруты, но устройство не поддерживает их, возможны сбои.
- Проверьте MTU: слишком большое значение может вызывать фрагментацию и потерю пакетов.
Работает в Wi-Fi, но не в мобильной сети:
- Попробуйте другой UDP-порт (например, 1701 или 500).
- Используйте hostname вместо IP или наоборот.
- Включите мобильный профиль в генераторе — он снижает Jc/Jmax и отключает IPv6.
Импорт конфига не проходит:
- Убедитесь, что формат профиля соответствует версии клиента.
- Проверьте, что vpn://-ссылка скопирована полностью.
- Попробуйте импортировать .conf-файл напрямую, а не через ссылку.
Для диагностики можно использовать команду amneziawg show на роутере или в клиенте — она показывает время последнего рукопожатия и объём переданных данных.
Использование AmneziaWG с сервером WireGuard
Иногда возникает необходимость обфусцировать существующий WireGuard-конфиг, не меняя настройки сервера. AmneziaWG позволяет это сделать: нужно добавить в конфиг параметры Jc, Jmin, Jmax, S1, S2, H1–H4 и заменить протокол с WireGuard на AmneziaWG.
Пример преобразованного конфига:
[Interface]
PrivateKey = ...
Address = 10.0.0.3/32
Jc = 3
Jmin = 10
Jmax = 50
S1 = 0
S2 = 0
H1 = 1
H2 = 2
H3 = 3
H4 = 4
[Peer]
PublicKey = ...
PresharedKey = ...
Endpoint = HOST:IP
AllowedIPs = 0.0.0.0/0Важно, чтобы сервер WireGuard поддерживал AmneziaWG (то есть был установлен модуль amneziawg). Если сервер использует стандартный WireGuard, такой конфиг не будет работать. Однако для Cloudflare WARP сервер уже поддерживает AmneziaWG, поэтому можно использовать генератор без дополнительной настройки сервера.
Если вы владелец сервера, вы можете настроить AmneziaWG на нём, следуя официальной документации. Для AWG 2.0 потребуется обновлённое ядро и модуль amneziawg-linux-kernel-module.
Мобильный профиль и vpn:// импорт
Для мобильных устройств генераторы предлагают специальный «мобильный профиль», который использует консервативные параметры Jc/Jmin/Jmax, MTU 1280 и отключает IPv6. Это снижает количество ретрансмиссий и делает туннель более стабильным в условиях плохого сигнала или нестабильной сети.
Импорт конфига на телефон можно выполнить двумя способами:
- Скачать .conf-файл и открыть его в приложении AmneziaVPN.
- Скопировать vpn://-ссылку, сгенерированную инструментом, и открыть её на телефоне. Ссылка содержит весь конфиг в сжатом base64-формате, и AmneziaVPN автоматически распознает её и предложит импортировать.
vpn://-ссылки удобны для передачи через мессенджеры или облачные сервисы. Однако убедитесь, что ссылка скопирована полностью, иначе импорт не удастся.
Для Windows также доступны .bat-планировщики, которые автоматически подключают AmneziaWG при входе в систему. Они создают задачу в планировщике Windows, которая запускает amneziawg.exe с указанным конфигом. При смене версии клиента не забудьте удалить старую задачу.
Вопросы и ответы
Чем AmneziaWG отличается от обычного WireGuard?
AmneziaWG — это форк WireGuard с дополнительной обфускацией трафика. Он добавляет параметры Jc, Jmin, Jmax, S1, S2, H1–H4, которые маскируют рукопожатие и делают трафик менее заметным для DPI-систем. Это помогает обходить блокировки, которые применяются к стандартному WireGuard.
Какой генератор AmneziaWG конфигов лучше использовать?
Популярные генераторы — valokda-amnezia.vercel.app и hereiamgosu.github.io/amnezia-config-gen. Они бесплатны, поддерживают AWG 1.5 и 2.0, позволяют настраивать AllowedIPs, DNS, endpoint и генерировать vpn://-ссылки. Выбор зависит от ваших предпочтений и требуемых функций.
Нужен ли свой сервер для AWG 2.0?
Для Cloudflare WARP — нет, конфиги AWG 2.0 работают с публичным сервером Cloudflare без дополнительной настройки. Для собственного сервера — да, потребуется обновлённый модуль ядра amneziawg-linux-kernel-module и новые конфиги клиентов.
Почему туннель работает в Wi-Fi, но не работает в мобильной сети?
Это может быть связано с UDP-фильтрацией в мобильной сети, NAT или ограничениями оператора. Попробуйте сменить UDP-порт, использовать hostname вместо IP или наоборот, а также включить мобильный профиль в генераторе.
Что делать, если импорт конфига не проходит?
Проверьте, что версия AWG (1.5 или 2.0) соответствует клиенту, что vpn://-ссылка скопирована полностью, и попробуйте импортировать .conf-файл напрямую. Также убедитесь, что клиент AmneziaVPN обновлён до последней версии.
Как проверить, что AmneziaWG-туннель работает?
На роутере OpenWrt выполните команду amneziawg show — в выводе должен быть свежий latest handshake (менее 2 минут) и ненулевые счётчики received/sent. В LuCi можно посмотреть статус в разделе Status → AmneziaWG. Также можно пропинговать адрес внутри туннеля.
Можно ли использовать AmneziaWG с обычным WireGuard-сервером?
Да, если сервер поддерживает AmneziaWG (установлен модуль amneziawg). В этом случае можно добавить параметры обфускации в конфиг WireGuard и заменить протокол. Для Cloudflare WARP сервер уже поддерживает AmneziaWG, поэтому можно использовать генератор без настройки сервера.