Руководство по настройке AmneziaWG

ПОВЫСИТЕ УРОВЕНЬ НАСТРОЙКИ СЕРВЕРА! ПРИМЕНИТЕ AVA И ЗАПУСК С 15% СКИДКА
ИСПОЛЬЗУЙТЕ ПРОМО:

Ключевые термины

ТерминОпределение
🛡️ AmneziaWGФорк WireGuard, который рандомизирует заголовки пакетов, их размеры и время передачи для противодействия глубокому анализу пакетов (DPI) при сохранении той же проверенной криптографии. Это протокол, работающий на вашем сервере.
🚀 AmneziaWG 2.0Текущая основная версия, которая использует динамические диапазоны заголовков (вместо фиксированных значений), добавляет заполнение на уровне данных (S4) и поддерживает подставные пакеты с пользовательской сигнатурой протокола для более надёжного обхода DPI.
🔍 Deep Packet Inspection (DPI)Техника фильтрации сети, используемая интернет-провайдерами и государственными органами для выявления и блокировки VPN-трафика путём анализа заголовков пакетов, их размеров и паттернов рукопожатия. AmneziaWG специально разработан для противодействия этому.
WireGuardБыстрый, современный VPN-протокол с компактной кодовой базой и производительностью на уровне ядра. Легко идентифицируется системами DPI из-за фиксированной структуры пакетов, что было решено в AmneziaWG.
🏠 Self-hosted VPNVPN, который вы развёртываете и управляете на собственном сервере (обычно на VPS) вместо подписки на коммерческого провайдера. Вы контролируете ключи, конфигурацию и инфраструктуру.
🐧 DKMS (Dynamic Kernel Module Support)Фреймворк Linux, который автоматически перекомпилирует модули ядра при обновлении системного ядра. Установщик AmneziaWG использует DKMS для построения высокопроизводительного модуля ядра.
🎭 Obfuscation (обфускация)Практика маскировки VPN-трафика, чтобы он выглядел как обычный интернет-трафик. AmneziaWG выполняет обфускацию на транспортном уровне путём рандомизации заголовков, добавления заполнения, отправки подставных пакетов и генерации пакетов-заполнителей.
🔀 Split tunnelingКонфигурация маршрутизации, при которой только определённый трафик (например, заблокированные сайты) проходит через VPN, а остальной трафик использует прямое соединение. Полезно в странах с частичной цензурой.
🖥️ KVM vs LXCKVM — это полная виртуализация с выделенным ядром, необходимым для загрузки пользовательских модулей ядра, таких как AmneziaWG. LXC — это контейнеризация, которая использует общее ядро хоста и не может загружать пользовательские модули.
🎪 CPS (Custom Protocol Signature)Функция AmneziaWG 2.0, которая отправляет подставные пакеты, имитирующие другие протоколы (QUIC, DNS, SIP), перед фактическим рукопожатием, вводя в заблуждение системы DPI путём классификации трафика как обычного.

🔄 Обновление (июль 2026): Это руководство сохраняет исходный пошаговый процесс, но закреплённый тег установщика, показанный ниже, v5.8.1, больше не актуален. Последний релиз amneziawg-installer — это v5.18.4, который добавляет поддержку Debian 12 и 13, готовые модули ядра для ARM64 и Raspberry Pi, Ubuntu 25.10 и 26.04, режим каскада и дополнительные улучшения безопасности.

Если вы следуете этому руководству сейчас, замените старую закреплённую команду на wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg_en.shили проверьте текущий тег на странице последнего релиза перед развёртыванием.


Самостоятельное развёртывание VPN-сервера AmneziaWG — Полное руководство

AmneziaWG

AmneziaWG — это протокол, разработанный для решения конкретной задачи: как достичь скорости WireGuard, когда сети, к которым вы подключаетесь, активно пытаются его заблокировать? Это форк WireGuard, созданный командой Amnezia VPN, и он делает то, чего не делает оригинал — рандомизирует транспортный уровень, чтобы системы глубокого анализа пакетов (DPI) не могли его идентифицировать. Шифрование остаётся точно таким же. Меняется только внешний вид пакетов в сети.

Ландшафт VPN-обфускации на протяжении многих лет был гонкой вооружений. Инструменты вроде Shadowsocks, VLESS+Reality и OpenVPN с obfs4 пытаются замаскировать трафик различными способами — одни как прокси, другие как полные туннели, некоторые с высокими затратами на производительность. AmneziaWG занимает специфическую нишу: это полный VPN-туннель с производительностью на уровне WireGuard и встроенной защитой от DPI, всё в одном пакете. И поскольку это открытый исходный код, вы можете развернуть его на собственном сервере.

