RU Русский | EN English
Install AmneziaWG 3.1 / 2.0 VPN on Ubuntu and Debian VPS
amneziawg-installer одной командой ставит свой VPN-сервер AmneziaWG на VPS с Ubuntu или Debian: модуль ядра, настройка сервера и клиенты с QR-кодами. Работает там, где WireGuard блокируют. Хватит VPS за $3, знать Linux не нужно.
One-command, self-hosted AmneziaWG 3.1 VPN for Ubuntu 24.04 / 26.04 and Debian 13, with AmneziaWG 2.0 for older clients and routers. Kernel-native DKMS, no Docker, no web panel, runs on any cheap VPS. English README
В ядре, без Docker и панелей - нет накладных расходов | сервер только под VPN, защита из коробки | поставил и забыл | QR-код или vpn:// в один тап
Факты на 2026-10-13. Установщик 6.0.0. Сроки поддержки ОС проверены по данным вендоров на 2026-08-29.
| Для нового сервера | Ubuntu 24.04, Debian 13 |
| Тоже поддерживается | Ubuntu 26.04 |
| Не для новых серверов | Debian 12 - вне обычной поддержки вендора |
| Архитектуры | x86_64, ARM64, ARMv7 |
| Модуль ядра | DKMS из PPA Amnezia; на ядрах старее 6.7 (штатный Debian 12) - проверенный модуль 2.0 из исходников; для части ARM - готовые сборки |
| Профиль конфигурации | AmneziaWG 3.1 для новой установки; 2.0 - флагом --protocol=2.0 или автоматически там, где 3.1 не поднять (ядро старее 6.7, ARM); уже работающий сервер остаётся на своём поколении |
🚀 Быстрый старт
wget -O install_amneziawg.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg.sh
chmod +x install_amneziawg.sh
sudo bash ./install_amneziawg.sh
Что делает: ставит AmneziaWG (модуль ядра через DKMS или готовый пакет на части ARM-плат; по умолчанию AmneziaWG 3.1, когда нужна 2.0 - в разделе AmneziaWG 3.1 по умолчанию), настраивает сервер и форвардинг, предлагает включить фаервол UFW и создаёт двух клиентов,
my_phoneиmy_laptop. Их конфиги, QR-коды и ссылкиvpn://сохраняются в/root/awg/, как перенести их на телефон - в разделе После установки. Добавить друга или устройство потом - одна командаadd. Есть роутер на стоковой прошивке, Hiddify или давно не обновлявшиеся приложения? Добавьте к последней команде--protocol=2.0, почему. 3 команды. 2 перезагрузки по ходу. Около 20 минут до готового VPN. Для чистого Ubuntu/Debian VPS, не роутер и не shared-хостинг. Подробнее →
📘 Полный гайд по развёртыванию: Установка сервера AmneziaWG на VPS - выбор VPS, ARM, troubleshooting, удаление. English version.
🔐 Целостность: установщик скачивается по HTTPS из последнего релиза на GitHub. Проверить его до запуска можно подписью minisign: Проверка подписи. Скрипты, которые он качает сам (
awg_common,manage), он берёт с тега своей версии и сверяет с зашитыми в него SHA256-хешами, так что подпись установщика покрывает и их (если не переопределятьAWG_BRANCH). Модель угроз - в docs/SIGNING_DESIGN.md, как сообщить об уязвимости - в SECURITY.md.
Что установщик меняет на сервере (прозрачность)
Скрипт работает от root. Ниже основные изменения, которые он вносит в систему.
- Обновление системы.
apt-get upgrade --with-new-pkgs: пакеты он не удаляет, но новое ядро приехать может. Перед обновлением пишет/etc/apt/apt.conf.d/99-amneziawg-lock-timeout(ждать блокировку dpkg до 5 минут) и помечает установленными вручную пакеты, без которых сервер не загрузится или останется без сети (udev,initramfs-tools,openssh-server,netplan.ioи другие). - Удаление пакетов - после вашего согласия: если снапов на сервере нет, Enter означает «да», а с
--yesсогласие считается данным; сохранить пакеты можно флагом--keep-packages. Удаляютсяmodemmanager,networkd-dispatcher,unattended-upgrades(обновления безопасности перестают ставиться автоматически),packagekit,udisks2. На Ubuntu ещёsnapdвместе с/snap,/var/snap,/var/lib/snapdиlxd-agent-loader.cloud-initс/etc/cloudи/var/lib/cloudудаляется, только если он не управляет сетью. - Установка пакетов.
curl,wget,gpg,sudo,amneziawg-dkms,amneziawg-tools,wireguard-tools,dkms,build-essential,dpkg-dev,qrencode, заголовки ядра,ufw,fail2ban(на Debian ещёpython3-systemd). Если модуль 2.0 собирается из исходников, ставитсяgit; при устаревших заголовках ядра ставитсяgcc-13. На части ARM вместо сборки ставится готовый пакет модуля из релизаarm-packages. - Репозиторий. PPA Amnezia:
/etc/apt/sources.list.d/amnezia-ppa.sources(на Debian 12.list) и ключ/etc/apt/keyrings/amnezia-ppa.gpg. Ключ встроен в установщик, сверяется по полному отпечатку и действует только для этого репозитория. - Модуль ядра.
amneziawgсобирается через DKMS и загружается при старте (/etc/modules-load.d/amneziawg.conf). После обновления ядра модуль пересобирается сам: за это отвечают/usr/local/sbin/amneziawg-ensure-module, apt-хук/etc/apt/apt.conf.d/99-amneziawg-post-kernelи юнитamneziawg-ensure-module.service, журнал -/var/log/amneziawg-ensure-module.log. На ARM с готовым пакетом этой обвязки нет: после смены ядра установщик нужно запустить ещё раз. - sysctl, файл
/etc/sysctl.d/99-amneziawg-security.conf: форвардинг, выключение IPv6 на хосте (оставить - флаг--allow-ipv6), BBR, буферы по объёму памяти,rp_filter = 2, запрет redirect, SYN cookies,vm.swappiness = 10,net.netfilter.nf_conntrack_max = 65536,kernel.sysrq = 0,kernel.printk = 3 4 1 3. - Swap. Если swap меньше 1 ГБ (при памяти до 2 ГБ) или меньше 512 МБ (при большем объёме), создаётся
/swapfileсо строкой в/etc/fstab. - Фаервол. UFW: входящие запрещены, SSH с ограничением частоты на найденном порту (порт можно задать флагом
--ssh-port), открыт UDP-порт VPN, правило пересылкиawg0-> внешний интерфейс. Если UFW ещё не включён, установщик спрашивает, включать ли его (с--yesвключает сам). Fail2Ban защищает SSH, его настройки в/etc/fail2ban/jail.d/amneziawg.conf. Настройки SSH-сервера установщик не меняет. - VPN. Серверный конфиг
/etc/amnezia/amneziawg/awg0.confс правиламиiptablesвPostUp, сервисawg-quick@awg0, каталог/root/awg/(ключи, конфиги клиентов, журнал, скрипты управления) с правами 700/600, cron/etc/cron.d/awg-expiryдля клиентов со сроком действия. - Перезагрузки. Их две: после обновления системы и после установки модуля. После каждой запустите ту же команду снова.
- Откат:
--uninstallубирает своё - модуль, конфиги, sysctl-файлы, кроны, UFW-правило VPN-порта и UFW-правило маршрутизацииawg0. UFW отключает и Fail2Ban удаляет только если сам их включал/ставил; если UFW был активен до установки, добавленное правило SSH rate-limit остаётся. Не возвращает: swap и удалённые пакеты; пакеты-зависимости, которые он ставил (dkms, компилятор, заголовки ядра), остаются. По умолчанию, в том числе с--yes, перед удалением создаётся архив/root/awg_uninstall_backup_*.tar.gzс конфигами и приватными ключами; он остаётся на сервере, удалите его сами, когда он станет не нужен.
Флаг --no-tweaks оставляет пакеты, swap, sysctl-hardening, UFW и Fail2Ban как есть. Форвардинг включается всё равно, в файле /etc/sysctl.d/99-amneziawg-forwarding.conf, и там же выключается IPv6 на хосте, если не передать --allow-ipv6; обновление системы идёт как обычно. Что остаётся после удаления - в INSTALL_VPS.ru.md, модель угроз - в docs/SIGNING_DESIGN.md, проверка подписи - в разделе Проверка подписи.
Неинтерактивная установка (для автоматизации)
sudo bash ./install_amneziawg.sh --yes --route-all
Все параметры принимаются автоматически. Подробнее: ADVANCED.md#cli-params-adv
🎯 Выберите свой случай
| Ваша ситуация | Что добавить |
|---|---|
| Обычный дешёвый VPS, просто нужен VPN | Ничего - команда выше уже всё делает |
| Мобильный интернет, DPI режет (ТСПУ, Иран, школа или корпоратив) | При установке добавьте --mobile - пресет обфускации + порт 443/udp разом (проверенные операторы) |
| ARM: Raspberry Pi, Oracle Ampere, Hetzner CAX | Та же команда - готовые ARM-модули ядра выберутся автоматически (детали) |
| Доступ другу или гостю на время | После установки: sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d |
Зачем это нужно • AmneziaWG 3.x • AWG vs WG • CLI vs панели • Похожие инструменты • Быстрый старт • Что умеет • Операторы • Требования • Хостинг • Установка • Проверка подписи • После установки • Управление • Дополнительно • FAQ • Устранение неполадок • Экосистема • Лицензия
💡 Зачем это нужно
AmneziaWG - форк WireGuard с обфускацией трафика. Обфускация делает трафик трудноотличимым от случайного шума для систем DPI, поэтому там, где обычный WireGuard детектируют и блокируют, AmneziaWG обычно продолжает работать.
Этот набор скриптов превращает чистый VPS в готовый VPN-сервер. Не нужны знания Linux - скрипт сам настроит firewall, оптимизирует систему, создаст конфиги и QR-коды для клиентов.
Сервер настраивается под одну задачу - VPN: лишние пакеты убираются, ядро, сеть и swap тюнингуются под железо, включаются firewall и базовая защита. AmneziaWG работает в ядре, поэтому накладных расходов почти нет - быстро и экономно. Поставил один раз для дома или семьи и забыл: добавить друга или новое устройство через месяц - минута, конфиг и QR готовятся одной командой.
Рекомендуемые системы: Ubuntu 24.04 LTS и Debian 13. Ubuntu 26.04 поддерживается: под её ядро 7.0.0-38 модуль из PPA сам не собирается, и с v5.37.1 установщик исправляет его исходник сам, подробности - в известных ограничениях. Debian 12 тоже ставится и работает, но обычная поддержка у него уже закончилась, а Ubuntu 25.10 снята с поддержки совсем и с v6.0.0 не поддерживается - даты в таблице совместимости ниже. Хватит любого дешёвого VPS с 1 ГБ RAM.
🆕 AmneziaWG 3.1 по умолчанию
С версии 6.0.0 новая установка по умолчанию ставит AmneziaWG 3.1: и сервер, и клиентские профили получают параметры третьей линии - шифрование заголовков (HeaderProtectionKey) и добавочный паддинг внутри шифрованной части (ContentPaddingAddition). Команда установки прежняя, флаги не нужны. Пакеты-пустышки Jc, паддинг S1-S4 и маскирующий пакет I1 остаются. H1-H4 в профиле 3.1 стоят на 1-4: тип сообщения теперь прячет шифрование заголовков, и случайные диапазоны больше ничего не скрывают.
Кому нужен --protocol=2.0. Клиент без поддержки 3.1 профиль 3.1 не примет: рукопожатия не будет, а сообщения об ошибке может и не быть. Поэтому, если среди ваших устройств есть такой клиент, ставьте сервер сразу на 2.0:
sudo bash ./install_amneziawg.sh --protocol=2.0
Без поддержки 3.1 пока остаются роутеры на стоковой прошивке (стабильный KeeneticOS, OpenWrt со старым пакетом amneziawg), Hiddify и приложения, которые давно не обновлялись. Какие клиенты понимают 3.1 и с какой версии - в таблице клиентов. Решить лучше до установки: поколение работающего сервера меняется только переустановкой, и все клиентские профили тогда выдаются заново.
Где установщик сам поставит 2.0. На ядрах старее 6.7 (штатный Debian 12 с ядром 6.1), на ARM и там, где установленные утилиты awg или модуль ядра не понимают параметры третьей линии, 3.1 не поднять. Если поколение вы не выбирали, установщик поставит 2.0 сам, объяснит причину в логе и повторит её в итоговом отчёте. Явный --protocol=3.1 на такой машине прерывает установку и называет причину.
Уже работающие серверы остаются на своём поколении: обновление скриптов и manage поколение не меняют. Чтобы перейти с 2.0 на 3.1, нужно снять установку (--uninstall) и поставить заново, все клиентские профили при этом выдаются заново. Обратно с 3.1 на 2.0 - так же: --uninstall (он удаляет сервер и профили 3.1, по умолчанию сохранив копию в бэкап), затем установка с --protocol=2.0 и новые профили для всех клиентов.
Какое поколение стоит на сервере, установщик пишет в итоговом отчёте строкой «Поколение протокола». Версии утилит и загруженного модуля:
awg --version # версия утилит
cat /sys/module/amneziawg/version # версия загруженного модуля
Подробный разбор - что меняется на проводе, что обязано совпадать у сервера и клиента и из чего состоит профиль 3.1 - в ADVANCED.md.
⚖️ AmneziaWG vs WireGuard
| WireGuard | AmneziaWG 3.1 | |
|---|---|---|
| Обнаружение DPI | Детектируется по фиксированным размерам пакетов и magic bytes | Трудно зафингерпринтить - случайные заголовки, padding, имитация протоколов |
| Блокируется в | Китай, Россия, Иран, ОАЭ, Туркменистан | По фиксированной сигнатуре блокировать нечего - её нет. Остаются блокировки по адресу и UDP-порту: может помочь смена порта или --mobile |
| Настройка сервера | Вручную: ключи, iptables, sysctl, systemd | Одна команда, 20 минут, полностью автоматически |
| Безопасность | Сами: UFW, Fail2Ban, sysctl | Автоматически: firewall + защита от брутфорса + тюнинг ядра |
| Управление клиентами | Ручное редактирование конфигов, рестарт | add/remove/list/stats с hot-reload |
| Временный доступ | Нет | --expires=7d с автоматическим удалением |
| Требования к серверу | - | Те же - любой VPS за $3-5/мес, 1 ГБ RAM |
| Потеря скорости | Базовая | Модуль ядра: шифрование и маскировка выполняются в пространстве ядра, без выхода в userspace |
Про скорость: на сервере с одним общим vCPU узким местом становится процессор - шифрование и маскировка выполняются на том же ядре. Диагностика: FAQ в ADVANCED.
Если WireGuard у вас работает и не блокируется - используйте его. Если блокируется или режется - AmneziaWG 3.1 является прямой заменой.
⚙️ CLI-инсталлер vs веб-панели
Задача - поднять VPN на дешёвом VPS за 20 минут. Скрипт не тянет за собой Docker, веб-сервер или базу данных. После установки на сервере работает только AWG и firewall - минимум нагрузки, максимум ресурсов для VPN.
| Этот проект (CLI) | Веб-панели на Docker | |
|---|---|---|
| Модуль AWG | Kernel module - работает на уровне ядра | Userspace в контейнере |
| Требования к серверу | Любой VPS от 512 МБ RAM | Нужны PHP/Python, БД, веб-сервер, Docker |
| Поверхность атаки | SSH + UDP-порт VPN | + HTTP-панель, база данных, Docker |
| Установка | Одна команда на сервере, 20 минут | docker-compose + передача SSH-доступа панели |
| После перезагрузки | Продолжит установку с того же шага | Зависит от состояния контейнеров и БД |
| Веб-интерфейс | ❌ Нет, только SSH (управление через скрипт manage) |
✅ GUI, управление через браузер |
| Несколько протоколов | Только AmneziaWG | WireGuard, OpenVPN, VLESS и другие |
Нужен VPN без GUI на выделенном сервере - этот проект. Нужна веб-панель с несколькими протоколами - ищите Docker-решения.
🔧 Сравнение с похожими инструментами
Есть ещё несколько способов поднять AmneziaWG. Каждый выбирает свой компромисс:
| Инструмент | Способ | Кому подходит |
|---|---|---|
| Этот установщик | SSH + одна bash-команда | Headless VPS, single-purpose сервер, без Docker и панели, ARM-prebuilt'ы |
| wiresock/amneziawg-install | SSH + bash, опц. нативная веб-панель и обфускация-прокси (Rust) | Нужна веб-панель без Docker или маскировка трафика отдельным сервисом |
| wg-easy | Docker + веб-интерфейс | Домашние боксы, на которых уже крутится Docker; нужна панель для клиентов |
| spcfox/amnezia-wg-easy | Docker-форк wg-easy | Те, кто уже на wg-easy и хочет именно AmneziaWG вместо обычного WireGuard |
| Amnezia VPN | Десктоп/моб GUI, разворачивает сервер в Docker по SSH | Установка кликами без терминала; нужен графический клиент |
Быстрый выбор:
- Часто заводите и меняете клиентов, удобнее мышкой в браузере - веб-панель: wiresock (нативная, без Docker) или wg-easy (Docker). Учтите: панель - это лишний постоянно работающий сервис, открытый порт и расход ресурсов сервера; для режима «поставил и забыл» это ненужная нагрузка.
- Дешёвый или слабый VPS, ARM (Raspberry Pi, Oracle Ampere) - этот установщик с готовыми prebuilt'ами, без ожидания сборки модуля.
- Импорт в телефон одним тапом (QR или
vpn://), клиенты по сроку (--expires), пресеты под мобильных операторов - этот установщик. - Установка мышкой без терминала - десктоп-клиент Amnezia VPN.
Когда этот проект - не лучший выбор:
- Часто заводите и меняете клиентов и хочется браузерную панель - возьмите wiresock или wg-easy. Здесь панели нет осознанно: если клиенты меняются изредка, постоянно работающая панель только ест ресурсы сервера, а управление и так делается из CLI (
manageadd/remove/list) по SSH. - Нужна устойчивость к активному зондированию (active probing) - маскировка трафика под сторонний протокол (например QUIC или DNS): у wiresock для этого есть отдельный обфускация-прокси (серверную маскировку получает любой стандартный клиент, полная двунаправленная - в связке с их коммерческим клиентом WireSock Secure Connect). Здесь обфускация делается в самом протоколе - параметры I1-I5/CPS AmneziaWG 2.0 - и ориентирована на типовой мобильный DPI, без отдельного прокси-демона и платного клиента.
- Нужен графический клиент или установка мышкой без терминала - десктоп-клиент Amnezia VPN.
Чем отличается от официального приложения Amnezia?
Официальное приложение Amnezia - официальный графический клиент: вы ставите приложение, указываете сервер, и оно разворачивает серверную часть в Docker по SSH. Удобно, когда нужен только GUI. Этот установщик создан под другую задачу - выжать из одного выделенного VPS максимум как из VPN-сервера. Отсюда и отличия:
- Без Docker и накладных расходов на него. AmneziaWG ставится модулем ядра, а не в контейнере. Нет постоянного Docker-демона - меньше расход RAM и CPU. На дешёвом VPS это критично, на сервере помощнее тоже не лишнее.
- Сервер оптимизируется под железо. Скрипт смотрит на RAM и настраивает sysctl-буферы и размер swap, включает BBR - вытягивает из тарифа максимум. Официальное приложение разворачивает контейнеры и сам сервер не оптимизирует и не настраивает.
- Меньше поверхность атаки. Лишние пакеты и службы вырезаются, на сервере остаётся одна задача - VPN. Сверху UFW deny-all, Fail2Ban, строгие права на файлы и sysctl-хардненинг.
- Тонкая настройка обфускации. Пресет для мобильных сетей (
--preset=mobile), прямой доступ к параметрам AmneziaWG и полевые данные по операторам и DPI - можно подстроить под конкретную сеть или оператора. - Headless и автоматизация. Одна SSH-команда, все параметры флагами, управление клиентами из CLI, гости по сроку (
--expires), импорт по QR илиvpn://, готовые сборки под ARM.
Протокол и стойкость к DPI при этом одинаковые - под капотом тот же протокол AmneziaWG. Код открыт под MIT, это читаемый bash, его можно просмотреть перед запуском, на нём 2000+ автотестов. Ставится тот же upstream AmneziaWG - это автоматизация и тюнинг сервера, а не форк протокола.
Подробное сравнение: amneziawg-installer и официальное приложение Amnezia.
✨ Что умеет
- Обход блокировок - AmneziaWG 3.1 (или 2.0 для старых клиентов) с обфускацией трафика. DPI не детектирует подключение
- Одна команда - готовый VPN - от чистого VPS до работающего сервера с клиентскими конфигами и QR-кодами
- Безопасность из коробки - UFW, Fail2Ban, sysctl hardening, строгие права доступа (600/700)
- Удобное управление - добавление/удаление клиентов, временные клиенты с авто-удалением, статистика, бэкапы
- Широкая поддержка ОС - Ubuntu 24.04, 26.04 и Debian 13; Debian 12 для переноса уже работающего сервера
- x86_64 и ARM - облачные VPS, Raspberry Pi 3/4/5, ARM64-серверы (AWS Graviton, Oracle Ampere, Hetzner)
- Оптимизация для мобильных сетей -
--preset=mobileдля Tele2, Yota, Мегафон и других операторов с DPI-блокировками. Тонкая настройка через--jc,--jmin,--jmax(подробнее) - Опциональный dual-stack IPv6 - флаг
--allow-ipv6-tunnelдобавляет IPv6 внутри туннеля рядом с IPv4 (по умолчанию выключено, подробнее)
Все возможности
- Нативная генерация ключей и конфигов через
awg- без Python и внешних зависимостей - Hardware-aware оптимизация: swap и сетевые буферы на основе характеристик сервера
- DKMS - автоматическая пересборка модуля ядра при обновлении
vpn://URI для импорта в Amnezia Client одним тапом (.vpnuriфайлы)- Статистика трафика по клиентам (
stats,stats --json) - Временные клиенты с авто-удалением (
--expires=1h,7d,4wи др.) - Диагностический отчёт (
--diagnostic) и полная деинсталляция (--uninstall) - Логирование всех действий в
/root/awg/ - Возобновление установки после перезагрузки - скрипт продолжит с нужного шага
- Выбор порта, подсети, режима IPv6, маршрутизации и изоляции клиентов (
--isolation=on|off). Поддержка--endpointдля серверов за NAT
📡 С какими операторами проверено
Установщик настраивает обфускацию AmneziaWG под мобильные сети с DPI: --mobile включает мобильный пресет и порт 443/udp одним флагом. Если VPN нестабилен через мобильный интернет, на новом сервере ставьте сразу с --mobile. На уже работающем это переустановка с --force --mobile: параметры обфускации и порт поменяются, и всем клиентам придётся перевыпустить конфиги через regen. Если рукопожатие на мобильной сети не проходит вовсе, сначала прочитайте разбор. Ниже - рабочие конфигурации по отчётам пользователей из issues и discussions (не гарантия: блокировки и параметры операторов меняются со временем):
- Yota - Москва,
--preset=mobile - Tele2 - Москва (
--preset=mobile); Красноярск (--preset=mobile; в майскую волну 2026 заработалI1=) - Таттелеком / Летай - Татарстан,
--preset=mobile - Мегафон - регионы,
--preset=mobile+ удалить параметрI1 - Билайн - дефолтный preset, флаги не нужны
- Домашний/проводной интернет - дефолт, как правило, «из коробки»
Вашего оператора нет в списке? Попробуйте --preset=mobile. Не помогло - заведите тред в Discussions или Issues, добавлю в список.
Полная таблица операторских параметров (Jc, Jmin, Jmax, I1) - в ADVANCED.md → FAQ «через мобильную сеть». Точечная настройка через
--jc/--jmin/--jmax- в ADVANCED.md → Presets.
🖥️ Требования
- ОС: Чистая установка Ubuntu Server 24.04 LTS / Ubuntu 26.04 / Debian 13 Minimal. Debian 12 установщик тоже поддерживает, но для НОВОГО сервера его брать не стоит - см. таблицу совместимости
- Доступ: Права
root(черезsudo) - Интернет: Стабильное подключение
- Ресурсы: 512 МБ ОЗУ минимум, рекомендуется 1 ГБ (комфортно 2+ ГБ); минимум ~2 ГБ диска (рекомендуется 3+ ГБ)
- SSH: Доступ по SSH
Совместимость ОС:
| ОС | Наш выбор | Поддержка от вендора | Примечание |
|---|---|---|---|
| Ubuntu 24.04 LTS | ✅ выбор по умолчанию | до 2029-05-31 | Обкатана лучше всех. HWE-ядро 7.0.0-38 поддерживается с v5.37.1: исходник модуля из PPA установщик исправляет сам (подробнее) |
| Debian 13 (trixie) | ✅ выбор по умолчанию | до 2028-08-09 | Протестировано. PPA через маппинг codename на noble, DEB822 |
| Ubuntu 26.04 | ⚠️ временно с оговоркой | до 2031-05-29 | Под ядро 7.0.0-38 модуль из PPA сам не собирается, с v5.37.1 установщик исправляет его исходник сам (подробнее). Установщик проверяет, отвечает ли PPA для кодового имени выпуска, и если нет, сам переключается на noble (с v5.13.0) |
| Debian 12 (bookworm) | ⚠️ для миграции | обычная закончилась 2026-07-11, Debian LTS до 2028-06-30 | Работает и протестировано, обновления безопасности идут через Debian LTS. PPA через маппинг codename на focal. Для нового сервера лучше Debian 13 |
| Ubuntu 25.10 (questing) | ❌ не поддерживается с v6.0.0 | закончилась 2026-07-01, продления нет | Выпуск снят с поддержки, обновлений безопасности для него не выходит. Установщик предупредит о непроверенном выпуске и спросит подтверждение. Перейдите на 26.04 LTS (do-release-upgrade, затем снова запустите установщик последней версии) или переустановите на 24.04 LTS |
Поддержка архитектур (v5.10.0+):
| Архитектура | Статус | Платформы |
|---|---|---|
| x86_64 (amd64) | ✅ Полная поддержка | Все облачные VPS |
| ARM64 (aarch64) | ✅ Поддержка | Raspberry Pi 3/4/5, AWS Graviton, Oracle Ampere, Hetzner |
| ARMv7 (armhf) | ✅ Поддержка | Raspberry Pi 3/4 (32-bit) |
На ARM установщик загружает готовые модули ядра при наличии, и автоматически переключается на DKMS-сборку если нужно.
⚠️ Нестандартный порт SSH: Установщик обычно определяет SSH-порт автоматически. Если SSH на нестандартном порту или автодетект недоступен, запускайте с
--ssh-port=ВАШ_ПОРТ(несколько портов - списком через запятую). Как дополнительная консервативная страховка можно заранее выполнитьsudo ufw allow ВАШ_ПОРТ/tcpдо запуска установки.
Клиенты:
- Android: WG Tunnel (профиль 3.1 с версии 5.6.0) или лёгкий AmneziaWG (профиль 3.1 с 3.1.4 в Google Play). Импорт QR-кодом
имя.png; почему они - какой клиент выбрать - Все платформы: Amnezia VPN - полнофункциональный VPN-клиент: профиль 3.1 с версии 5.0.1.5, профиль 2.0 с 4.8.12.7. Импорт через
vpn://URI - Windows: AmneziaWG - легковесный tunnel manager: профиль 3.1 с версии 3.1.0, профиль 2.0 с 2.0.0. Импорт через
.confфайлы
🚀 Рекомендация хостинга
Для стабильной работы VPN-сервера с высокой пропускной способностью важен надежный хостинг с хорошим каналом.
На что смотреть при выборе VPS под VPN:
- IP-адреса, не помеченные как датацентровые - меньше риск блокировок по диапазону.
- Большой или неограниченный трафик и канал от 1 Гбит/с.
- Поддержка нужной ОС (Ubuntu 24.04 LTS, 26.04 или Debian 13; Debian 12 тоже работает) и root-доступ.
Опробовал и рекомендую FreakHosting. В частности, их линейка BUDGET VPS предлагает отличное соотношение цены и качества. Это партнёрская ссылка: при заказе по ней я получаю небольшой процент, для вас цена та же.
Их IP-адреса не идентифицируются, как адреса датацентров и не попадают под блокировки по признаку «IP принадлежит хостинг-провайдеру» (в отличие, например, от Azure и некоторых крупных облаков).
- Рекомендуемый тариф: BVPS-2
- Характеристики: 2 vCPU, 2 GB RAM, 40 GB NVMe SSD.
- Ключевое преимущество: порт 10 Gbps с неограниченным трафиком. Идеально для VPN!
- Цена: Всего €25 в год (около 2200 руб.; на момент проверки, цена может меняться).
Этой конфигурации более чем достаточно для комфортной работы AmneziaWG с большим количеством подключений и высоким трафиком.
🔧 Установка (Рекомендуемый способ)
Установка AmneziaWG на Ubuntu или Debian сводится к трём командам: скачать скрипт, запустить с sudo и ответить на несколько вопросов. Этот метод гарантирует корректную работу интерактивных запросов и цветного вывода в вашем терминале.
Подключитесь к чистому серверу (Ubuntu 24.04 / Ubuntu 26.04 / Debian 13) по SSH.
Совет: После создания сервера подождите 5-10 минут, чтобы завершились все фоновые процессы инициализации системы, прежде чем запускать установку.
Скачайте скрипт:
wget -O install_amneziawg.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg.sh # или: curl -fLo install_amneziawg.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg.shНа минимальном Debian curl может отсутствовать (wget обычно есть) - используйте
wget. Сам curl установщик доставит на шаге 1.Сделайте его исполняемым:
chmod +x install_amneziawg.shЗапустите с
sudo:sudo bash ./install_amneziawg.sh(Вы также можете передать параметры командной строки, см.
sudo bash ./install_amneziawg.sh --helpили ADVANCED.md#install-cli-adv)English version: Для вывода на английском используйте
install_amneziawg_en.sh:wget -O install_amneziawg_en.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg_en.sh sudo bash ./install_amneziawg_en.shАнглийская версия функционально идентична; только сообщения и логи на английском. После перезагрузки продолжайте тем же файлом:
sudo bash ./install_amneziawg_en.shНачальная настройка: Скрипт интерактивно запросит:
UDP порт: Порт для подключения клиентов (1-65535). По умолчанию:
39743.Подсеть туннеля: Внутренняя сеть для VPN. По умолчанию:
10.9.9.1/24.Отключение IPv6: рекомендуется (
Y). Речь об IPv6 на самом сервере; попадёт ли в туннель IPv6 вашего устройства, решает режим маршрутизации, см. IPv6 устройства,::/0и локальная сеть.Режим маршрутизации: Определяет, какой трафик пойдет через VPN. По умолчанию
1(весь трафик,0.0.0.0/0) - привычная клиентам форма полного туннеля. Режим2(Список Amnezia+DNS) оставляет частные сети (10.0.0.0/8,172.16.0.0/12,192.168.0.0/16) вне туннеля, но часть клиентов считает такой список раздельной маршрутизацией и ведёт себя иначе.Изоляция клиентов: Блокировать ли трафик между клиентами внутри VPN. По умолчанию включена (
Y) - клиенты не видят друг друга; неинтерактивно:--isolation=on|off.Имя сервера: Под этим именем сервер появится в приложении Amnezia при импорте
vpn://. По умолчаниюAWG Server; неинтерактивно:--server-name=ИМЯ.Удаление лишних пакетов: скрипт покажет список (snapd, unattended-upgrades и другие) и спросит, удалять ли их. Оставить - ответ
nили флаг--keep-packages.
Параметры обфускации (для 3.1 вместе с ключом защиты заголовков) генерируются автоматически - никаких действий не требуется.
Перезагрузки: Потребуется ДВЕ перезагрузки. Скрипт запросит подтверждение
[y/N]. Введитеyи нажмите Enter.Продолжение: После каждой перезагрузки снова запустите скрипт той же командой:
sudo bash ./install_amneziawg.shСкрипт продолжит с нужного шага, прежние вопросы не повторяются. Если UFW ещё не включён, в третьем запуске будет один новый вопрос: «Включить UFW? [y/N]». Ответьте
y: по Enter фаервол не включается, и сервер остаётся без него. С--yesUFW включается без вопроса.Завершение: После второй перезагрузки и третьего запуска скрипта вы увидите сообщение:
Установка и настройка AmneziaWG 3.1 УСПЕШНО ЗАВЕРШЕНА!(или2.0, если сервер поставлен на неё) и строку «Поколение протокола» с причиной, если установщик выбрал 2.0 сам.
🔏 Проверка подписи (необязательно, лучше до запуска)
Установщик подписан ключом minisign, который хранится у автора офлайн и в GitHub Actions не попадает. Подписи есть у релизов начиная с v5.29.0.
sudo apt install minisign
BASE="https://github.com/bivlked/amneziawg-installer/releases/latest/download"
wget -O install_amneziawg.sh "$BASE/install_amneziawg.sh"
wget -O install_amneziawg.sh.minisig "$BASE/install_amneziawg.sh.minisig"
minisign -V -P RWQXfpABHIpZPttqrwYrQNHRTk/iLIz4cVh9KkRwAElHP+CoW/NPEysN \
-m install_amneziawg.sh -x install_amneziawg.sh.minisig
Ожидаемый ответ: Signature and comment signature verified, а строкой ниже Trusted comment: amneziawg-installer vX.Y.Z install_amneziawg.sh. Тег в этой строке должен совпадать с последним релизом на странице релизов, а имя - с файлом, который вы скачали. Если проверка не прошла, скачайте оба файла заново: между двумя закачками мог выйти новый релиз. Не прошла повторно - не запускайте.
Ключ сверяйте целиком. Публичный ключ проекта: RWQXfpABHIpZPttqrwYrQNHRTk/iLIz4cVh9KkRwAElHP+CoW/NPEysN. Он же лежит в KEYS.txt в корне репозитория и в каждом подписанном релизе (с v5.29.0). 3E598A1C01907E17 - идентификатор ключа, а не отпечаток: чужой ключ может нести тот же идентификатор, поэтому сверять по нему нельзя. Сохраните ключ у себя и в следующий раз берите его из своей копии.
Что покрывает подпись. Вы проверяете сам установщик. Скрипты, которые он качает потом (awg_common.sh, manage_amneziawg.sh), он сверяет с SHA256-хешами, зашитыми в него, так что подписанный установщик покрывает и их, если не переопределять AWG_BRANCH. Не покрыты подписью:
- готовые ARM-пакеты модуля из релиза
arm-packages: хеш лежит рядом с ними и защищает только от битой закачки; - пакеты из PPA Amnezia: их проверяет apt по ключу PPA;
- скрипты, заменённые вручную: для них повторите команду выше с их именами.
⚠️ Чего проверка не даёт. Если ключ скопирован с этой же страницы в тот же заход, проверка защищает от подмены по пути, но не от взлома самого аккаунта: кто подменит скрипт, подменит и эту страницу. Смысл проверки появляется, когда ключ у вас сохранён с прошлого раза.
📦 После установки
Где найти файлы клиентов:
| Файл | Путь | Назначение |
|---|---|---|
.conf |
/root/awg/имя.conf |
Конфигурация для импорта в клиент |
.png |
/root/awg/имя.png |
QR-код этого же .conf для клиентов AmneziaWG |
.vpnuri |
/root/awg/имя.vpnuri |
vpn:// URI для Amnezia Client |
.vpnuri.png |
/root/awg/имя.vpnuri.png |
QR-код ссылки vpn:// для приложения Amnezia VPN |
Скачать конфиг на компьютер:
scp root@IP_СЕРВЕРА:/root/awg/my_phone.conf .
Импорт в WG Tunnel или AmneziaWG на Android, в AmneziaWG на iPhone
- Скачайте QR-код конфига:
scp root@IP_СЕРВЕРА:/root/awg/my_phone.png . - Откройте файл на экране компьютера
- На телефоне: «+» → пункт импорта по QR-коду
Импорт в Amnezia VPN (телефон) через vpn:// URI
- На сервере выполните:
cat /root/awg/my_phone.vpnuri - Скопируйте текст и отправьте себе (Telegram, почта и т.д.)
- На телефоне: Amnezia VPN → «Добавить VPN» → «Вставить из буфера»
Импорт в Amnezia VPN через QR-код ссылки
- Скачайте QR-код ссылки:
scp root@IP_СЕРВЕРА:/root/awg/my_phone.vpnuri.png . - Откройте файл на экране компьютера
- На телефоне: Amnezia VPN → «Добавить VPN» → «Сканировать QR-код»
Если сканер Amnezia VPN код не распознаёт (так было на Android с версией 5.0.3), считайте его обычной камерой телефона, скопируйте текст vpn://... и вставьте в Amnezia VPN, как в способе выше.
Файл my_phone.png без vpnuri в имени - это QR-код самого .conf для клиента AmneziaWG, в Amnezia VPN его не сканируйте.
Импорт в AmneziaWG for Windows
- Скачайте
.confфайл на компьютер черезscpилиsftp - AmneziaWG → Import tunnel(s) from file → выберите
.confфайл
Другие файлы на сервере:
- Конфигурация сервера:
/etc/amnezia/amneziawg/awg0.conf - Настройки скрипта:
/root/awg/awgsetup_cfg.init - Скрипт управления:
/root/awg/manage_amneziawg.sh - Общие функции:
/root/awg/awg_common.sh - Данные истечения клиентов:
/root/awg/expiry/ - Логи:
/root/awg/*.log
👥 Управление клиентами (manage_amneziawg.sh)
Скрипт manage_amneziawg.sh для управления пользователями скачивается автоматически.
Использование:
sudo bash /root/awg/manage_amneziawg.sh <команда> [аргументы]
Полный список - ... help или ADVANCED.md#manage-commands-adv.
Повседневные команды:
| Команда | Аргументы | Описание | Перезапуск? |
|---|---|---|---|
add |
[имя2 ...] [--expires=ВРЕМЯ] [--allowed-ips=СПИСОК] |
Добавить клиента(ов) (опц. с истечением и индивид. маршрутами) | Нет (авто) |
remove |
[имя2 ...] |
Удалить клиента(ов) | Нет (авто) |
list |
[-v] [--json] |
Список клиентов (-v детали, --json машиночитаемый с client_ipv6 и expires_at) |
Нет |
show |
Статус awg show |
Нет | |
stats |
[--json] |
Статистика трафика по клиентам | Нет |
Обслуживание и восстановление:
| Команда | Аргументы | Описание | Перезапуск? |
|---|---|---|---|
regen |
[имя ...] [--reset-routes] |
Переген. файлы (всех/указанных) | Нет |
modify |
|
Изменить параметр клиента | Нет |
backup |
Создать резервную копию | Нет | |
restore |
[файл] |
Восстановить из резервной копии | Нет |
check |
Проверка состояния сервера | Нет | |
diagnose |
[--carrier=ИМЯ] |
Диагностика (опц. под оператора) | Нет |
repair-module |
Пересобрать модуль ядра (DKMS) | Да | |
restart |
Перезапуск сервиса AmneziaWG | - |
💡 Примечание: Команды
addиremoveавтоматически применяют изменения черезawg syncconf- перезапуск сервиса не требуется.
🤖 Для скриптов и ботов: с v5.21.0 почти все команды управления (от
addдоrepair-module) понимают--jsonи отвечают одним JSON-объектом, даже если что-то пошло не так - вывод можно спокойно разбирать из своего скрипта или бота.list --jsonиstats --json, как и раньше, отдают простые массивы. Формат и строгий режим подтвержденийAWG_STRICT_CONFIRM=1расписаны в ADVANCED.md → JSON-интерфейс, а готовый Telegram-бот на этом интерфейсе уже есть - awgram.
📌 Краткая справка
# Установка (русский)
wget -O install_amneziawg.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg.sh
sudo bash ./install_amneziawg.sh # Запуск (+ 2 перезагрузки)
# Установка (English)
wget -O install_amneziawg_en.sh https://github.com/bivlked/amneziawg-installer/releases/latest/download/install_amneziawg_en.sh
sudo bash ./install_amneziawg_en.sh # Запуск (+ 2 перезагрузки)
# Управление клиентами
sudo bash /root/awg/manage_amneziawg.sh add my_phone # Добавить
sudo bash /root/awg/manage_amneziawg.sh add my_iphone --psk # +PresharedKey (Shadowrocket iOS/macOS)
sudo bash /root/awg/manage_amneziawg.sh remove my_phone # Удалить
sudo bash /root/awg/manage_amneziawg.sh list # Список
sudo bash /root/awg/manage_amneziawg.sh list --json # Список в JSON (для скриптов)
sudo bash /root/awg/manage_amneziawg.sh regen # Перегенерация
# Временный клиент (7 дней)
sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d
# Статистика трафика
sudo bash /root/awg/manage_amneziawg.sh stats
sudo bash /root/awg/manage_amneziawg.sh stats --json
# Обслуживание
sudo bash /root/awg/manage_amneziawg.sh check # Диагностика
sudo bash /root/awg/manage_amneziawg.sh backup # Бэкап
sudo bash /root/awg/manage_amneziawg.sh restart # Перезапуск
ℹ️ Дополнительная информация
Более подробную информацию о деталях конфигурации, настройках безопасности, параметрах AmneziaWG 2.0 и 3.1, дополнительных командах управления, технических деталях и ответах на другие вопросы вы можете найти в файле ADVANCED.md.
Историю изменений смотрите в CHANGELOG.md.
Планы развития и приоритеты - в docs/ROADMAP.md.
Каскад из двух серверов с раздельным выходом российского и зарубежного трафика (split-tunnel) - в CASCADE.md.
Выборочная маршрутизация российского сегмента через Cloudflare WARP по BGP-фиду, если сервер один - в WARP-RU.md.
❓ FAQ (Основные вопросы)
В разделе: установка и обновление, подключение клиентов, мобильные сети, выбор хостинга и перенос, безопасность и параметры. Разверните нужный вопрос ниже.
В: Будет ли работать после обновления ядра?
О: На обычной DKMS-установке да: модуль пересобирается при следующей загрузке, проверка -dkms status. На ARM с готовым модулем нет: после смены ядра туннель сам не поднимется. Штатный способ починки - запустить установщик ещё раз (sudo bash ./install_amneziawg.sh --force), он заново поставит модуль под новое ядро; это полный цикл с двумя перезагрузками.
В: Как полностью удалить AmneziaWG?
О: Скачайте скрипт установки (если его нет) и запустите:sudo bash ./install_amneziawg.sh --uninstall.
В: Клиенты не подключаются, что делать?
О: 1. Проверьте статус:sudo bash /root/awg/manage_amneziawg.sh check. 2. Проверьте фаервол: sudo ufw status verbose. 3. Проверьте конфиг клиента. 4. Проверьте логи: sudo journalctl -u awg-quick@awg0 -n 50. 5. Убедитесь, что клиент понимает поколение сервера (строка «Поколение протокола» в итоговом отчёте установщика): для 3.1 нужны Amnezia VPN >= 5.0.1.5 или AmneziaWG >= 3.1.0 для Windows, >= 3.1.4 для Android и iOS, для 2.0 - Amnezia VPN >= 4.8.12.7 или AmneziaWG >= 2.0.0.
В: Handshake проходит, но трафик не идёт - что не так?
О: Частая причина - ловушка сAllowedIPs при ручной правке. Если хотите пинговать сервер или заходить на него по SSH по внутреннему IP (10.9.9.1 в подсети по умолчанию), добавьте в AllowedIPs клиента подсеть туннеля (по умолчанию 10.9.9.0/24, или вашу, если меняли --subnet). Иначе клиент не маршрутизирует трафик к серверу даже изнутри тоннеля. Режим --route-all (полный туннель 0.0.0.0/0, по умолчанию) покрывает подсеть автоматически; режим --route-amnezia (Amnezia List) и --route-custom= - нет, добавьте вручную. Подробнее - в ADVANCED.md → AllowedIPs.
Отдельно от режима маршрутизации: по умолчанию клиенты изолированы друг от друга на сервере (правило
FORWARD awg0→awg0 DROP), даже если оба в одном режиме. Чтобы устройства видели друг друга внутри VPN, ставьте --isolation=off при установке - сервер снимает блокировку, а подсеть туннеля сама добавляется в AllowedIPs клиентов. Подробнее - в ADVANCED.md → Изоляция клиентов.
В: Можно сделать так, чтобы российский трафик шёл напрямую, а остальное - через заграницу?
О: Да, через каскад из двух серверов: клиент подключается к серверу-входу (лучше в РФ), российский трафик уходит в интернет напрямую с него, остальное - через второй сервер за границей. Деление на стороне сервера, на клиенте ничего особого настраивать не нужно. Пошаговая инструкция - в CASCADE.md.В: Можно ли использовать с AWG 1.x клиентами?
О: Нет. Ни профиль 3.1, ни профиль 2.0 клиенты AWG 1.x не понимают: клиент должен поддерживать поколение сервера - 3.1 по умолчанию или 2.0, если сервер поставлен на неё. Для AWG 1.x используйте ветку legacy/v4.В: Ошибка импорта конфига «Неверный ключ: s3» - что делать?
О: Вы используете устаревшую версиюamneziawg-windows-client (версии 2.0.0+, которая поддерживает AWG 2.0; для сервера 3.1 нужна версия 3.1.0 или новее. Альтернатива - Amnezia VPN >= 4.8.12.7, а для 3.1 >= 5.0.1.5.
В: Как обновить скрипты до новой версии?
О: Переустановка сервера не нужна: достаточно заменить два скрипта в/root/awg/. Скачайте их во временную папку, проверьте подпись и только потом замените (нужен minisign: sudo apt install minisign). Прямой wget -O поверх рабочего файла при сбое скачивания оставил бы пустой файл.
cd "$(mktemp -d)"
KEY=RWQXfpABHIpZPttqrwYrQNHRTk/iLIz4cVh9KkRwAElHP+CoW/NPEysN
M=manage_amneziawg.sh C=awg_common.sh # английская версия: M=manage_amneziawg_en.sh C=awg_common_en.sh
ok=1 tag=
for f in "$M" "$C"; do
wget -q -O "$f" "https://github.com/bivlked/amneziawg-installer/releases/latest/download/$f" \
&& wget -q -O "$f.minisig" "https://github.com/bivlked/amneziawg-installer/releases/latest/download/$f.minisig" \
&& out=$(minisign -V -P "$KEY" -m "$f" -x "$f.minisig") \
&& t=$(printf '%s\n' "$out" | sed -n "s/^Trusted comment: amneziawg-installer \(v[0-9.]*\) $f\$/\1/p") \
&& [ -n "$t" ] && [ "${tag:-$t}" = "$t" ] || { echo "НЕ ПРОВЕРЕН: $f"; ok=0; break; }
tag=$t
done
[ "$ok" = 1 ] && { old=$(sudo sed -n 's/^SCRIPT_VERSION="\(.*\)"/v\1/p' /root/awg/manage_amneziawg.sh) && [ -n "$old" ] \
|| { echo "НЕ ПРОВЕРЕН: не удалось прочитать установленную версию из /root/awg/manage_amneziawg.sh"; ok=0; }; }
[ "$ok" = 1 ] && [ "$(printf '%s\n' "$old" "$tag" | sort -V | tail -1)" != "$tag" ] \
&& { echo "НЕ ПРОВЕРЕН: релиз $tag старше установленного $old"; ok=0; }
[ "$ok" = 1 ] && { sudo install -m 700 "$M" /root/awg/manage_amneziawg.sh \
&& sudo install -m 700 "$C" /root/awg/awg_common.sh && echo "Установлен проверенный релиз $tag" || echo "НЕ УСТАНОВЛЕН до конца: запустите блок ещё раз"; }
Если скрипт напечатал «НЕ ПРОВЕРЕН», рабочие файлы не тронуты; «НЕ УСТАНОВЛЕН до конца» значит, что заменены не оба файла, и блок нужно запустить ещё раз. Если установленный `manage` старше v5.7.0, строки версии в нём нет и блок откажет: такой сервер обновляйте новым установщиком с `--force`. Блок принимает только пару файлов из одного релиза и не старше уже установленного, поэтому подменённая ссылка на последний релиз не откатит скрипты на старые подписанные версии. Номер проверенного релиза он печатает: сверьте его со страницей релизов.
С v5.21.0 пара скриптов защищена от рассинхрона: обновили manage, а awg_common забыли (или наоборот), и версии разошлись - скрипт остановится и покажет, какими командами докачать вторую половину, вместо странных ошибок посреди работы.
В: Какое максимальное количество клиентов?
О: Подсеть/24 по умолчанию позволяет до 253 клиентов (.2 - .254), что достаточно для большинства сценариев. Нужно больше - укажите более широкую маску через --subnet (например, /16).
В: Какой хостинг подходит?
О: Любой VPS с Ubuntu 24.04 LTS / Ubuntu 26.04 / Debian 13 (Debian 12 тоже поддержан, но обычная поддержка у него кончилась - см. таблицу совместимости), root-доступом и от 512 МБ RAM (рекомендуется 1 ГБ). Беру хостинги с незаблокированными IP и неограниченным трафиком. См. рекомендацию ниже.В: Как перенести VPN на другой сервер?
О: 1. Создайте бэкап:sudo bash /root/awg/manage_amneziawg.sh backup. 2. Скопируйте архив из /root/awg/backups/ на новый сервер. 3. Установите AmneziaWG на новом сервере. 4. Восстановите: sudo bash /root/awg/manage_amneziawg.sh restore (интерактивный выбор из списка, или укажите полный путь к архиву). 5. Перегенерируйте конфиги с новым IP: sudo bash /root/awg/manage_amneziawg.sh regen.
В: Как создать временного клиента?
О:sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d. Форматы: 1h, 12h, 1d, 7d, 30d, 4w. Cron проверяет каждые 5 минут и автоматически удаляет истёкших клиентов.
В: Что такое файлы .vpnuri?
О: Файлы.vpnuri содержат vpn:// URI для импорта конфигурации в Amnezia Client одним тапом. Скопируйте содержимое файла → откройте Amnezia Client → «Добавить VPN» → «Вставить из буфера».
В: Не подключается Shadowrocket на iOS/macOS - нужен PresharedKey
О: С v5.11.1 добавлен флаг--psk для команды add: sudo bash /root/awg/manage_amneziawg.sh add my_iphone --psk. В файле клиента появится строка PresharedKey = ... совпадающая с серверным [Peer]. Для уже созданных клиентов: пересоздать с флагом (remove + add --psk) или вручную - сгенерировать ключ один раз (PSK=$(awg genpsk)) и вставить одно и то же значение в обе стороны (серверный [Peer] клиента и клиентский [Peer] сервера); если значения различаются - handshake не пройдёт. regen сохраняет существующий PSK через rotation. Подробнее - в ADVANCED.md.
В: iPhone подключается, но через ~10 секунд трафик пропадает
О: Исправлено в v5.16.1 (Issue #42, спасибо @LiaNdrY). Тогдашний режим маршрутизации по умолчанию (mode 2, «Список Amnezia+DNS») начинался с0.0.0.0/5 - на iOS этот блок ломал весь список маршрутов, и туннель вставал примерно через 10 секунд. На уже установленном сервере проще всего поставить в конфиге iOS-клиента AllowedIPs = 0.0.0.0/0 (обычная переустановка с --force сохранённый список не меняет). Точечная правка с сохранением split-tunnel - в ADVANCED.md.
В: Почему порт 39743?
О: Это случайный порт из верхнего диапазона, выбранный как дефолт. Можно изменить при установке:--port=N (любой порт 1-65535). На мобильных сетях, где оператор режет незнакомые порты, часто выручает 443/udp - его ставит флаг --mobile вместе с пресетом обфускации.
В: Нужен ли Perl на сервере?
О: Perl используется опционально для генерацииvpn:// URI (.vpnuri файлов). Если Perl отсутствует, .conf файлы создаются как обычно - ими можно пользоваться через импорт файла или QR-код. На Ubuntu и Debian Perl установлен по умолчанию.
В: Можно ли управлять сервером из своих скриптов или Telegram-бота?
О: Да. С v5.21.0 команды управления принимают флаг--json и отвечают одним JSON-объектом даже при сбое - его спокойно разберёт любой скрипт (list/stats отдают JSON-массивы давно). Формат обещаю не ломать: новые поля могут появляться, существующие не переименовываются. Для запусков без человека есть --yes, а строгий режим AWG_STRICT_CONFIRM=1 заставляет команды вроде remove отказаться, если --yes забыли, вместо молчаливого согласия. Разбор формата - в ADVANCED.md → JSON-интерфейс. Живой пример - Telegram-бот awgram, он работает ровно через этот интерфейс.
В: Безопасно ли запускать скрипт повторно? Придётся ли перевыпускать конфиги клиентам?
О: Да, безопасно, и перевыпускать не придётся. Повторная установка поверх уже работающего сервиса требует флага--force (или AWG_FORCE_REINSTALL=1) - без него скрипт сообщит, что AmneziaWG уже установлен, и ничего не тронет. С --force серверный конфиг пересоздаётся, но серверные ключи и параметры обфускации берутся существующие, а [Peer]-блоки переносятся из прежнего конфига. Клиенты сохраняются все, включая дефолтные my_phone и my_laptop: цикл создания пропускает тех, кто уже есть в конфиге. Выданные файлы и QR-коды остаются валидными.
Оговорка одна: если передать
--mobile, --preset, --jc, --jmin или --jmax, весь набор Jc/S/H/I1 сгенерируется заново, а --port (и --mobile, который ставит 443) меняет порт. В обоих случаях старые конфиги перестанут подключаться, их придётся перевыпустить через regen и раздать снова. --endpoint меняет адрес только в заново выпущенных конфигах: старые сохраняют прежний и работают, пока он ведёт на сервер, а новый получат после regen. При обычном обновлении эти флаги не указывайте.
И чаще всего
--force не нужен вовсе: чтобы получить новые команды управления, достаточно обновить два скрипта на сервере (вопрос выше). Заново прогонять установщик стоит, только когда менялся он сам.
В: AmneziaWG не подключается через мобильный интернет, а на Wi-Fi работает - что делать?
О: Чаще всего дело либо в порте, который глушит оператор, либо в форме маскирующего пакетаI1. Различить их помогает сервер: во время попытки подключения посмотрите sudo tcpdump -ni any udp и sudo awg show.
- Пакетов от телефона нет вовсе: проверьте адрес и порт в
Endpoint, фаервол и не заблокирован ли адрес хостера. Если дело в порте, попробуйте--mobile(мобильный пресет и порт 443/udp); на работающем сервере это переустановка с--forceи перевыпуск всех конфигов. - Пакеты приходят, но
endpointу пира не меняется: не совпадаютS1-S4илиH1-H4на сервере и клиенте. endpointменяется, счётчик принятого растёт, аlatest handshakeпустой: этоI1. С v5.33.0 новые установки получают его в форме DNS-ответа сами, а в старых профиляхI1правят в.confклиента, сервер трогать не нужно.
В: Почему конфиг AmneziaWG подсвечен жёлтым в приложении Amnezia?
О: Это не ошибка: жёлтым приложение Amnezia помечает конфигурации второй линии AmneziaWG. Их выдают серверы 2.0: поставленные до версии 6.0.0, с--protocol=2.0 или там, где установщик выбрал 2.0 сам. Сама по себе метка не говорит, что с соединением что-то не так, и переделывать из-за неё ничего не нужно. Подробнее - в FAQ ADVANCED.md.
В: С включённым AmneziaWG пропадает локальная сеть или не открываются сайты по IPv6 - это нормально?
О: Да, так работает полный туннель, режим по умолчанию: весь трафик устройства, включая IPv6, уходит в VPN. По умолчанию IPv6 в туннеле дальше не идёт, и устройство переходит на IPv4. Останется ли доступной локальная сеть, решает клиент: AmneziaWG для Windows её отрезает. Если домашние устройства нужны при включённом VPN, переключите сервер в режим «Amnezia»: переустановка с--force --route-amnezia, затем sudo bash /root/awg/manage_amneziawg.sh regen --reset-routes, чтобы новый режим дошёл до уже выданных профилей. У режима есть своя цена, она описана в ADVANCED.md → IPv6 устройства и локальная сеть.
В: Можно ли поставить AmneziaWG на Synology NAS?
О: Этим установщиком нет: на проверенном DS918+ с DSM 7.4.1 ядро 4.4, модулю нужно 5.15 и выше, а собрать его на самой коробке нечем. Сам AmneziaWG на Synology поднимается вручную через userspace-реализацию, пошагово - в ADVANCED.md → AmneziaWG на Synology NAS.В: После обновления AmneziaWG перестал подключаться - что проверить?
О: Посмотрите, что именно обновлялось. Если установщик запускали повторно с флагами, которые меняют параметры обфускации или порт, выданные конфиги нужно перевыпустить, какие это флаги - в вопросе «Безопасно ли запускать скрипт повторно?» выше. На ARM с готовым модулем после обновления ядра запустите установщик ещё раз. Если после обновления приложения Amnezia конфиг стал жёлтым, это не ошибка (вопрос выше). В остальных случаях начните сsudo bash /root/awg/manage_amneziawg.sh check.
Больше ответов и решений см. в ADVANCED.md.
🛠️ Устранение неполадок
- Логи:
/root/awg/install_amneziawg.log,/root/awg/manage_amneziawg.log - Статус сервиса:
sudo systemctl status awg-quick@awg0 - Статус AmneziaWG:
sudo awg show - Статус UFW:
sudo ufw status verbose - Диагностический отчет:
sudo bash ./install_amneziawg.sh --diagnosticПодробное описание содержимого отчета см. в ADVANCED.md.
🌐 Экосистема
Клиенты
Какой клиент выбрать? На Android - WG Tunnel или лёгкий AmneziaWG: по нашей проверке 13 октября 2026 оба переподключаются меньше чем за секунду и не теряют туннель при переходе с Wi-Fi на мобильную сеть. На iPhone, Mac и Windows - лёгкий AmneziaWG для вашей платформы (импорт
.conf; iPhone и Mac в проверке не участвовали). Amnezia VPN (для сервера 3.1 >= 5.0.1.5, для 2.0 >= 4.8.12.7) работает на всех платформах и принимает ссылкуvpn://; в российском App Store его нет.
| Клиент | Платформа | AWG 3.1 | AWG 2.0 | Тип | Примечание |
|---|---|---|---|---|---|
| Amnezia VPN | Windows, macOS, Linux, Android, iOS | ✅ >= 5.0.1.5 | ✅ >= 4.8.12.7 | Официальный | Полнофункциональный, vpn:// URI; на Android после выключения Wi-Fi туннель не восстановился без перезапуска приложения (5.0.3, 13 окт 2026); в российском App Store нет |
| AmneziaWG | Windows | ✅ >= 3.1.0 | ✅ >= 2.0.0 | Официальный | Легковесный tunnel manager, импорт .conf |
| AmneziaWG | Android | ✅ >= 3.1.4 в Google Play | ✅ >= 2.0.0 | Официальный | Рекомендуется для Android. Легковесный tunnel manager, импорт .conf и QR |
| AmneziaWG | iOS, macOS | ✅ >= 3.1.4 | ✅ | Официальный | Легковесный tunnel manager, импорт .conf; есть в российском App Store |
| WG Tunnel | Android | ✅ >= 5.6.0 | ✅ | Сторонний, FOSS | Рекомендуется для Android. Auto-tunneling, split tunnel; Google Play, IzzyOnDroid |
| WG Tunnel Desktop | Windows, Linux, macOS | ✅ v2 | ✅ | Сторонний, FOSS | Тот же движок, что у Android-версии |
| VeilBox | Windows, macOS | не проверено | ✅ | Сторонний, FOSS | Также поддерживает VLESS |
Версии с поддержкой 3.1 взяты из заметок к выпускам на 12 октября 2026. Полная таблица совместимости клиентов →
Инструменты настройки
| Проект | Описание |
|---|---|
| Junker | Веб-генератор подписей AmneziaWG от @spatiumstas - для ручной настройки без установочного скрипта |
| Any-Tech-ARCHITECT | Веб-генератор параметров обфускации от @Vadim-Khristenko - подбор и проверка значений с матрицей совместимости клиентов (GitHub) |
Прошивки для роутеров
| Проект | Платформа | Описание |
|---|---|---|
| AWG Manager | Keenetic (Entware) | Веб-интерфейс для управления AWG-туннелями на роутерах Keenetic |
| AmneziaWG for Merlin | ASUS (Asuswrt-Merlin) | Аддон AWG 2.0 с веб-интерфейсом, GeoIP/GeoSite маршрутизация |
Управление сервером
| Проект | Платформа | Описание |
|---|---|---|
| amneziawg-manager | macOS | Нативный GUI, управляет сервером по SSH через штатный manage - без веб-панели и демонов |
| awgram | Telegram | Бот на Rust: добавление/удаление клиентов, статистика, бэкап - через штатный manage |
| amneziawg-installer-tg-bot | Telegram | Бот на Python, работает на самом сервере: клиенты кнопками, гостевой доступ со сроком, статистика, бэкап - через штатный manage |
| amneziawg_dns_adblock | Сервер | Блокировка рекламы и трекеров в DNS для клиентов VPN от @Cueuler: Blocky на адресе туннеля, ставится поверх готовой установки, нужен полный туннель (--route-all). Файла лицензии нет, автор разрешил свободное использование в обсуждении #237 |
📰 Упоминания
📖 Гайды и туториалы
- Hetzner Community - Making a website accessible from restricted regions (cross-link в Resources)
- Debian Forums - HowTo: Install AmneziaWG 2.0 on Debian 12/13
- LowEndTalk - [Tutorial] One-command AmneziaWG VPN server install on Ubuntu / Debian / ARM
- AVA Hosting - Self-Hosted VPN: Setup AmneziaWG Easily (пошаговый гайд на основе установщика)
📰 Статьи и обзоры
- XDA Developers - «I found a self-hosted VPN that works where WireGuard gets blocked»
- Pinggy - Top 5 Best Self-Hosted VPNs in 2026
- gHacks Tech News - AmneziaWG 2.0
📋 Каталоги и подборки
- VPN Статус - каталог AmneziaWG-сервисов и серверных решений
- AlternativeTo - amneziawg-installer (42 альтернативы)
- LibHunt - #1 в категории Shell VPN
💬 Форумы и сообщества
📝 Лицензия и Автор
- Автор скриптов: @bivlked - GitHub
- Лицензия: MIT - свободное ПО с открытым исходным кодом (см.
LICENSE)
Проект пригодился - поставьте ⭐. Так его проще найти другим.