Поделюсь скриптом, который написал для автоматической установки и настройки AmneziaWG 2.0 на выделенном Ubuntu-сервере (24.04 / 25.10). Рассчитан на тех, кто хочет быстро поднять VPN одной командой на чистом сервере без глубоких знаний Linux, не упустив при этом важных моментов.
Что делает
Полная установка AmneziaWG 2.0 с нуля (PPA, DKMS, ядерный модуль)
Наоборот, наконец-то что-то бездокерное! Прям огромный респект. Как кто-то в issues уже написал, тоже жду адаптацию под debian, понятно что мы вычищаем убунту от всякого, но (имхо) убунту всю не вычистить.
Немного не понятна сложность с ppa’шками от убунты для дебиана, у амнезии же прописано в мануале, добавляем репы, добавляем ключи и точно такой же apt install amnezia.
Еще как пожелание изобрести ключ установки “без всего”, ну или, придумать как подсасывать конфиги. Конкретно чего хочется: настроил сервер А, с него манипулирую ключами, пользователями. Хочу сделать зеркальный сервер Б, да что бы конфиги синхронились rsync’ом (это уже самостоятельно) <= и вот для такого кейса сделать условный install_amneziawg.sh –empty который всё поставит, но ничего не настроит и в конце установки скажет: “положи папки /etc/amneziawg и /root/awg на место и перезагрузи сервер” и со следующего ребута бац, и у тебя зеркальный сервер (окей, айпишник endpoint’а нужно будет поменять руками, не проблема. Либо предусмотреть прописывание доменного имени, что бы при двух фулл-зеркальных серверов оставалось только A-запись махнуть если что-то с сервером А пойдет не так)
Мусор улетает только при подключении, несколько пакетов и всё, дальше обычный трафик. После handshake каждый пакет с рандомным заголовком и размером, фиксированного паттерна нет. Шифрованный UDP на один IP это нормальная история, так любой видеозвонок выглядит.
По прашкам - PPA это Launchpad, там только Ubuntu codenames. Для Debian пришлось маппить: bookworm→focal, trixie→noble. Плюс Debian 12 ещё на старом .list формате, а 13-й уже на DEB822, linux-headers называются иначе, snapd/cloud-init нет - пришлось обернуть cleanup чтобы не падал. Мелочей набралось, но всё решаемо.
По --empty - пока такого нет. Но можно через backup/restore: ставишь на первом сервере, manage_amneziawg.sh backup, скидываешь tar.gz на второй, там обычная установка (–yes для неинтерактива) и manage_amneziawg.sh restore. Подхватит конфиги, ключи, клиентов.
С Endpoint нюанс - инсталлятор прописывает IP автоматически. Для failover через DNS нужно руками заменить на домен в клиентских конфигах. Поддержку домена при установке тоже можно добавить.