Но вот в чём проблема, которая делает это необходимым. Вы настраиваете WireGuard. Он работает идеально — быстро, чисто, надёжно. А потом в один прекрасный день он перестаёт работать. Никакого сообщения об ошибке, никакого timeout, никакого отказа в соединении. Пакеты просто исчезают. Вот так выглядит DPI-блокировка на практике: ваш туннель всё ещё работает, ваша конфигурация всё ещё корректна, но ничего не проходит. Это уже реальность в некоторых странах.

VPN Obfuscation

Традиционные альтернативы не полностью решают эту проблему. Shadowsocks — это прокси, а не полный VPN-туннель — ваш DNS и не-TCP трафик всё равно будут утекать. OpenVPN с obfs4 работает, но имеет примерно 25% накладных расходов на производительность. VLESS+Reality предлагает сильную обфускацию, но это прокси и сложно настраивается. AmneziaWG заполняет этот пробел: это полный VPN-туннель с производительностью на уровне WireGuard и встроенной защитой от DPI.

Это руководство проведёт вас через развёртывание полностью функционального сервера AmneziaWG 2.0 на любом KVM VPS менее чем за 15 минут, используя единственный скрипт установки от сообщества. В конце у вас будет работающий VPN-туннель, к которому вы сможете подключиться с любого устройства. Шаги не зависят от провайдера — они работают на любом VPS с доступом по SSH и правами root, будь то от AvaHost или другого провайдера. Это написано для пользователей с промежуточным уровнем технических навыков, которые комфортно работают с SSH и базовыми командами Linux.

Одно уточнение перед началом: AmneziaWG — это протокол. AmneziaVPN — это клиентское приложение, которое к нему подключается. Они связаны, но различны — как TLS для вашего браузера. Вам понадобится приложение для подключения, но протокол — это то, что работает на вашем сервере.

Но перед тем как развёртывать что-либо, вам нужно понять, что отличает AmneziaWG от WireGuard — и почему это различие имеет значение, когда DPI вас отслеживает.


Что такое AmneziaWG? (Ментальная модель)

WireGuard элегантен в своём дизайне. Он имеет небольшую кодовую базу, использует современную криптографию и работает в ядре Linux с почти нативной производительностью. Но эта элегантность имеет проблему видимости: каждый пакет WireGuard содержит одну и ту же фиксированную структуру заголовка, одинаковые размеры пакетов и один и тот же паттерн handshake. Для системы глубокого анализа пакетов туннель WireGuard имеет подпись, столь же ясную, как штрих-код. Как только DPI-устройство изучит эту подпись, оно может отбросить каждый пакет, не блокируя порт и не закрывая соединение.

DPI
AmneziaWG — это форк WireGuard-Go, созданный командой Amnezia VPN. Он унаследовал архитектурную простоту WireGuard — тот же обмен ключами Curve25519, то же шифрование ChaCha20-Poly1305, тот же handshake Noise IK. Вся криптография остаётся неизменной и также проверена. Что изменяет AmneziaWG — это транспортный уровень: заголовки пакетов, размеры пакетов и временные паттерны.

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

История версий имеет значение. AmneziaWG 1.x представил пользовательские заголовки, которые отличались от фиксированных значений WireGuard — это помогало какое-то время, но DPI-системы адаптировались. AmneziaWG 2.0, выпущенный в конце 2025 года, рандомизирует всё: заголовки меняются от пакета к пакету, padding варьируется от сообщения к сообщению, а подставные пакеты имитируют другие протоколы до начала фактического handshake. Нет универсальной подписи для обнаружения, потому что каждый сервер AmneziaWG 2.0 генерирует свой собственный уникальный набор параметров. Каждый сервер говорит на своём диалекте.

Когда все параметры обфускации установлены на ноль, AmneziaWG ведёт себя идентично WireGuard — он полностью обратно совместим на уровне протокола. Но с активными параметрами (что является настройкой по умолчанию) он становится тем, чем WireGuard не может быть: быстрым VPN-туннелем, который DPI-системам сложно идентифицировать.

Итак, как именно AmneziaWG шифрует свой трафик? Давайте посмотрим на четыре уровня обфускации, которые делают DPI слепым — и почему они добавляют почти никаких затрат на скорость.


Как AmneziaWG скрывается от DPI (без потери скорости)

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

Динамические заголовки (H1–H4)

WireGuard использует фиксированные 32-битные идентификаторы типов сообщений:

  • 1 — для инициации
  • 2 — для ответа
  • 3 — для ответа с cookie
  • 4 — для данных

