кукурузо

AmneziaWG на новом VPS

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

vpn, сервер, 16 октября 2026 г.

Генератор команды

Пароль от панели в команду не попадает. Сервер придумает его сам, покажет в конце и сохранит в /root/wg-easy-admin.txt.

Показать команду целиком

На странице генератора заполняешь поля, копируешь одну команду и вставляешь её в 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 перед панелью.

Почему так

Если что-то пошло не так

Что видно Что делать
Нет заголовков для ядра 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-й порт

Ручная проверка

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.

Источники

Версии сверены 16 октября 2026.