WireGuard — это быстрый, современный и безопасный VPN-протокол с минимальной настройкой. В этой статье мы разберём, как настроить WireGuard на сервере (Linux) и подключиться к нему с клиента (также Linux).
На сервере (например, VPS с Ubuntu/Debian) выполните:
sudo apt update
sudo apt install wireguard resolvconf
sudo su
cd /etc/wireguard/
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key
Создайте файл /etc/wireguard/wg0.conf
:
[Interface]
PrivateKey = <СЕРВЕРНЫЙ_ПРИВАТНЫЙ_КЛЮЧ> # из server_private.key
Address = 10.0.0.1/24 # Внутренний IP сервера
ListenPort = 51820 # Порт для подключения
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
SaveConfig = true
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo wg show
На клиенте (Ubuntu/Debian):
sudo apt update
sudo apt install wireguard resolvconf
sudo su
cd /etc/wireguard/
umask 077
wg genkey | tee client_private.key | wg pubkey > client_public.key
Создайте /etc/wireguard/wg0-client.conf
:
[Interface]
PrivateKey = <ПРИВАТНЫЙ_КЛЮЧ_КЛИЕНТА> # из client_private.key
Address = 10.0.0.2/24 # Внутренний IP клиента
DNS = 8.8.8.8 # Опционально
[Peer]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА> # из server_public.key
AllowedIPs = 0.0.0.0/0 # Весь трафик через VPN (или только нужные подсети)
Endpoint = <IP_СЕРВЕРА>:51820 # Пример: 123.123.123.123:51820
PersistentKeepalive = 25 # Для NAT
На сервере выполните:
sudo wg set wg0 peer <ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА> allowed-ips 10.0.0.2
sudo wg-quick up wg0-client
ping 10.0.0.1 # Проверка связи с сервером
curl ifconfig.me # Проверка внешнего IP (должен быть IP сервера)
sudo wg show # Статус подключения
sudo systemctl enable wg-quick@wg0
sudo systemctl restart wg-quick@wg0
sudo systemctl enable wg-quick@wg0-client
sudo systemctl restart wg-quick@wg0-client
bash
sudo wg set wg0 peer <НОВЫЙ_ПУБЛИЧНЫЙ_КЛЮЧ> allowed-ips 10.0.0.3
Если используется UFW, разрешите порт WireGuard:
sudo ufw allow 51820/udp
Теперь у вас настроен VPN-сервер WireGuard и клиентское подключение. WireGuard работает быстро и безопасно, а его настройка занимает минимум времени.
🔹 Полезные команды:
- sudo wg show
— статус подключения
- sudo wg-quick down wg0
— отключить VPN
- journalctl -u wg-quick@wg0 -f
— логи сервера
Если у вас есть вопросы, пишите в комментарии! 🚀