🔐 AmneziaWG на Debian 12

Полная, проверенная инструкция по установке сервера AmneziaWG. Без лишних движений — только то, что реально работает.

✅ Проверено лично 🐧 Debian 12 Bookworm ⚡ amneziawg 1.0+
⚠️ Важно: Стандартные скрипты установки часто ломаются на Debian 12 из-за неправильного добавления PPA и отсутствия заголовков ядра. Эта инструкция обходит все грабли.

🚀 Скрипт автоматической установки

Скопируй этот код в файл install-awg-debian.sh и запусти. Он сам обновит ядро, перезагрузится (если нужно), установит заголовки и репозиторий.

#!/bin/bash # AmneziaWG installer for Debian 12 # Run as root: bash install-awg-debian.sh set -e RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m' echo -e "${GREEN}========================================${NC}" echo -e "${GREEN}AmneziaWG Server Installer for Debian 12${NC}" echo -e "${GREEN}========================================${NC}" if [[ $EUID -ne 0 ]]; then echo -e "${RED}This script must be run as root!${NC}"; exit 1 fi if [[ ! -f /etc/debian_version ]] || [[ $(cat /etc/debian_version | cut -d. -f1) != "12" ]]; then echo -e "${YELLOW}Warning: This script is designed for Debian 12. Continue? (y/n)${NC}" read -r response; if [[ ! "$response" =~ ^[Yy]$ ]]; then exit 1; fi fi echo -e "${GREEN}[1/7] Updating system and installing new kernel...${NC}" apt update; apt upgrade -y if [ -f /var/run/reboot-required ]; then echo -e "${YELLOW}New kernel installed. System needs to reboot.${NC}" echo -e "Press any key to reboot now..." read -n 1 -s; reboot; exit 0 fi echo -e "${GREEN}[2/7] Installing build tools and kernel headers...${NC}" apt install -y build-essential linux-headers-amd64 gnupg2 curl KERNEL_VERSION=$(uname -r) echo -e "${GREEN}Current kernel version: ${KERNEL_VERSION}${NC}" if [ ! -d "/usr/src/linux-headers-${KERNEL_VERSION}" ]; then apt install -y linux-headers-${KERNEL_VERSION} if [ ! -d "/usr/src/linux-headers-${KERNEL_VERSION}" ]; then echo -e "${RED}Failed to install headers.${NC}"; exit 1 fi fi echo -e "${GREEN}[3/7] Adding AmneziaWG repository...${NC}" rm -f /etc/apt/sources.list.d/amnezia*.list 2>/dev/null || true apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4166F2C257290828 echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amneziawg.list echo -e "${GREEN}[4/7] Updating package list...${NC}" apt update echo -e "${GREEN}[5/7] Installing AmneziaWG packages...${NC}" apt install -y amneziawg amneziawg-tools if ! command -v awg &> /dev/null; then echo -e "${RED}AmneziaWG installation failed!${NC}"; exit 1 fi echo -e "${GREEN}[6/7] Enabling IP forwarding...${NC}" echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-awg.conf echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.d/99-awg.conf sysctl -p /etc/sysctl.d/99-awg.conf echo -e "${GREEN}[7/7] Downloading server setup script...${NC}" [ -f amneziawg-install.sh ] && mv amneziawg-install.sh amneziawg-install.sh.bak curl -O https://raw.githubusercontent.com/Varckin/amneziawg-install/main/amneziawg-install.sh chmod +x amneziawg-install.sh echo -e "${GREEN}Installation completed successfully!${NC}" echo "" echo -e "${YELLOW}Next steps:${NC}" echo -e "1. Run: ${GREEN}./amneziawg-install.sh${NC}" echo "" echo -e "Press any key to start the server setup now..." read -n 1 -s ./amneziawg-install.sh

📦 Как использовать

1️⃣ Создай файл install-awg-debian.sh и вставь туда код выше.
nano install-awg-debian.sh
chmod +x install-awg-debian.sh
2️⃣ Запусти скрипт от root.
./install-awg-debian.sh
🔄 Перезагрузка: Если установилось новое ядро, скрипт сам перезагрузит сервер. После перезагрузки просто запусти этот же скрипт снова — он продолжит с того места, где остановился.
3️⃣ После завершения автоматически запустится amneziawg-install.sh — интерактивная настройка сервера. Отвечай на вопросы:
ПараметрЧто отвечать
Public IPv4/IPv6Оставь по умолчанию (Enter)
ПортОбычно 8443 (Enter)
DNS1.1.1.1 (Enter) или свои
AllowedIPs0.0.0.0/0,::/0 (Enter)
Jc, Jmin, Jmax, S1, S2, H1..H4Просто Enter — значения по умолчанию отличные

В конце скрипт предложит создать первого клиента. Введи имя (например, phone или laptop) — получишь готовый конфиг для подключения.


🧠 Что делает скрипт (если интересно)

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

🔄 Скрипт остановился на перезагрузке — это нормально. Просто запусти его снова.
📁 Ошибка "linux-headers не найден"
Проверь версию ядра: uname -r
Установи вручную: apt install linux-headers-$(uname -r)
🔑 Ошибка GPG / NO_PUBKEY 4166F2C257290828
Удали старый ключ: apt-key del 4166F2C257290828
Добавь заново: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4166F2C257290828
🌐 Нет интернета у клиентов
Проверь форвардинг: sysctl net.ipv4.ip_forward (должен быть 1).
Включи вручную: echo 1 > /proc/sys/net/ipv4/ip_forward

📎 Полезные команды

awg show — статус сервера
systemctl restart awg-quick@awg0 — перезапуск
./amneziawg-install.sh — повторный запуск (добавить клиента)
cat /root/client-configs/имя_клиента.conf — посмотреть конфиг
✅ Всё настроено правильно? Подключайся любым клиентом (AmneziaWG, WireGuard с модификациями) и пользуйся!