Устройство DPI, сканирующее трафик, просто ищет эти значения. AmneziaWG 2.0 заменяет каждое фиксированное значение случайным числом, выбранным из указанного диапазона. Заголовок инициации (H1) может быть любым значением от 234567 до 345678. Заголовок ответа (H2) может быть от 3456789 до 4567890. Эти диапазоны никогда не пересекаются — протокол по-прежнему должен различать типы пакетов внутри — но для внешнего наблюдателя нет единого значения заголовка, за которое можно было бы зацепиться. Каждый пакет выглядит иначе, чем предыдущий.

Случайное заполнение (S1–S4)

Пакет инициации WireGuard всегда имеет ровно 148 байт. Его ответ всегда имеет ровно 92 байта. Эти фиксированные размеры — ещё один отпечаток. AmneziaWG добавляет случайное заполнение к каждому типу пакета: инициация становится 148+S1 байт, ответ становится 92+S2 байта, ответ с cookie становится 64+S3 байта, и каждый пакет данных получает S4 байт заполнения. S3 и S4 новые в версии 2.0 — и S4 — самое значительное дополнение, так как влияет на каждый пакет данных, что значительно затрудняет анализ трафика на уровне сеанса.

Есть одно критическое ограничение: S1+56 не должно равняться S2. Поскольку исходная разница в размере между инициацией и ответом составляет 56 байт (148−92), если значения заполнения случайно компенсируют ровно эту разницу, два заполненных пакета будут иметь одинаковый размер — воссоздавая отпечаток, который AmneziaWG пытается устранить. Генератор параметров установщика автоматически обеспечивает это ограничение.

Пользовательская сигнатура протокола (I1–I5)

Перед началом фактического рукопожатия клиент AmneziaWG отправляет до пяти подставных пакетов, имитирующих другие протоколы — QUIC, DNS, SIP или пользовательские последовательности байт. Сервер полностью игнорирует эти пакеты. Он просто ждёт настоящего рукопожатия.

  • Простая конфигурация: отправляет 128 случайных байт <r 128>.
  • Сложная конфигурация: отправляет байты, которые выглядят как инициирование соединения QUIC (<b 0xc000000001><r 64><t>), с временной меткой Unix.

Для системы DPI, наблюдающей начало сеанса, первые пакеты выглядят как обычный веб-трафик.

Мусорные пакеты (Jc, Jmin, Jmax)

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

Вопрос о скорости

В интернете циркулирует одна цифра: AmneziaWG имеет 65% накладных расходов. Эта цифра верна, но она относится к реализации в пользовательском пространстве на Go — а не к модулю ядра. Установщик сообщества, используемый в этом руководстве, собирает модуль ядра DKMS, и модуль ядра добавляет менее 12% накладных расходов в целом — ближе к 3% в реальных тестах. В некензурированной сети вы увидите около 95 Мбит/с через WireGuard и 92 Мбит/с через AmneziaWG 2.0. В цензурированной сети сравнение составляет 92 Мбит/с против нуля.

В следующей таблице приведены параметры, которые установщик генерирует автоматически:

ПараметрДиапазон генерированияПример значения
Jc (количество мусорных пакетов)4–86
Jmin (мин. размер мусора)40–8955
Jmax (макс. размер мусора)Jmin+100 до Jmin+500380
S1 (заполнение инициации)15–15072
S2 (заполнение ответа)15–150, S1+56≠S256
S3 (заполнение cookie)8–5532
S4 (заполнение данных)4–2716
H1 (диапазон заголовка инициации)uint32 без пересечений234567-345678
H2 (диапазон заголовка ответа)uint32 без пересечений3456789-4567890
H3 (диапазон заголовка cookie)uint32 без пересечений56789012-67890123
H4 (диапазон заголовка данных)uint32 без пересечений456789012-567890123
I1 (пакет CPS)<r N> формат<r 128>

Вам не нужно устанавливать какие-либо из этих параметров вручную. Установщик генерирует криптографически случайные значения, которые соответствуют ограничениям каждый раз.

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


AmneziaWG vs Альтернативы — Краткое руководство по выбору

VPN
Если вы оцениваете VPN-протоколы для среды с цензурой, вы, вероятно, столкнулись с несколькими вариантами. Вот как они сравниваются по ключевым параметрам:

