Свой VPN-сервер AmneziaWG 2.0 / 3.0 одной командой
Превратите чистый VPS с Ubuntu или Debian в self-hosted VPN с обходом DPI и блокировок. Без Docker, без веб-панели, без знаний Linux.
На серверах со свежим ядром ставится модуль третьей линии, а профиль конфигурации остаётся 2.0: он одинаков на сервере и у клиентов, поэтому уже выданные конфиги работают без правок. Проверить, что стоит у вас
$ 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
Берите актуальную версию со страницы релизов. Три команды, две перезагрузки, около двадцати минут до готового VPN.
Что это даёт
AmneziaWG - это WireGuard с обфускацией трафика, поэтому для DPI handshake уже не выглядит как обычный VPN. Скрипт настраивает весь сервер за вас.
Вы даёте команду свежему VPS по SSH. Она ставит модуль ядра AmneziaWG, закрывает firewall, включает форвардинг, оптимизирует систему под одну задачу и создаёт первого клиента. В конце вы получаете QR-код и vpn-ссылку для импорта в Amnezia Client в одно касание. Добавить ещё устройство потом - одна команда.
Возможности
Всё, что нужно небольшому VPN-серверу, с разумными настройками по умолчанию и без правки конфигов вручную.
Обход DPI
Полная обфускация AmneziaWG 2.0: мусорные пакеты, маскировка заголовков (H1-H4), паддинг (S1-S4) и пакеты сокрытия I1-I5.
Защита по умолчанию
Firewall UFW с deny-all и лимитом на SSH, Fail2Ban, строгие права на файлы и hardening через sysctl.
Управление клиентами
Добавление, удаление, список и перегенерация. QR-коды, vpn-ссылки для импорта в одно касание и гостевые конфиги с датой истечения.
IPv6
В профиле по умолчанию IPv6 устройства уходит в туннель и там глохнет, наружу со своим адресом он не выходит. Пока такой VPN включён, ресурсы только по IPv6 недоступны, и локальная сеть по IPv6 тоже; по IPv4 она остаётся доступной. Нужен рабочий IPv6 в туннеле - --allow-ipv6-tunnel при нативном IPv6 на сервере.
ARM и Raspberry Pi
Готовые модули ядра для Raspberry Pi 3, 4 и 5, Hetzner CAX, Oracle Ampere A1 и AWS Graviton.
Переживает перезагрузки
Машина состояний с возобновлением после ребута. После обновления ядра DKMS сам собирает модуль под новое ядро, а на ARM с готовым модулем его ставит повторный запуск установщика.
Понимает скрипты и ботов
Почти все команды управления понимают --json и отвечают одним объектом даже при сбое (list и stats отдают массив). На этом уже работает сторонний Telegram-бот.
Мобильные операторы
Флаг --mobile включает профиль под сотовые сети и, если порт не задан явно, берёт 443/udp: нестандартные UDP-порты у операторов часто не проходят.
Быстрый старт
От чистого VPS до работающего VPN за три шага.
Арендуйте чистый VPS с Ubuntu или Debian и подключитесь по SSH под root.
Запустите команду выше. Скрипт сам перезагрузит сервер, когда нужно. После ребута запустите её снова - она продолжит с того места, где остановилась.
Отсканируйте QR-код или откройте vpn-ссылку в Amnezia Client. Готово, вы подключены.
Для автоматизации тот же скрипт принимает --yes --route-all и любой другой параметр флагом. Полный гайд покрывает выбор VPS, нюансы ARM, диагностику и удаление.
Поддерживаемые системы
Проверено на чистых минимальных серверных установках. Обновления ядра обрабатываются автоматически через DKMS, а на ARM-серверах с готовой сборкой модуль возвращает команда repair-module.
Для нового сервера: Ubuntu 24.04 LTS или Debian 13 - выбор по умолчанию, Ubuntu 26.04 тоже подойдёт.
Ubuntu 25.10 и Debian 12 ставятся и работают, но для нового сервера их лучше не брать. У Ubuntu 25.10 поддержка закончилась 1 июля 2026, и обновлений безопасности не выходит вообще никаких: это промежуточный выпуск, продлевать его не будут. У Debian 12 обычная поддержка кончилась 11 июля 2026, обновления безопасности идут через Debian LTS до 30 июня 2028.
Рассчитано на скромный бюджет: 1 vCPU, от 512 МБ памяти, 5 ГБ диска. И amd64, и arm64.
Почему обычный bash-скрипт
Работает как модуль ядра, и между вами и туннелем нет ничего лишнего.
Веб-панель оправдана только если вы постоянно заводите и меняете клиентов. У большинства VPN-сервер настраивается один раз и забывается, так что bash-подход держит след минимальным и спокойно работает на самом дешёвом VPS. Модуль в ядре быстрее, чем туннель в userspace, и нет ничего лишнего, что нужно патчить. Если вам всё же хочется UI или другой компромисс - в сравнении в README честно написано, когда другой инструмент подойдёт лучше. А чем он отличается от официального приложения Amnezia - на отдельной странице.
Частые вопросы
Что такое AmneziaWG?
Это бесплатно?
Нужны ли знания Linux?
Какой VPS выбрать?
--ssh-port=ПОРТ. Установщик определяет порт и сам, но при установке с --yes подтверждения не будет, и проверить его окажется некому.Обходит ли DPI и блокировки?
Какую версию AmneziaWG ставит установщик - 2.0 или 3.0?
Работает ли на ARM и Raspberry Pi?
Как обновиться на новую версию?
--force. Ключи сервера, клиенты и настройки обфускации переживают переустановку. После обновления ядра DKMS сам собирает модуль под новое ядро. На ARM с готовым модулем повторный запуск установщика ставит модуль под текущее ядро.Можно ли управлять из скрипта или бота?
--json и отвечают одним JSON-объектом даже тогда, когда команда завершилась ошибкой - разбирать ответ можно всегда. Исключения: list и stats отдают массив, а show и diagnose флага не понимают. Новые поля со временем появляются, существующие я не переименовываю. Для запусков без человека есть --yes, а с AWG_STRICT_CONFIRM=1 команда вроде удаления клиента откажется работать, если --yes забыли, вместо молчаливого согласия. На этом интерфейсе уже работает сторонний Telegram-бот awgram.AmneziaWG не подключается, хотя обычный WireGuard работает?
[Interface]. Совпадать обязаны S1-S4 и H1-H4: приёмник срезает этот паддинг и проверяет эти заголовки, поэтому любое расхождение здесь означает, что пакет отброшен и хендшейк не сойдётся. В 2.0 H1-H4 задаются диапазонами - диапазоны должны быть одинаковыми на обеих сторонах. А Jc/Jmin/Jmax и маскирующие пакеты 2.0 I1-I5 совпадать не обязаны: это отдельные пакеты-обманки, вторая сторона их отбрасывает, а узел без I1 просто не шлёт их вовсе. Регистр у I1-I5 при этом важен: только верхний. Сверьте и версии: старые сборки amneziawg-tools не понимают 2.0. Полный разбор - в подробном руководстве по диагностике.