Если вы настраиваете VPN через WireGuard на сервере под Ubuntu/Debian, важно правильно настроить брандмауэр (UFW) и защиту от брутфорса (fail2ban), чтобы:
sudo apt update sudo apt install wireguard -y
wg genkey | sudo tee /etc/wireguard/private.key sudo chmod 600 /etc/wireguard/private.key wg pubkey < /etc/wireguard/private.key | sudo tee /etc/wireguard/public.key
[Interface] PrivateKey = <ваш_приватный_ключ> Address = 10.8.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] # Клиент 1 PublicKey = <публичный_ключ_клиента> AllowedIPs = 10.8.0.2/32
Важно: замените eth0
на ваш внешний интерфейс (узнать: ip route | grep default
).
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf sudo sysctl -p
sudo wg-quick up wg0 sudo systemctl enable wg-quick@wg0
sudo apt install ufw -y
sudo ufw allow 22/tcp # SSH sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw allow 51820/udp # WireGuard
UFW по умолчанию блокирует форвардинг. Отредактируйте файл:
sudo nano /etc/ufw/before.rules
Добавьте в начало (перед *filter
):
# NAT для WireGuard *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE COMMIT # Разрешить трафик через wg0 *filter :ufw-before-forward - [0:0] -A ufw-before-forward -i wg0 -j ACCEPT -A ufw-before-forward -o wg0 -j ACCEPT COMMIT
Замените:
10.8.0.0/24
— на вашу подсеть из конфига WireGuardeth0
— на ваш внешний интерфейс (например, ens3, enp4s0)sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw enable
sudo apt install fail2ban -y
Создайте файл:
sudo nano /etc/fail2ban/jail.local
Содержимое:
[sshd] enabled = true maxretry = 3 bantime = 1h findtime = 10m [nginx-http-auth] enabled = true [php-url-fopen] enabled = true
sudo systemctl restart fail2ban
ping 8.8.8.8
и curl ifconfig.me
Чаще всего проблема в том, что:
Решение — вернуться к шагу 8 и убедиться, что before.rules
настроены.
WireGuard + UFW + fail2ban — мощная и безопасная комбинация. Главное — не забывать про NAT и форвардинг, иначе клиенты будут подключаться, но не смогут выходить в интернет.
Сохраните эту инструкцию — пригодится после перезагрузки или развёртывания нового сервера.
Внимание: Cтатьи здесь сгенерированы нейросетью, пока не правил ошибки, только запустил его да и не до этого. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я реально делал минимум один раз. Серьёзно.
Сервера стоят, клиенты довольны, дата-центры не горят.
Это не просто копипаста — это опыт, выстраданный в бою, просто пересказанный через ИИ.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах —
вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!