WireGuardAmneziaWG 2.0OpenVPN+obfs4ShadowsocksVLESS+Reality
Устойчивость к DPIНизкаяВысокаяСредняяСредняяОчень высокая
Накладные расходы на скорость~4%<12% (~3% в реальных условиях)~25%~8%~10%
Полный VPN-туннельДаДаДаНет (прокси)Нет (прокси)
Работает в ядреДаДа (DKMS)НетНетНет
Сложность настройкиНизкаяНизкая (с установщиком)ВысокаяСредняяВысокая
ТранспортUDPUDPTCP/UDPTCPTCP

Правила выбора просты:

  • В вашей стране нет DPI? Используйте обычный WireGuard. Это проще и имеет более широкую экосистему.
  • Нужна максимальная защита от DPI и вас устраивают прокси? VLESS+Reality — самый надёжный вариант для маскировки, но это не полный туннель.
  • Хотите и скорость, и полный туннель с маскировкой? AmneziaWG 2.0 — единственный вариант, который обеспечивает производительность WireGuard с реальной защитой от DPI в полном VPN-туннеле.
  • Уже используете OpenVPN+obfs4 и он всё ещё работает? Нет срочной необходимости переходить, но AmneziaWG будет заметно быстрее.

Эта статья сосредоточена на AmneziaWG, потому что это единственный протокол, который обеспечивает полный туннель, производитель

Что вам нужно перед началом

Перед запуском установщика убедитесь, что ваша среда соответствует этим требованиям:

ТребованиеДеталиПочему
ОСUbuntu 24.04 LTS (чистая установка). Ubuntu 25.10 экспериментальная. Debian 12/13 работает, но может потребовать предварительно установленный curl.Установщик протестирован и полностью поддерживается на Ubuntu 24.04.
Спецификации VPS1 vCore, 1 ГБ ОЗУ, 25 ГБ хранилища. Любой тариф за $3–5/месяц подходит.Установщик требует ~2 ГБ дискового пространства и ~1 ГБ ОЗУ во время сборки DKMS. Работающий VPN использует минимальные ресурсы.
ВиртуализацияKVM (не OpenVZ, не LXC).AmneziaWG загружает модуль ядра через DKMS. LXC использует общее ядро хоста и не может загружать пользовательские модули.
SSH доступRoot или пользователь sudo с аутентификацией по паролю/ключу.Установщику нужно запуститься от root.
SSH портПо умолчанию 22 или предварительно открыт в UFW при использовании нестандартного порта.Если SSH не работает на порту 22 и вы не открыли его заранее, конфигурация брандмауэра установщика вас заблокирует.
Клиентское приложениеAmnezia VPN >= 4.8.12.7 (все платформы).Опции AWG 2.0 не поддерживаются старыми клиентами. Стандартный клиент WireGuard вообще не поддерживает AWG.

⚠️ Предупреждение: Контейнеры LXC не поддерживаются. Если ваш VPS использует виртуализацию LXC, сборка модуля ядра DKMS не удастся. Вы должны использовать KVM или bare-metal. Уточните у вашего провайдера, если вы не уверены.

⚠️ Предупреждение: Если ваш SSH работает на нестандартном порту (любом, кроме 22), вы должны открыть его в UFW перед запуском установщика:
sudo ufw allow YOUR_PORT/tcp
Замените YOUR_PORT на ваш фактический SSH порт. Установщик включает UFW с политикой по умолчанию — если ваш SSH порт не разрешён, вы будете немедленно заблокированы.

💡 Совет: Подождите 5–10 минут после создания вашего VPS перед запуском установщика. Процессы cloud-init и фоновой инициализации могут конфликтовать с вызовами apt-get, которые делает установщик.

С готовым VPS и подтверждёнными предварительными условиями давайте развернём AmneziaWG 2.0, используя скрипт установщика сообщества — самый быстрый и прозрачный мет

Метод 1 — Развёртывание с помощью CLI-установщика (Рекомендуется)

Это основной метод установки. Вы загрузите установщик с фиксированной версией, запустите его от root, пройдёте восемь автоматизированных шагов (с двумя ожидаемыми перезагрузками) и получите полностью настроенный сервер AmneziaWG 2.0. Установщик обрабатывает всё: установку пакетов, компиляцию модуля ядра, конфигурацию брандмауэра, генерацию параметров и запуск сервиса.

6.1 — Подключитесь к VPS через SSH

Откройте терминал и подключитесь к серверу:

ssh root@<SERVER_IP>

Замените <SERVER_IP> на реальный публичный IP-адрес вашего VPS. Если провайдер выдал вам непривилегированного пользователя, войдите под этим пользователем и затем повысьте привилегии:

ssh <username>@<SERVER_IP>
sudo -i

