⚠️ Важно: Стандартные скрипты установки часто ломаются на 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) |
| DNS | 1.1.1.1 (Enter) или свои |
| AllowedIPs | 0.0.0.0/0,::/0 (Enter) |
| Jc, Jmin, Jmax, S1, S2, H1..H4 | Просто Enter — значения по умолчанию отличные |
В конце скрипт предложит создать первого клиента. Введи имя (например, phone или laptop) — получишь готовый конфиг для подключения.
🧠 Что делает скрипт (если интересно)
- Обновляет систему и ядро
- При необходимости перезагружается
- Устанавливает заголовки ядра (важно для сборки модуля)
- Правильно добавляет PPA AmneziaWG через apt-key
- Ставит amneziawg и amneziawg-tools
- Включает IP-форвардинг
- Качает и запускает официальный скрипт настройки
🆘 Если что-то пошло не так
🔄 Скрипт остановился на перезагрузке — это нормально. Просто запусти его снова.
📁 Ошибка "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 с модификациями) и пользуйся!