Установка и настройка AmneziaWG (AWG) на Ubuntu 24.04 (оптимизировано ИИ)

1. Обновление системы

apt update && apt upgrade -y

2. Подготовка APT и системных настроек

Резервная копия sources.list

cp -f /etc/apt/sources.list /etc/apt/sources.list.backup

Включаем deb-src

sed -i 's/^# deb-src/deb-src/' /etc/apt/sources.list

Включаем IPv4 Forwarding

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system

3. Установка AWG

mkdir -p ~/awg && cd ~/awg
add-apt-repository -y ppa:amnezia/ppa
apt update
apt install -y amneziawg

4. Загрузка модуля ядра

lsmod | grep amnezia
modprobe amneziawg
lsmod | grep amnezia

5. Установка необходимых утилит

apt install -y curl wget python3 python3-pip python3-qrcode python3-pil
apt update -y && apt upgrade -y

6. Генерация конфигурации AWG

Скачиваем скрипт конфигурирования

wget -O awgcfg.py https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py

Создаём серверный конфиг

python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf -i 192.168.3.0/24 -p 44300

Создание клиента

python3 awgcfg.py --create
python3 awgcfg.py -a user
python3 awgcfg.py -c -q

7. Запуск системного сервиса AWG

systemctl enable --now awg-quick@awg0
systemctl restart awg-quick@awg0

8. Настройка firewall (iptables)

AWG автоматически добавляет свои правила в iptables. Чтобы избежать повторного дублирования при перезагрузке — отключаем автоматическое добавление правил.

nano /etc/amnezia/amneziawg/awg0.conf

Необходимо закомментировать строки вида:

PostUp = iptables ...
PostDown = iptables ...

Устанавливаем iptables-persistent

apt install -y iptables iptables-persistent

Рекомендуемый набор правил iptables

Разрешаем established-трафик:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -I INPUT 2 -i lo -j ACCEPT

Разрешаем порт AWG:

iptables -A INPUT -p udp --dport 44300 -j ACCEPT

SSH-доступ с конкретного IP:

iptables -A INPUT -s IP_ИСТОЧНИКА -p tcp --dport 22 -j ACCEPT

Политики по умолчанию:

iptables -P INPUT DROP
iptables -P FORWARD DROP

Разрешаем трафик через туннель:

iptables -A FORWARD -i eth0 -o awg0 -j ACCEPT
iptables -A FORWARD -i awg0 -o eth0 -j ACCEPT

Настройка NAT (выберите подходящий вариант):

Для динамического IP:

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE

Для статического IP:

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source IP_СЕРВЕРА

Сохраняем правила:

netfilter-persistent save
systemctl restart netfilter-persistent

9. Проверка работы

awg show
systemctl status awg-quick@awg0.service
iptables -L -n -v
iptables -t nat -L -n -v
iptables -L FORWARD -n -v

10. Конфигурация клиента

Переходим в каталог:

cd ~/awg
ls

Открываем конфиг:

nano user.conf

Исправление AllowedIPs для Keenetic

Удаляем длинный список и заменяем строкой:

AllowedIPs = 0.0.0.0/0

Leave a Reply