Вы должны увидеть приветственный баннер Ubuntu 24.04, за которым следует приглашение root:

Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
root@vps:~#

6.2 — Загрузите и запустите установщик

Загрузите скрипт установщика, сделайте его исполняемым и запустите его:

wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.8.1/install_amneziawg_en.sh

chmod +x install_amneziawg_en.sh

sudo bash ./install_amneziawg_en.sh

URL привязан к версии v5.8.1 — последнему релизу на апрель 2026 года. Это обеспечивает безопасность цепочки поставок: гарантирует, что загруженный скрипт соответствует протестированной версии, даже если репозиторий был обновлён с тех пор.

Установщик начинает с проверки вашей системы:

============================================
AmneziaWG 2.0 Installer v5.8.1
============================================
Checking system requirements...
OS: Ubuntu 24.04 LTS — OK
Virtualization: KVM — OK
RAM: 1024 MB — OK
Disk: 25 GB free — OK

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

6.3 — Пройдите через приглашения установщика

Установщик — это восьмиэтапный конечный автомат с поддержкой возобновления после перезагрузки. Он сохраняет свой прогресс в /root/awg/awgsetup_cfg.init, поэтому если сервер перезагружается, вы просто запускаете ту же команду снова, и она продолжает с того же места.

Шаг 0: Инициализация — Установщик проверяет вашу ОС, тип виртуализации, объём оперативной памяти и место на диске. Он создаёт рабочий каталог /root/awg/ и устанавливает файл блокировки для предотвращения параллельных запусков.

Шаг 1: Обновление системы и установка пакетов — Установщик запускает apt-get update && apt-get upgrade -y. Затем устанавливает AmneziaWG, DKMS, заголовки Linux, UFW, Fail2Ban, инструменты генерации QR-кодов и другие зависимости.

📝 Примечание: Установщик также удаляет несколько фоновых сервисов, которые потребляют ресурсы на минимальных VPS-экземплярах: snapd, modemmanager, networkd-dispatcher, unattended-upgrades, packagekit, lxd-agent-loader и udisks2. Это намеренно и безопасно для минимальных VPN-узлов, но может нарушить работу универсальных окружений.

Когда Шаг 1 завершится, установщик запросит перезагрузку:

Reboot required. Reboot now? [y/n]:

Введите y и нажмите Enter. После того как сервер вернётся в сеть, подключитесь по SSH снова и повторно запустите ту же команду:

sudo bash ./install_amneziawg_en.sh

Скрипт прочитает сохранённое состояние и продолжит со Шага 2 без повторного запроса каких-либо приглашений.

Шаг 2: Сборка модуля ядра DKMS — Установщик компилирует модуль ядра AmneziaWG для вашего текущего ядра и регистрирует его в DKMS для автоматической пересборки при будущих обновлениях ядра:

Step 2: Building AmneziaWG kernel module via DKMS...
Creating symlink /var/lib/dkms/amneziawg/2.0/source -> /usr/src/amneziawg-2.0
DKMS: add completed.
Kernel preparation completed.
Building module:
make -C /lib/modules/6.8.0-xx-generic/build M=/var/lib/dkms/amneziawg/2.0/build modules
DKMS: build completed.
DKMS: install completed.

Запрашивается вторая перезагрузка. Введите y и нажмите Enter.

📝 Примечание: Две перезагрузки во время установки — это нормально и ожидаемо. Первая загружает новые заголовки ядра, вторая активирует только что собранный модуль ядра. Скрипт сохраняет состояние между перезагрузками — ничего не теряется.

После второй перезагрузки подключитесь по SSH и запустите установщик ещё раз:

sudo bash ./install_amneziawg_en.sh

Шаг 3: Проверка модуля после перезагрузки — Скрипт проверяет, загружен ли модуль ядра (lsmod | grep amneziawg). Если сборка DKMS по какой-либо причине не удалась, он переходит на реализацию userspace на Go с предупреждением о более высоких накладных расходах.

Шаг 4: Настройка брандмауэра — UFW включается с политикой default-deny для входящего трафика. Установщик добавляет правило ограничения скорости SSH на порт 22, открывает ваш VPN-порт для UDP-трафика и настраивает правила маршрутизации для интерфейса awg0.

Шаг 5: Загрузка скриптов управления — Скрипты управления клиентами (manage_amneziawg.sh и awg_common.sh) загружаются в /root/awg/ с разрешениями только для владельца (700). Они также привязаны к версии v5.8.1.

