# AmneziaWG на новом VPS

Генератор одной команды, которая ставит на чистый Ubuntu или Debian модуль AmneziaWG, wg-easy и панель по HTTPS.

Темы: vpn, сервер. Обновлено: 16 октября 2026 г.
Страница: https://iamgreetkukuruzo.ru/m/amneziawg/

На странице генератора заполняешь поля, копируешь одну команду и вставляешь её в SSH под root. Скрипт собирает модуль ядра, ставит Docker, wg-easy с AmneziaWG и панель по HTTPS, а в конце проверяет, что работает именно AmneziaWG, а не обычный WireGuard.

## Поля генератора

IP сервера (пусто — определится сам), домен для панели (пусто — панель по IP), подсеть VPN (по умолчанию `10.72.3.0/24`, у каждого сервера своя), порт UDP (обычно `51820`) и DNS для клиентов (по умолчанию `1.1.1.1,8.8.8.8`).

Пароль от панели в команду не попадает. Сервер придумает его сам, покажет в конце и сохранит в `/root/wg-easy-admin.txt`.

## Как запустить

1. Подключись: `ssh root@IP`. Если зашёл не под root, выполни `sudo -i`.
2. Скопируй команду со страницы генератора, вставь в терминал, нажми Enter.
3. Подожди 5–15 минут.
4. Зайди в панель, нажми «+ New», скачай конфиг и импортируй в приложение AmneziaWG. Обычный WireGuard такой конфиг не примет.

## Что делает скрипт

1. Ждёт, пока система закончит автообновления, и отключает их таймеры.
2. Ставит компилятор, DKMS, git и заголовки текущего ядра.
3. Собирает модуль AmneziaWG из тега `v1.0.20260725` и подключает через DKMS.
4. Ставит Docker, если его нет.
5. Кладёт `/opt/wg-easy/docker-compose.yml` с `EXPERIMENTAL_AWG=true`, `OVERRIDE_AUTO_AWG=awg` и переменными `INIT_*`.
6. Проверяет, что интерфейс `wg0` имеет тип `amneziawg` и у него есть параметры маскировки.
7. Поднимает Caddy в `/opt/caddy` перед панелью.

## Почему так

- В wg-easy 15 зашиты утилиты AmneziaWG линии 1.0. Модуль 3.x с ними несовместим и даёт `Invalid argument`.
- Без модуля wg-easy молча запускает обычный WireGuard, который режется по DPI. Защита — `OVERRIDE_AUTO_AWG=awg` и проверка на шаге 6.
- Штатный healthcheck смотрит через `wg show` и не видит AmneziaWG, поэтому он переписан на `awg show`.
- У wg-easy одна docker-сеть, Caddy подключается к ней сам. Иначе пропадает интернет у клиентов при живом рукопожатии.
- Клиенты подключаются по IP, а не по домену.

## Если что-то пошло не так

| Что видно | Что делать |
| --- | --- |
| Нет заголовков для ядра | `apt-get -y full-upgrade && reboot`, потом запустить команду ещё раз |
| `modprobe`: Key was rejected | Включён Secure Boot, выключить в панели хостера |
| Проверка нашла wireguard вместо amneziawg | `lsmod \| grep amneziawg`, затем `dkms status` |
| Рукопожатие есть, интернета нет | `iptables -t nat -L POSTROUTING -n -v` в контейнере, проверить вторую сеть у wg-easy |
| Панель по домену не открывается | `docker logs caddy`, проверить DNS и 80-й порт |

## Ручная проверка

```bash
docker exec wg-easy ip -d link show wg0 | grep -o amneziawg
docker exec wg-easy awg show
docker ps --format 'table {{.Names}}\t{{.Status}}'
```

В выводе `awg show` должны быть `jc`, `jmin`, `jmax`, `s1`, `s2`, `h1`…`h4`.

## Источники

- [wg-easy: AmneziaWG](https://wg-easy.github.io/wg-easy/latest/advanced/config/amnezia/)
- [wg-easy: установка без мастера](https://wg-easy.github.io/wg-easy/latest/advanced/config/unattended-setup/)
- [Релизы wg-easy](https://github.com/wg-easy/wg-easy/releases)
- [Модуль ядра AmneziaWG](https://github.com/amnezia-vpn/amneziawg-linux-kernel-module)
- [Клиент AmneziaWG для Windows](https://github.com/amnezia-vpn/amneziawg-windows-client/releases)

Версии сверены 16 октября 2026.
