RU Русский | EN English
Install AmneziaWG 2.0 VPN on Ubuntu and Debian VPS
VPN за одну команду - работает там, где WireGuard блокируют. Любой VPS за $3, без знания Linux.
One-command, self-hosted AmneziaWG 2.0 VPN for Ubuntu 24.04 / 25.10 / 26.04 and Debian 12 / 13. Kernel-native DKMS, no Docker, no web panel, runs on any cheap VPS.
В ядре, без Docker и панелей - нет накладных расходов | сервер только под VPN, защита из коробки | поставил и забыл | QR-код или vpn:// в один тап
## 🚀 Быстрый старт
```bash
wget -O install_amneziawg.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg.sh
chmod +x install_amneziawg.sh
sudo bash ./install_amneziawg.sh
```
> Что делает: ставит AmneziaWG 2.0 (модуль ядра через DKMS), настраивает firewall и форвардинг, создаёт первого клиента, печатает QR-код и `vpn://` ссылку для импорта в Amnezia Client. Добавить друга или устройство потом - одна команда `add`.
> 3 команды. 2 перезагрузки по ходу. Около 20 минут до готового VPN. Для чистого Ubuntu/Debian VPS, не роутер и не shared-хостинг. [Подробнее →](#ustanovka)
> 📘 Полный гайд по развёртыванию (EN): [Install AmneziaWG VPN server on Ubuntu/Debian VPS](INSTALL_VPS.md) - выбор VPS, ARM, troubleshooting, удаление.
> 🔐 Целостность: скрипт качается по HTTPS с `raw.githubusercontent.com` (тег закреплён), вспомогательные скрипты (`awg_common`, `manage`) проверяются по закреплённым SHA256-хешам. Отдельные detached-подписи релизов пока не активны (запланированы) - статус и модель угроз в [SECURITY.md](SECURITY.md).
Что установщик меняет на сервере (прозрачность)
Скрипт получает root - вот краткий список того, что он делает с системой:
- **Пакеты**: обновляет систему, ставит зависимости (amneziawg-tools, qrencode и т.д.); вычищает ненужное на VPN-сервере - в т.ч. `unattended-upgrades` (значит, обновления безопасности перестают ставиться автоматически) и `cloud-init`, если он не управляет сетью (полный список в [ADVANCED.md](ADVANCED.md)).
- **Ядро**: подключает PPA Amnezia (GPG-ключ проверяется по полному отпечатку) и собирает модуль AmneziaWG через DKMS.
- **Сеть**: sysctl - форвардинг, сетевые буферы, BBR (отдельными файлами в `/etc/sysctl.d/`); IPv6 на хосте по умолчанию выключается (оставить: `--allow-ipv6`); swap подгоняется под размер RAM.
- **Защита**: UFW - входящие запрещены, SSH с rate-limit, открыт только UDP-порт VPN; Fail2Ban для SSH.
- **Файлы и сервисы**: основные файлы в `/root/awg/` и `/etc/amnezia/amneziawg/` с правами 600/700; сервис `awg-quick@awg0`; крон автоудаления истёкших клиентов.
- **Откат**: `--uninstall` убирает своё - модуль, конфиги, sysctl-файлы, кроны, UFW-правило VPN-порта и UFW-правило маршрутизации `awg0`. UFW отключает и Fail2Ban удаляет только если сам их включал/ставил; если UFW был активен до установки, добавленное правило SSH rate-limit остаётся. Не возвращает: swap и удалённые пакеты.
Пошаговые детали - в [ADVANCED.md](ADVANCED.md), модель угроз - в [SECURITY.md](SECURITY.md).
Неинтерактивная установка (для автоматизации)
```bash
sudo bash ./install_amneziawg.sh --yes --route-all
```
Все параметры принимаются автоматически. Подробнее: [ADVANCED.md#cli-params-adv](ADVANCED.md#cli-params-adv)
### 🎯 Выберите свой случай
| Ваша ситуация | Что добавить |
|---|---|
| Обычный дешёвый VPS, просто нужен VPN | Ничего - команда выше уже всё делает |
| Мобильный интернет, DPI режет (ТСПУ, Иран, школа или корпоратив) | При установке добавьте `--preset=mobile` ([проверенные операторы](#operatory)) |
| ARM: Raspberry Pi, Oracle Ampere, Hetzner CAX | Та же команда - готовые ARM-модули ядра выберутся автоматически ([детали](INSTALL_VPS.md)) |
| Доступ другу или гостю на время | После установки: `manage_amneziawg.sh add guest --expires=7d` |
---
Зачем это нужно •
AWG vs WG •
CLI vs панели •
Похожие инструменты •
Быстрый старт •
Что умеет •
Операторы •
Требования •
Хостинг •
Установка •
После установки •
Управление •
Дополнительно •
FAQ •
Устранение неполадок •
Экосистема •
Лицензия
## 💡 Зачем это нужно
[AmneziaWG](https://github.com/amnezia-vpn) - форк WireGuard с обфускацией трафика. Обфускация делает трафик трудноотличимым от случайного шума для систем DPI, поэтому там, где обычный WireGuard детектируют и блокируют, AmneziaWG обычно продолжает работать.
Этот набор скриптов превращает чистый VPS в готовый VPN-сервер. Не нужны знания Linux - скрипт сам настроит firewall, оптимизирует систему, создаст конфиги и QR-коды для клиентов.
Сервер настраивается под одну задачу - VPN: лишние пакеты убираются, ядро, сеть и swap тюнингуются под железо, включаются firewall и базовая защита. AmneziaWG работает в ядре, поэтому накладных расходов почти нет - быстро и экономно. Поставил один раз для дома или семьи и забыл: добавить друга или новое устройство через месяц - минута, конфиг и QR готовятся одной командой.
Работает на Ubuntu 24.04/25.10/26.04 и Debian 12/13. Хватит любого дешёвого VPS с 1 ГБ RAM.
---
## ⚖️ AmneziaWG vs WireGuard
| | WireGuard | AmneziaWG 2.0 |
|---|---|---|
| **Обнаружение DPI** | Детектируется по фиксированным размерам пакетов и magic bytes | Трудно зафингерпринтить - случайные заголовки, padding, имитация протоколов |
| **Блокируется в** | Китай, Россия, Иран, ОАЭ, Туркменистан | Не известно о блокировках (по состоянию на апрель 2026) |
| **Настройка сервера** | Вручную: ключи, iptables, sysctl, systemd | Одна команда, 20 минут, полностью автоматически |
| **Безопасность** | Сами: UFW, Fail2Ban, sysctl | Автоматически: firewall + защита от брутфорса + тюнинг ядра |
| **Управление клиентами** | Ручное редактирование конфигов, рестарт | `add`/`remove`/`list`/`stats` с hot-reload |
| **Временный доступ** | Нет | `--expires=7d` с автоматическим удалением |
| **Требования к серверу** | - | Те же - любой VPS за $3-5/мес, 1 ГБ RAM |
| **Потеря скорости** | Базовая | Минимальная (<2% в типичных тестах) |
> Если WireGuard у вас работает и не блокируется - используйте его. Если блокируется или режется - AmneziaWG 2.0 является прямой заменой.
---
## ⚙️ 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](https://github.com/wiresock/amneziawg-install)** | SSH + bash, опц. нативная веб-панель и обфускация-прокси (Rust) | Нужна веб-панель без Docker или маскировка трафика отдельным сервисом |
| **[wg-easy](https://github.com/wg-easy/wg-easy)** | Docker + веб-интерфейс | Домашние боксы, на которых уже крутится Docker; нужна панель для клиентов |
| **[spcfox/amnezia-wg-easy](https://github.com/spcfox/amnezia-wg-easy)** | Docker-форк wg-easy | Те, кто уже на wg-easy и хочет именно AmneziaWG вместо обычного WireGuard |
| **[Amnezia VPN](https://amnezia.org/)** | Десктоп/моб GUI, разворачивает сервер в Docker по SSH | Установка кликами без терминала; нужен графический клиент |
**Быстрый выбор:**
* Часто заводишь и меняешь клиентов, удобнее мышкой в браузере - веб-панель: **wiresock** (нативная, без Docker) или **wg-easy** (Docker). Учти: панель - это лишний постоянно работающий сервис, открытый порт и расход ресурсов сервера; для режима «поставил и забыл» это ненужная нагрузка.
* Дешёвый или слабый VPS, ARM (Raspberry Pi, Oracle Ampere) - **этот установщик** с готовыми prebuilt'ами, без ожидания сборки модуля.
* Импорт в телефон одним тапом (QR или `vpn://`), клиенты по сроку (`--expires`), пресеты под мобильных операторов - **этот установщик**.
* Установка мышкой без терминала - десктоп-клиент **Amnezia VPN**.
**Когда этот проект - не лучший выбор:**
* Часто заводишь и меняешь клиентов и хочется браузерную панель - возьми **wiresock** или **wg-easy**. Здесь панели нет осознанно: если клиенты меняются изредка, постоянно работающая панель только ест ресурсы сервера, а управление и так делается из CLI (`manage` add/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, офлоады NIC, включает BBR - вытягивает из тарифа максимум. Официальное приложение разворачивает контейнеры и сам сервер не оптимизирует и не настраивает.
* **Меньше поверхность атаки.** Лишние пакеты и службы вырезаются, на сервере остаётся одна задача - VPN. Сверху UFW deny-all, Fail2Ban, строгие права на файлы и sysctl-хардненинг.
* **Тонкая настройка обфускации.** Пресет для мобильных сетей (`--preset=mobile`), прямой доступ к параметрам AmneziaWG 2.0 и полевые данные по операторам и DPI - можно подстроить под конкретную сеть или оператора.
* **Headless и автоматизация.** Одна SSH-команда, все параметры флагами, управление клиентами из CLI, гости по сроку (`--expires`), импорт по QR или `vpn://`, готовые сборки под ARM.
Протокол и стойкость к DPI при этом одинаковые - под капотом тот же AmneziaWG 2.0. Код открыт под MIT, это читаемый bash, его можно просмотреть перед запуском, на нём 800+ автотестов. Ставится тот же upstream AmneziaWG - это автоматизация и тюнинг сервера, а не форк протокола.
Подробное сравнение: [amneziawg-installer и официальное приложение Amnezia](https://bivlked.github.io/amneziawg-installer/ru/compare/).
---
## ✨ Что умеет
* **Обход блокировок** - AmneziaWG 2.0 с обфускацией трафика. DPI не детектирует подключение
* **Одна команда - готовый VPN** - от чистого VPS до работающего сервера с клиентскими конфигами и QR-кодами
* **Безопасность из коробки** - UFW, Fail2Ban, sysctl hardening, строгие права доступа (600/700)
* **Удобное управление** - добавление/удаление клиентов, временные клиенты с авто-удалением, статистика, бэкапы
* **Широкая поддержка ОС** - Ubuntu 24.04/25.10/26.04 и Debian 12/13
* **x86_64 и ARM** - облачные VPS, Raspberry Pi 3/4/5, ARM64-серверы (AWS Graviton, Oracle Ampere, Hetzner)
* **Оптимизация для мобильных сетей** - `--preset=mobile` для Tele2, Yota, Мегафон и других операторов с DPI-блокировками. Тонкая настройка через `--jc`, `--jmin`, `--jmax` ([подробнее](ADVANCED.md#presets-adv))
* **Опциональный dual-stack IPv6** - флаг `--allow-ipv6-tunnel` добавляет IPv6 внутри туннеля рядом с IPv4 (по умолчанию выключено, [подробнее](ADVANCED.md#ipv6-tunnel-adv))
Все возможности
* Нативная генерация ключей и конфигов через `awg` - без Python и внешних зависимостей
* Hardware-aware оптимизация: swap, NIC offloads, сетевые буферы на основе характеристик сервера
* DKMS - автоматическая пересборка модуля ядра при обновлении
* `vpn://` URI для импорта в Amnezia Client одним тапом (`.vpnuri` файлы)
* Статистика трафика по клиентам (`stats`, `stats --json`)
* Временные клиенты с авто-удалением (`--expires=1h`, `7d`, `4w` и др.)
* Диагностический отчёт (`--diagnostic`) и полная деинсталляция (`--uninstall`)
* Логирование всех действий в `/root/awg/`
* Возобновление установки после перезагрузки - скрипт продолжит с нужного шага
* Выбор порта, подсети, режима IPv6 и маршрутизации. Поддержка `--endpoint` для серверов за NAT
---
## 📡 С какими операторами проверено
Если VPN нестабилен через мобильный интернет, запускайте установку с `--preset=mobile`. Ниже - рабочие конфигурации по отчётам пользователей из issues и discussions (не гарантия: блокировки и параметры операторов меняются со временем):
- **Yota** - Москва, `--preset=mobile`
- **Tele2** - Москва (`--preset=mobile`); Красноярск (`--preset=mobile`; в майскую волну 2026 заработал `I1=`)
- **Таттелеком / Летай** - Татарстан, `--preset=mobile`
- **Мегафон** - регионы, `--preset=mobile` + удалить параметр `I1`
- **Билайн** - дефолтный preset, флаги не нужны
- **Домашний/проводной интернет** - дефолт, как правило, «из коробки»
Вашего оператора нет в списке? Попробуйте `--preset=mobile`. Не помогло - заведите тред в [Discussions](https://github.com/bivlked/amneziawg-installer/discussions) или [Issues](https://github.com/bivlked/amneziawg-installer/issues), добавлю в список.
> Полная таблица операторских параметров (Jc, Jmin, Jmax, I1) - в [ADVANCED.md → FAQ «через мобильную сеть»](ADVANCED.md#faq-advanced-adv). Точечная настройка через `--jc`/`--jmin`/`--jmax` - в [ADVANCED.md → Presets](ADVANCED.md#presets-adv).
---
## 🖥️ Требования
* **ОС:** **Чистая** установка **Ubuntu Server 24.04 LTS** / **Ubuntu 25.10** / **Ubuntu 26.04** / **Debian 12** / **Debian 13** Minimal
* **Доступ:** Права `root` (через `sudo`)
* **Интернет:** Стабильное подключение
* **Ресурсы:** 512 МБ ОЗУ минимум, рекомендуется 1 ГБ (комфортно 2+ ГБ); минимум ~2 ГБ диска (рекомендуется 3+ ГБ)
* **SSH:** Доступ по SSH
**Совместимость ОС:**
| ОС | Статус | Примечание |
|----|--------|------------|
| Ubuntu 24.04 LTS | ✅ Полная поддержка | Рекомендуется |
| Ubuntu 25.10 | ✅ Поддерживается | PPA `noble` fallback применяется автоматически с v5.13.0 |
| Ubuntu 26.04 | ✅ Поддерживается | PPA `noble` fallback применяется автоматически с v5.13.0 |
| Debian 12 (bookworm) | ✅ Поддержка | Протестировано. PPA через маппинг codename на focal |
| Debian 13 (trixie) | ✅ Поддержка | Протестировано. PPA через маппинг codename на noble, DEB822 |
**Поддержка архитектур (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` **до** запуска установки.
**Клиенты:**
* **Все платформы:** [Amnezia VPN](https://github.com/amnezia-vpn/amnezia-client/releases) **>= 4.8.12.7** - полнофункциональный VPN-клиент с AWG 2.0. Импорт через `vpn://` URI
* **Windows:** [AmneziaWG](https://github.com/amnezia-vpn/amneziawg-windows-client/releases) **>= 2.0.0** - легковесный tunnel manager с AWG 2.0. Импорт через `.conf` файлы
> [Полная таблица совместимости клиентов →](ADVANCED.md#client-compat-adv)
---
## 🚀 Рекомендация хостинга
Для стабильной работы VPN-сервера с высокой пропускной способностью важен надежный хостинг с хорошим каналом.
**На что смотреть при выборе VPS под VPN:**
- IP-адреса, не помеченные как датацентровые - меньше риск блокировок по диапазону.
- Большой или неограниченный трафик и канал от 1 Гбит/с.
- Поддержка нужной ОС (Ubuntu 24.04+ / Debian 12+) и root-доступ.
Опробовал и рекомендую [**FreakHosting**](https://freakhosting.com/clientarea/aff.php?aff=392). В частности, их линейка **BUDGET VPS** предлагает отличное соотношение цены и качества.
Их IP-адреса не идентифицируются, как адреса датацентров и не попадают под блокировки по признаку «IP принадлежит хостинг-провайдеру» (в отличие, например, от Azure и некоторых крупных облаков).
* **Рекомендуемый тариф:** **BVPS-2**
* **Характеристики:** 2 vCPU, 2 GB RAM, 40 GB NVMe SSD.
* **Ключевое преимущество:** порт **10 Gbps** с **неограниченным трафиком**. Идеально для VPN!
* **Цена:** Всего **€25 в год** (около 2200 руб.; на момент проверки, цена может меняться).
Этой конфигурации более чем достаточно для комфортной работы AmneziaWG с большим количеством подключений и высоким трафиком.
---
## 🔧 Установка (Рекомендуемый способ)
Этот метод установки гарантирует корректную работу интерактивных запросов и цветного вывода в вашем терминале.
1. **Подключитесь** к **чистому** серверу (Ubuntu 24.04 / Ubuntu 25.10 / Ubuntu 26.04 / Debian 12 / Debian 13) по SSH.
> **Совет:** После создания сервера подождите 5-10 минут, чтобы завершились все фоновые процессы инициализации системы, прежде чем запускать установку.
2. **Скачайте скрипт:**
```bash
wget -O install_amneziawg.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg.sh
# или: curl -fLo install_amneziawg.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg.sh
```
> На минимальном Debian curl может отсутствовать (wget обычно есть) - используйте `wget`. Сам curl установщик доставит на шаге 1.
3. **Сделайте его исполняемым:**
```bash
chmod +x install_amneziawg.sh
```
4. **Запустите с `sudo`:**
```bash
sudo bash ./install_amneziawg.sh
```
*(Вы также можете передать параметры командной строки, см. `sudo bash ./install_amneziawg.sh --help` или [ADVANCED.md#install-cli-adv](ADVANCED.md#install-cli-adv))*
> **English version:** Для вывода на английском используйте `install_amneziawg_en.sh`:
> ```bash
> wget -O install_amneziawg_en.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg_en.sh
> sudo bash ./install_amneziawg_en.sh
> ```
> Английская версия функционально идентична; только сообщения и логи на английском.
> После перезагрузки продолжайте тем же файлом: `sudo bash ./install_amneziawg_en.sh`
5. **Начальная настройка:** Скрипт интерактивно запросит:
* **UDP порт:** Порт для подключения клиентов (1024-65535). По умолчанию: `39743`.
* **Подсеть туннеля:** Внутренняя сеть для VPN. По умолчанию: `10.9.9.1/24`.
* **Отключение IPv6:** Рекомендуется отключить (`Y`) для избежания утечек трафика.
* **Режим маршрутизации:** Определяет, какой трафик пойдет через VPN. По умолчанию `2` (Список Amnezia+DNS) - рекомендуется для лучшей совместимости и обхода блокировок.
Параметры AWG 2.0 (Jc, S1-S4, H1-H4, I1) генерируются **автоматически** - никаких действий не требуется.
6. **Перезагрузки:** Потребуется **ДВЕ** перезагрузки. Скрипт запросит подтверждение `[y/N]`. Введите `y` и нажмите Enter.
7. **Продолжение:** После каждой перезагрузки **снова запустите скрипт** той же командой:
```bash
sudo bash ./install_amneziawg.sh
```
Скрипт автоматически продолжит с нужного шага **без повторных запросов**.
8. **Завершение:** После второй перезагрузки и третьего запуска скрипта вы увидите сообщение:
`Установка и настройка AmneziaWG 2.0 УСПЕШНО ЗАВЕРШЕНА!`
---
## 📦 После установки
**Где найти файлы клиентов:**
| Файл | Путь | Назначение |
|------|------|------------|
| `.conf` | `/root/awg/имя.conf` | Конфигурация для импорта в клиент |
| `.png` | `/root/awg/имя.png` | QR-код для мобильных устройств |
| `.vpnuri` | `/root/awg/имя.vpnuri` | `vpn://` URI для Amnezia Client |
**Скачать конфиг на компьютер:**
```bash
scp root@IP_СЕРВЕРА:/root/awg/my_phone.conf .
```
Импорт в Amnezia VPN (телефон) через vpn:// URI
1. На сервере выполните: `cat /root/awg/my_phone.vpnuri`
2. Скопируйте текст и отправьте себе (Telegram, почта и т.д.)
3. На телефоне: Amnezia VPN → «Добавить VPN» → «Вставить из буфера»
Импорт через QR-код
1. Скачайте QR-код: `scp root@IP_СЕРВЕРА:/root/awg/my_phone.png .`
2. Откройте файл на экране компьютера
3. На телефоне: Amnezia VPN → «Добавить VPN» → «Сканировать QR-код»
Импорт в AmneziaWG for Windows
1. Скачайте `.conf` файл на компьютер через `scp` или `sftp`
2. 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` для управления пользователями скачивается автоматически.
**Использование:**
```bash
sudo bash /root/awg/manage_amneziawg.sh <команда> [аргументы]
```
Полный список - `... help` или [ADVANCED.md#manage-commands-adv](ADVANCED.md#manage-commands-adv).
**Повседневные команды:**
| Команда | Аргументы | Описание | Перезапуск? |
| :-------- | :--------------------- | :--------------------------- | :-----------: |
| `add` | `<имя> [имя2 ...] [--expires=ВРЕМЯ]` | Добавить клиента(ов) (опц. с истечением) | Нет (авто) |
| `remove` | `<имя> [имя2 ...]` | Удалить клиента(ов) | Нет (авто) |
| `list` | `[-v] [--json]` | Список клиентов (`-v` детали, `--json` машиночитаемый с `client_ipv6`) | Нет |
| `show` | | Статус `awg show` | Нет |
| `stats` | `[--json]` | Статистика трафика по клиентам | Нет |
**Обслуживание и восстановление:**
| Команда | Аргументы | Описание | Перезапуск? |
| :-------- | :--------------------- | :--------------------------- | :-----------: |
| `regen` | `[имя_клиента]` | Переген. файлы (всех/одного) | Нет |
| `modify` | `<имя> <пар> <зн>` | Изменить параметр клиента | Нет |
| `backup` | | Создать резервную копию | Нет |
| `restore` | `[файл]` | Восстановить из резервной копии | Нет |
| `check` | | Проверка состояния сервера | Нет |
| `diagnose`| `[--carrier=ИМЯ]` | Диагностика (опц. под оператора) | Нет |
| `repair-module` | | Пересобрать модуль ядра (DKMS) | Да |
| `restart` | | Перезапуск сервиса AmneziaWG | - |
> **💡 Примечание:** Команды `add` и `remove` автоматически применяют изменения через `awg syncconf` - перезапуск сервиса не требуется.
### 📌 Краткая справка
```bash
# Установка (русский)
wget -O install_amneziawg.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg.sh
sudo bash ./install_amneziawg.sh # Запуск (+ 2 перезагрузки)
# Установка (English)
wget -O install_amneziawg_en.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/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 # Перезапуск
```
---
## ℹ️ Дополнительная информация
Более подробную информацию о деталях конфигурации, настройках безопасности, параметрах AWG 2.0, дополнительных командах управления, технических деталях и ответах на другие вопросы вы можете найти в файле **[ADVANCED.md](ADVANCED.md)**.
Историю изменений смотрите в **[CHANGELOG.md](CHANGELOG.md)**.
Планы развития и приоритеты - в **[docs/ROADMAP.md](docs/ROADMAP.md)**.
Каскад из двух серверов с раздельным выходом российского и зарубежного трафика (split-tunnel) - в **[CASCADE.md](CASCADE.md)**.
---
## ❓ FAQ (Основные вопросы)
> **В разделе:** установка и обновление, подключение клиентов, мобильные сети, выбор хостинга и перенос, безопасность и параметры. Разверните нужный вопрос ниже.
В: Будет ли работать после обновления ядра?
О: Да, DKMS должен автоматически пересобрать модуль. Проверьте dkms status.
В: Как полностью удалить 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. Убедитесь, что клиент поддерживает AWG 2.0: Amnezia VPN >= 4.8.12.7 или AmneziaWG >= 2.0.0.
В: Handshake проходит, но трафик не идёт - что не так?
О: Частая причина - split-tunneling AllowedIPs gotcha при ручной правке. Если хочешь пинговать/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.
В: Можно сделать так, чтобы российский трафик шёл напрямую, а остальное - через заграницу?
О: Да, через каскад из двух серверов: клиент подключается к серверу-входу (лучше в РФ), российский трафик уходит в интернет напрямую с него, остальное - через второй сервер за границей. Деление на стороне сервера, на клиенте ничего особого настраивать не нужно. Пошаговая инструкция - в CASCADE.md.
В: Можно ли использовать с AWG 1.x клиентами?
О: Нет. AWG 2.0 несовместим с AWG 1.x. Все клиенты должны поддерживать протокол 2.0. Для AWG 1.x используйте ветку legacy/v4.
В: Ошибка импорта конфига «Неверный ключ: s3» - что делать?
О: Вы используете устаревшую версию amneziawg-windows-client (< 2.0.0). Обновите до версии 2.0.0+, которая поддерживает AWG 2.0. Альтернатива - Amnezia VPN >= 4.8.12.7.
В: Как обновить скрипты до новой версии?
О: Скачайте новый скрипт установки и замените скрипты управления на сервере:
# Русская версия:
wget -O /root/awg/manage_amneziawg.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/manage_amneziawg.sh
wget -O /root/awg/awg_common.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/awg_common.sh
chmod 700 /root/awg/manage_amneziawg.sh /root/awg/awg_common.sh
# Английская версия:
wget -O /root/awg/manage_amneziawg.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/manage_amneziawg_en.sh
wget -O /root/awg/awg_common.sh https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/awg_common_en.sh
chmod 700 /root/awg/manage_amneziawg.sh /root/awg/awg_common.sh
Переустановка сервера не требуется.
В: Какое максимальное количество клиентов?
О: Подсеть /24 позволяет до 253 клиентов (.2 - .254), что достаточно для большинства сценариев.
В: Какой хостинг подходит?
О: Любой VPS с Ubuntu 24.04 LTS / Ubuntu 25.10 / Ubuntu 26.04 / Debian 12 / Debian 13, 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). Дефолтный режим маршрутизации начинался с 0.0.0.0/5 - на iOS этот блок ломал весь список маршрутов, и туннель вставал примерно через 10 секунд. На уже установленном сервере проще всего поставить в конфиге iOS-клиента AllowedIPs = 0.0.0.0/0 (обычная переустановка с --force сохранённый список не меняет). Точечная правка с сохранением split-tunnel - в ADVANCED.md.
В: Почему порт 39743?
О: Это случайный порт из верхнего диапазона, выбранный как дефолт. Можно изменить при установке: --port=XXXXX (любой порт 1024-65535).
В: Нужен ли Perl на сервере?
О: Perl используется опционально для генерации vpn:// URI (.vpnuri файлов). Если Perl отсутствует, .conf файлы создаются как обычно - ими можно пользоваться через импорт файла или QR-код. На Ubuntu и Debian Perl установлен по умолчанию.
В: Безопасно ли запускать скрипт повторно?
О: Да. Повторная установка поверх уже работающего сервиса требует флага --force (или AWG_FORCE_REINSTALL=1) - без него скрипт сообщит, что AmneziaWG уже установлен, и ничего не тронет. С --force серверный конфиг пересоздаётся, но существующие клиенты автоматически восстанавливаются из бэкапа: дефолтные клиенты (my_phone, my_laptop) пересоздаются, остальные - сохраняются.
> Больше ответов и решений см. в **[ADVANCED.md](ADVANCED.md)**.
---
## 🛠️ Устранение неполадок
1. **Логи:** `/root/awg/install_amneziawg.log`, `/root/awg/manage_amneziawg.log`
2. **Статус сервиса:** `sudo systemctl status awg-quick@awg0`
3. **Статус AmneziaWG:** `sudo awg show`
4. **Статус UFW:** `sudo ufw status verbose`
5. **Диагностический отчет:** `sudo bash ./install_amneziawg.sh --diagnostic`
Подробное описание содержимого отчета см. в [ADVANCED.md](ADVANCED.md#diagnostic-report-adv).
---
## 🌐 Экосистема
### Клиенты
> **Какой клиент выбрать?** Установите [**Amnezia VPN**](https://github.com/amnezia-vpn/amnezia-client/releases) (>= 4.8.12.7) - работает на всех платформах, поддерживает импорт `vpn://` URI.
> Для легковесного подключения (только `.conf`) используйте **AmneziaWG** для вашей платформы.
| Клиент | Платформа | AWG 2.0 | Тип | Примечание |
|--------|-----------|:-------:|-----|------------|
| **[Amnezia VPN](https://github.com/amnezia-vpn/amnezia-client/releases)** | Windows, macOS, Linux, Android, iOS | ✅ >= 4.8.12.7 | Официальный | **Рекомендуется.** Полнофункциональный, `vpn://` URI |
| [AmneziaWG](https://github.com/amnezia-vpn/amneziawg-windows-client/releases) | Windows | ✅ >= 2.0.0 | Официальный | Легковесный tunnel manager, импорт `.conf` |
| [AmneziaWG](https://github.com/amnezia-vpn/amneziawg-android) | Android | ✅ >= 2.0.0 | Официальный | Легковесный tunnel manager, импорт `.conf` |
| [AmneziaWG](https://apps.apple.com/app/amneziawg/id6478942365) | iOS | ✅ | Официальный | Легковесный tunnel manager, импорт `.conf` |
| [WG Tunnel](https://github.com/wgtunnel/android) | Android | ⚠️ частично | Сторонний, FOSS | Auto-tunneling, split tunnel, F-Droid |
| [VeilBox](https://github.com/artem4150/VeilBox) | Windows, macOS | ✅ | Сторонний, FOSS | Также поддерживает VLESS |
> [Полная таблица совместимости с AWG 1.x →](ADVANCED.md#client-compat-adv)
### Инструменты настройки
| Проект | Описание |
|--------|----------|
| [Junker](https://spatiumstas.github.io/junker/) | Веб-генератор подписей AmneziaWG от @spatiumstas - для ручной настройки без установочного скрипта |
| [AmneziaWG-Architect](https://vadim-khristenko.github.io/AmneziaWG-Architect/) | Веб-генератор CPS/мимикрии для AWG 2.0 от @Vadim-Khristenko ([GitHub](https://github.com/Vadim-Khristenko/AmneziaWG-Architect)) |
### Прошивки для роутеров
| Проект | Платформа | Описание |
|--------|-----------|----------|
| [AWG Manager](https://github.com/hoaxisr/awg-manager) | Keenetic (Entware) | Веб-интерфейс для управления AWG-туннелями на роутерах Keenetic |
| [AmneziaWG for Merlin](https://github.com/r0otx/asuswrt-merlin-amneziawg) | ASUS (Asuswrt-Merlin) | Аддон AWG 2.0 с веб-интерфейсом, GeoIP/GeoSite маршрутизация |
📰 Упоминания
**📖 Гайды и туториалы**
- [Hetzner Community - Making a website accessible from restricted regions](https://community.hetzner.com/tutorials/making-website-accessible-from-restricted-regions) (cross-link в Resources)
- [Debian Forums - HowTo: Install AmneziaWG 2.0 on Debian 12/13](https://forums.debian.net/viewtopic.php?t=166105)
- [LowEndTalk - [Tutorial] One-command AmneziaWG VPN server install on Ubuntu / Debian / ARM](https://lowendtalk.com/discussion/217191)
**📰 Статьи и обзоры**
- [XDA Developers - «I found a self-hosted VPN that works where WireGuard gets blocked»](https://www.xda-developers.com/self-hosted-vpn-works-where-wireguard-gets-blocked/)
- [Pinggy - Top 5 Best Self-Hosted VPNs in 2026](https://pinggy.io/blog/top_5_best_self_hosted_vpns/)
- [gHacks Tech News - AmneziaWG 2.0](https://www.ghacks.net/2026/03/25/amnezia-releases-amneziawg-2-0-to-bypass-advanced-internet-censorship-systems/)
**📋 Каталоги и подборки**
- [VPN Статус - каталог AmneziaWG-сервисов и серверных решений](https://vpnstatus.site/protocols/amneziawg)
- [AlternativeTo - amneziawg-installer (42 альтернативы)](https://alternativeto.net/software/amneziawg-installer/about/)
- [LibHunt - #1 в категории Shell VPN](https://www.libhunt.com/r/amneziawg-installer)
**💬 Форумы и сообщества**
- [Qubes OS Forum - AmneziaWG for censored regions](https://forum.qubes-os.org/t/installation-of-amnezia-vpn-and-amnezia-wg-effective-tools-against-internet-blocks-via-dpi-for-china-russia-belarus-turkmenistan-iran-vpn-with-vless-xray-reality-best-obfuscation-for-wireguard-easy-self-hosted-vpn-bypass/39005)
- [Lemmy.world /c/selfhosted - amneziawg-installer announce (143 upvotes / 39 comments)](https://lemmy.world/post/45242153)
---
## 📝 Лицензия и Автор
* **Автор скриптов:** @bivlked - [GitHub](https://github.com/bivlked)
* **Лицензия:** MIT - свободное ПО с открытым исходным кодом (см. `LICENSE`)
---
Проект пригодился - поставьте ⭐. Так его проще найти другим.
↑ К началу