Шаг 6: Интерактивная конфигурация — Установщик теперь задаёт четыре вопроса:

  • UDP-порт (по умолчанию: 39743, диапазон 1024–65535). По умолчанию используется случайный высокий порт — оставьте его, если ваш ISP не известен блокировкой высоких UDP-портов.
  • Подсеть туннеля (по умолчанию: 10.9.9.1/24). Это ваша внутренняя VPN-сеть. Сервер получает .1, клиенты получают .2 через .254, поддерживая до 253 клиентов.
  • Отключить IPv6 (по умолчанию: Y). Рекомендуется — отключение IPv6 предотвращает утечку трафика вне туннеля по маршрутам IPv6.
  • Режим маршрутизациивыберите 1 для всего трафика, 2 для Amnezia List + DNS (рекомендуется) или 3 для пользовательских сетей. Режим 2 маршрутизирует только заблокированные публичные диапазоны IP и DNS через VPN, сохраняя быстрый и прямой доступ к вашей локальной сети.

💡 Совет: MTU по умолчанию установлен на 1280. Это минимальный MTU для IPv6 и критичен для мобильных и сотовых сетей. iOS строг в отношении Path MTU Discovery, и сотовые сети часто имеют эффективный MTU ниже стандартного WireGuard 1420. Оставьте это на 1280.

Шаг 7: Запуск сервиса — Установщик генерирует конфигурацию сервера в /etc/amnezia/amneziawg/awg0.conf, создаёт две конфигурации клиентов по умолчанию (my_phone и my_laptop) в /root/awg/, генерирует QR-коды и запускает systemd-сервис awg-quick@awg0.

Шаг 8: Завершение — Вы увидите сообщение об успехе:

VPN

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

6.4 — Управление клиентами после установки

Скрипт управления в /root/awg/manage_amneziawg.sh обрабатывает все операции жизненного цикла клиента. Вот основные команды:

Добавить нового клиента:

sudo bash /root/awg/manage_amneziawg.sh add my_desktop

Это генерирует файл .conf, QR-код и файл .vpnuri для нового клиента. Конфигурация сервера перезагружается в горячем режиме — перезагрузка сервиса не требуется.

Добавить временного клиента с автоматическим истечением:

sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d

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

Список всех клиентов:

sudo bash /root/awg/manage_amneziawg.sh list

Clients:
  my_phone     (10.9.9.2/32)
  my_laptop    (10.9.9.3/32)
  my_desktop   (10.9.9.4/32)
  guest        (10.9.9.5/32) [expires in 6d 23h]

Добавьте флаг -v для дополнительных деталей, включая публичные ключи и даты создания.

Удалить клиента:

sudo bash /root/awg/manage_amneziawg.sh remove guest

Проверить полный статус сервера:

sudo bash /root/awg/manage_amneziawg.sh check

Это показывает состояние сервиса, открытый порт, все параметры AWG 2.0, статус модуля ядра, статус UFW и статус Fail2Ban в одном представлении.

Просмотреть статистику трафика для каждого клиента:

sudo bash /root/awg/manage_amneziawg.sh stats

Client          Received        Sent            Latest handshake
───────────────────────────────────────────────────────────────────
my_phone        1.24 GiB        356.7 MiB       2 minutes ago
my_laptop       892.3 MiB       128.4 MiB       15 seconds ago
my_desktop      0 B             0 B             (none)

Создать резервную копию:

sudo bash /root/awg/manage_amneziawg.sh backup

Это создаёт сжатый архив в /root/awg/backups/, содержащий конфигурацию сервера, конфигурации клиентов, ключи и данные об истечении.

📝 Примечание: Команды add и remove используют awg syncconf для горячей перезагрузки. Конфигурация сервера обновляется мгновенно без перезагрузки сервиса. Используйте restart только при изменении параметров на стороне сервера, таких как порт или MTU.

6.5 — Проверьте, что сервер работает

Пройдите через эти проверки, чтобы подтвердить, что всё работает:

Проверить systemd-сервис:

sudo systemctl status awg-quick@awg0

● awg-quick@awg0.service - AmneziaWG Quick via awg-quick(8) for awg0
     Loaded: loaded (/lib/systemd/system/awg-quick@.service; enabled)
     Active: active (exited) since Thu 2026-04-09 14:32:01 UTC

Проверить статус и параметры AmneziaWG:

sudo awg show awg0

Проверить брандмауэр:

sudo ufw status verbose

Status: active
Default: deny (incoming), allow (outgoing)
22/tcp                     LIMIT IN    Anywhere
39743/udp                  ALLOW IN    Anywhere

Проверить Fail2Ban:

