Установка серверной части AmneziaWG на Ubuntu/Debian VPS
В прошлой статье мы разобрали, как AmneziaWG обманывает DPI с помощью шумовых пакетов, мимикрии под QUIC и шифрования заголовков. Теперь — практика. Будем поднимать сервер.
Хорошая новость: вам не нужен мощный VPS. AmneziaWG работает на модуле ядра Linux, а значит, потребляет минимум ресурсов. Хватит самого дешёвого сервера за 2–4 $ в месяц с 1 vCPU и 512 МБ ОЗУ. Если планируете подключать много клиентов или гонять 4K-видео — берите 1 ГБ ОЗУ для комфорта.
Что понадобится
- VPS с Ubuntu 24.04 LTS, Ubuntu 22.04 или Debian 12/13. Поддерживаются и другие версии, но на этих всё проверено.
- Доступ по SSH с правами root (или sudo).
- 2 ГБ свободного места на диске — минимум. Лучше 3+.
- 15–20 минут времени.
Шаг 1. Подготовка сервера
Подключитесь к VPS по SSH и обновите систему:
apt update && apt upgrade -y
Установите базовые утилиты, которые могут понадобиться:
apt install -y curl wget git ufw
Шаг 2. Установка AmneziaWG (автоматический скрипт)
Самый простой и надёжный способ — использовать скрипт от сообщества bivlked. Он автоматически установит модуль ядра через DKMS (это значит, что при обновлении ядра модуль пересоберётся сам), настроит сеть, firewall и параметры оптимизации.
Выполните одну команду:
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. По умолчанию 51820, но лучше выбрать случайный в диапазоне 10000–65535. Провайдеры реже блокируют нестандартные порты.
- Подсеть туннеля. Оставьте
10.8.0.0/24— этого хватит на 253 клиента. - DNS для клиентов. Рекомендую
1.1.1.1(Cloudflare) или9.9.9.9(Quad9). - Параметры обфускации. Согласитесь на автоматическую генерацию — скрипт подберёт значения под ваш сервер.
После завершения скрипт покажет:
- Путь к серверному конфигу:
/etc/amnezia/amneziawg/awg0.conf - Команду для управления клиентами:
sudo bash /root/awg/manage_amneziawg.sh - Публичный ключ сервера (понадобится клиентам).
Что делает скрипт «под капотом»
Для тех, кто хочет понимать, а не просто нажимать кнопки:
- Добавляет PPA-репозиторий Amnezia и устанавливает модуль ядра
amneziawgчерез DKMS. - Включает IP-форвардинг — без него клиенты не смогут выходить в интернет через сервер.
- Настраивает iptables NAT (правило MASQUERADE) — подменяет внутренние IP клиентов на IP сервера.
- Включает BBR — алгоритм контроля перегрузки TCP от Google, который значительно ускоряет передачу на «шумных» каналах.
- Создаёт systemd-сервис
awg-quick@awg0для автозапуска при загрузке.
Шаг 3. Проверка работоспособности
Убедитесь, что сервис запущен:
systemctl status awg-quick@awg0
Должно быть active (running). Затем проверьте, что интерфейс поднялся:
awg show
Вы увидите интерфейс awg0 с публичным ключом, портом и (пока пустым) списком пиров.
Шаг 4. Создание клиента и получение конфигурации
AmneziaWG, в отличие от Marzban, не имеет веб-панели. Управление клиентами — через скрипт manage_amneziawg.sh.
Создайте первого клиента:
sudo bash /root/awg/manage_amneziawg.sh add laptop
Скрипт сгенерирует:
- Файл конфигурации
/root/awg/laptop.conf— для импорта в приложение AmneziaWG или WireGuard. - QR-код
/root/awg/laptop.png— для быстрого подключения с телефона. - vpn://-ссылку и второй QR-код — для импорта в фирменное приложение Amnezia VPN (Android/iOS/Desktop) в один клик.
Шаг 5. Защита сервера (UFW + Fail2Ban)
Откройте порт AmneziaWG и SSH:
ufw allow 22/tcp
ufw allow 51820/udp
ufw enable
Замените 51820 на тот порт, который вы выбрали при установке.
Установите Fail2Ban — он будет банить IP-адреса после нескольких неудачных попыток входа по SSH:
apt install -y fail2ban
systemctl enable --now fail2ban
Ручная настройка: для тех, кто хочет контролировать всё
Если вы предпочитаете не использовать скрипты (или разворачиваете AmneziaWG в LXC-контейнере, где DKMS не работает), вот минимальный рабочий awg0.conf для AmneziaWG 2.0:
[Interface]
PrivateKey = <SERVER_PRIVATE_KEY>
Address = 10.9.9.1/24
ListenPort = 51820
MTU = 1280
Jc = 4
Jmin = 40
Jmax = 90
S1 = 50
S2 = 40
S3 = 12
S4 = 8
H1 = 1234567
H2 = 2345678
H3 = 3456789
H4 = 4567890
Ключевые моменты:
- Все 11 параметров обфускации обязательны для AWG 2.0. Если хоть один пропущен — handshake не пройдёт.
- S3 и S4 появились в AWG 2.0. В старых конфигах AWG 1.x их может не быть — добавьте вручную.
- H1–H4 могут быть диапазонами (например,
H1 = 100000-200000). Диапазоны не должны пересекаться, а верхняя граница — не выше 2147483647 (INT32_MAX). - MTU 1280 — безопасное значение для мобильных сетей. Для проводных можно поднять до 1420, но если интернет нестабильный — оставьте 1280.
Тонкая настройка обфускации
Если стандартные параметры не работают на вашем операторе, вот проверенные комбинации:
🔧 Пресеты обфускации
| Оператор | Jc | Jmin | Jmax | Примечание |
|---|---|---|---|---|
| МТС | 6 | 50 | 1000 | Работает стабильно |
| Tele2 / Yota | 3 | 40 | 100 | Мягкий режим, лучше для мобильных |
| Мегафон | 4 | 55 | 205 | Средний режим |
| Универсальный | 4 | 40 | 90 | Хороший старт |
После изменения параметров в awg0.conf перезапустите сервис и перегенерируйте конфиги клиентов:
sudo systemctl restart awg-quick@awg0
sudo bash /root/awg/manage_amneziawg.sh regen laptop
Частые проблемы и решения
| Симптом | Причина | Решение |
|---|---|---|
| Handshake не проходит | Порт закрыт в UFW или не совпадают ключи | ufw status → проверить UDP-порт. Сравнить ключи в awg show и клиентском конфиге |
| Подключается, но нет интернета | Не включён IP-форвардинг или NAT | sysctl net.ipv4.ip_forward должен быть 1. Проверить iptables -t nat -L |
| Низкая скорость | Не включён BBR или большой MTU | sysctl net.ipv4.tcp_congestion_control → должно быть bbr. Снизить MTU до 1280 |
| Работает с Wi-Fi, но не с LTE | Оператор режет нестандартный UDP | Сменить порт на 443/UDP или добавить I1-пакеты с мимикрией под QUIC[reference:15] |
Что дальше
Сервер работает, клиенты подключаются. Но это — «голый» AmneziaWG. В следующих статьях цикла мы разберём:
- Интеграцию с Marzban — чтобы управлять пользователями из привычной панели.
- Настройку на роутерах Keenetic и OpenWrt — для защиты всей домашней сети.
- Диагностику — как читать логи и находить проблемы.
➤ Следующая статья: «Настройка клиентов AmneziaWG (Windows, macOS, Android, iOS)»
📚 Это часть цикла «AmneziaWG: полное руководство». Смотрите все статьи цикла.
Комментарии
Отправить комментарий