sudo fail2ban-client status sshd

Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  `- Total failed: 0
`- Actions
   |- Currently banned: 0
   `- Banned IP list:

Проверить модуль ядра DKMS:

dkms status

amneziawg/1.0.0, 6.8.0-110-generic, x86_64: installed

Если все пять проверок пройдены, ваш сервер AmneziaWG 2.0 работает и готов принимать подключения.

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


Способ 2 — развёртывание с приложением AmneziaVPN (альтернатива)

Настольное приложение AmneziaVPN может автоматически установить AmneziaWG на ваш сервер через SSH. Оно использует тот же базовый скрипт установки, что и метод CLI, но оборачивает всё в удобный интерфейс. Это идеально, если вы хотите установку без участия пользователя.

  1. Загрузите AmneziaVPN с amnezia.org/en/downloads. Доступно для Windows, macOS, Linux, Android и iOS.
  2. Откройте приложение и нажмите на ➕ (значок плюса) или Начать.
  3. Выберите «Self-hosted VPN» из предложенных вариантов.
  4. Введите учётные данные сервера:
    • IP-адрес сервера (и порт, если SSH не на 22, например, 203.0.113.10:2221)
    • Имя пользователя SSH (например, root)
    • Пароль или приватный ключ SSH
  5. Выберите тип установки:
    • Автоматическая — устанавливает только AmneziaWG (рекомендуется)
    • Ручная — выберите конкретный протокол из списка
  6. Нажмите «Установить» — приложение подключается к вашему серверу через SSH и запускает установку автоматически. Вы увидите индикатор прогресса.
  7. После установки приложение создаёт готовый к использованию профиль VPN-соединения.

Примечания после установки:

  • Приложение устанавливает AmneziaWG со случайным портом по умолчанию. Некоторые провайдеры блокируют UDP на высоких портах. Приложение рекомендует изменить порт на значение ниже 9999 (например, 585 или 1234). Чтобы изменить порт: нажмите на значок шестерёнки рядом с соединением → вкладка Management → измените номер порта.
  • Если на вашем сервере уже установлено программное обеспечение Amnezia, нажмите «Пропустить настройку» при создании соединения, затем используйте «Проверить сервер на предварительно установленные сервисы Amnezia» на вкладке Management.

Вот сравнение двух методов:

АспектCLI-установщикПриложение AmneziaVPN
УправлениеПолное — вы видите каждый шаг, можете настраиватьОграниченное — приложение всё делает само
ПрозрачностьПрозрачно — все команды видныНепрозрачно — работает в фоне
ГибкостьПользовательская маршрутизация, endpoint, флагиТолько значения по умолчанию
Простота использованияТребует знакомства с SSHБез работы с терминалом
УправлениеПолный набор manage_amneziawg.shУправление только через приложение
Лучше всего подходит дляНеуправляемый VPS, устранение неполадокБыстрая настройка, пошаговый процесс

Независимо от того, использовали ли вы CLI или приложение, ваш сервер готов. Теперь давайте подключим ваше первое устройство.


Подключение первого клиента

После установки у вас есть три способа импортировать конфигурацию клиента в приложение Amnezia VPN. Выберите тот, который подходит вашему устройству.

Способ A: QR-код (мобильные устройства)

Установщик создал QR-код по адресу /root/awg/my_phone.png. Загрузите его на компьютер:

scp root@<SERVER_IP>:/root/awg/my_phone.png .

Откройте PNG-файл на экране. На телефоне откройте приложение Amnezia VPN, нажмите «Add VPN»«Scan QR code» и наведите камеру на QR-код на экране. Подключение импортируется автоматически.

Способ B: URI vpn:// (клиент Amnezia)

Отобразите сжатый URI на сервере:

cat /root/awg/my_phone.vpnuri

Скопируйте всю строку vpn://… и отправьте её себе — через Telegram, email или приложение для заметок. На телефоне откройте приложение Amnezia VPN, нажмите «Add VPN»«Paste from clipboard». Конфигурация импортируется в один шаг.

URI — это сжатая zlib версия, закодированная в Base64, полного файла конфигурации. Она компактна и предназначена для быстрого обмена.

Способ C: файл .conf (Desktop/Windows)

Загрузите файл конфигурации:

scp root@<SERVER_IP>:/root/awg/my_phone.conf .

Откройте клиент AmneziaWG для Windows или приложение AmneziaVPN для рабочего стола, нажмите «Import tunnel(s) from file» и выберите файл .conf.

Проверка подключения

После подключения проверьте, что туннель маршрутизирует ваш трафик через сервер:

curl ifconfig.me

В выводе должен отображаться публичный IP-адрес вашего сервера, а не локальный: 203.0.113.1

Для получения дополнительной информации, включая географическое местоположение сервера:

curl -s https://ipinfo.io/json

{
  "ip": "203.0.113.1",
  "city": "Amsterdam",
  "region": "North Holland",
  "country": "NL",
  ...
}

⚠️ Предупреждение: стандартный клиент WireGuard не работает с конфигурациями AmneziaWG 2.0. Вы должны использовать приложение Amnezia VPN (версия 4.8.12.7 или выше) или нативный клиент AmneziaWG (версия 2.0.0 или выше на Windows/Android/iOS).

⚠️ Предупреждение: если на Windows вы видите «Invalid key: s3», ваш клиент AmneziaWG для Windows устарел (версия ниже 2.0.0). Обновитесь до версии 2.0.0+ или переключитесь на приложение Amnezia VPN.

💡 Совет: если вы подключены, но нет интернета, проверьте, что в конфигурации клиента установлено MTU = 1280 в разделе [Interface]. Это наиболее частая причина «handshake succeeds but no traffic» на мобильных сетях.

Поздравля

Что дальше — расширение вашей установки

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

Вот самые полезные вещи, которые вы можете сделать дальше:

  1. Добавьте клиентов для вашей семьи или команды — используйте скрипт управления для создания конфигураций для каждого устройства, которому нужен доступ.
  2. Настройте раздельное туннелирование, если вам не нужна маршрутизация всего трафика — это сохраняет локальный трафик быстрым и снижает пропускную способность на вашем VPS.
  3. Создайте резервную копию ваших конфигураций — запустите команду резервного копирования и сохраните архив в безопасном месте. Если ваш сервер когда-либо потребует переустановки, это спасёт вас от необходимости начинать заново.

Настройте раздельное туннелирование, если вам не нужно маршрутизировать весь трафик через VPN. Это особенно полезно в странах с частичной цензурой — маршрутизируйте только заблокированные сайты через туннель и держите локальный трафик прямым:

sudo bash /root/awg/manage_amneziawg.sh modify my_phone AllowedIPs "192.168.1.0/24,10.0.0.0/8"

Измените DNS вашего клиента, если вы предпочитаете другие резолверы:

sudo bash /root/awg/manage_amneziawg.sh modify my_phone DNS "8.8.8.8,1.0.0.1"

Отрегулируйте PersistentKeepalive, если вы находитесь на агрессивной NAT-установке. По умолчанию 33 секунды поддерживают UDP-сеанс через NAT — снижение до 25 может помочь в сетях, которые быстро отбрасывают неактивные UDP-сеансы:

sudo bash /root/awg/manage_amneziawg.sh modify my_phone PersistentKeepalive 25

Установите на маршрутизатор для покрытия всей сети. AmneziaWG поддерживается на маршрутизаторах Keenetic через AWG Manager и на маршрутизаторах ASUS с Asuswrt-Merlin через AmneziaWG for Merlin.

Создайте резервную копию вашей конфигурации прямо сейчас, прежде чем что-либо изменится:

sudo bash /root/awg/manage_amneziawg.sh backup

Если вам когда-либо потребуется перейти на новый сервер, запустите свежую установку, а затем:

sudo bash /root/awg/manage_amneziawg.sh restore
sudo bash /root/awg/manage_amneziawg.sh regen

Команда restore восстанавливает ваши конфигурации и ключи, а regen обновляет конфигурации клиентов с новым IP-

Заключение

После полной настройки то, что выделяется в AmneziaWG 2.0 — это не просто то, что он работает, а то, почему он работает надёжно там, где другие терпят неудачу. Сохраняя проверенное криптографическое ядро WireGuard и принципиально изменяя внешний вид трафика в сети, он избегает именно тех уязвимостей, которые использует Deep Packet Inspection. Результат — это настройка, которая на практике ощущается такой же быстрой и простой, как WireGuard, но намного более устойчивой в враждебных окружениях. После развёртывания ценность становится очевидной: вы запускаете не просто VPN — вы запускаете ту, которая построена, чтобы пережить реальную блокировку.

Если вы ищете надёжный VPS для размещения вашего сервера AmneziaWG — или вам нужно масштабировать дополнительные точки подключения для членов команды — AvaHost предоставляет виртуализацию KVM с полным root-доступом, хранилищем NVMe и поддержкой Ubuntu 24.04, которые требует эта настройка. Их инфраструктура специально разработана для самостоятельно размещаемых развёртываний, которые охватывает это руководство.