
WireGuard VPN: полное руководство по настройке сервера на Linux
VPN — необходимость для любого бизнеса. WireGuard — современный VPN-протокол, который работает быстрее OpenVPN в 3-4 раза и настраивается за 15 минут. Наши инженеры перевели более 30 компаний на WireGuard.
Что такое WireGuard и чем он лучше OpenVPN?
- 4 000 строк кода vs 600 000 у OpenVPN
- До 1 Гбит/с на обычном сервере
- 0.5-1 мс overhead vs 5-10 мс у OpenVPN
- Curve25519, ChaCha20, Poly1305 — современная криптография
- Бесшовное переключение между Wi-Fi и 4G
Какие системные требования для WireGuard?
- Linux с ядром 5.6+ (Debian 12, Ubuntu 22.04+)
- CPU: 1 ядро (для 50 клиентов), RAM: 256 МБ
- Статический IP, открытый UDP-порт 51820
Как установить WireGuard на Debian 12?
apt update && apt install -y wireguard
# Генерация ключей сервера
wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
chmod 600 /etc/wireguard/server_private.key
Как настроить конфигурацию сервера?
# /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY_HERE
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]
PublicKey = CLIENT1_PUBLIC_KEY
AllowedIPs = 10.10.0.2/32
# Включаем IP forwarding
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
# Запуск
systemctl enable --now wg-quick@wg0
wg show
Как добавить клиента WireGuard?
wg genkey | tee client1_private.key | wg pubkey > client1_public.key
# client1.conf
[Interface]
PrivateKey = CLIENT1_PRIVATE_KEY
Address = 10.10.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = YOUR_SERVER_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Как создать QR-код для телефона?
apt install -y qrencode
qrencode -t ansiutf8 < client1.conf
Доверьте настройку WireGuard VPN профессионалам
Наши инженеры настроят всё быстро и надёжно. Более 15 лет опыта, работа с юрлицами, договор, SLA. Не тратьте время на эксперименты — звоните.
Как автоматизировать управление клиентами?
#!/bin/bash
# add-client.sh
CLIENT_NAME=$1; NEXT_IP=$2
wg genkey | tee /etc/wireguard/clients/${CLIENT_NAME}_private.key | wg pubkey > /etc/wireguard/clients/${CLIENT_NAME}_public.key
CLIENT_PRIV=$(cat /etc/wireguard/clients/${CLIENT_NAME}_private.key)
CLIENT_PUB=$(cat /etc/wireguard/clients/${CLIENT_NAME}_public.key)
SERVER_PUB=$(cat /etc/wireguard/server_public.key)
wg set wg0 peer $CLIENT_PUB allowed-ips $NEXT_IP/32
wg-quick save wg0
cat > /etc/wireguard/clients/${CLIENT_NAME}.conf << EOF
[Interface]
PrivateKey = $CLIENT_PRIV
Address = $NEXT_IP/32
DNS = 8.8.8.8
[Peer]
PublicKey = $SERVER_PUB
Endpoint = $(curl -s ifconfig.me):51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
EOF
qrencode -t ansiutf8 < /etc/wireguard/clients/${CLIENT_NAME}.conf
Как настроить Site-to-Site VPN между офисами?
К нам обратился клиент с тремя офисами — мы настроили mesh-VPN через WireGuard за один день.
# Офис 1 (Москва)
[Peer]
PublicKey = SPB_PUBLIC_KEY
Endpoint = spb-office.company.ru:51820
AllowedIPs = 10.10.0.2/32, 192.168.2.0/24
PersistentKeepalive = 25
Как мониторить WireGuard?
wg show
# Latest handshake, Transfer, Allowed IPs
# Мониторинг для Zabbix:
wg show wg0 latest-handshakes | while read pub ts; do
age=$(($(date +%s) - ts))
[ $age -gt 300 ] && echo "WARN: peer $pub offline for ${age}s"
done
Какие проблемы безопасности и как их решить?
- Нет динамических IP: при увольнении — удалить peer
- Нет логин/пароль: для enterprise — wg-access-server
- Нет логирования: используйте iptables logging на wg0
- Ротация ключей: раз в 6-12 месяцев
Как обеспечить высокую доступность WireGuard?
Для бизнеса критично, чтобы VPN работал 24/7. Наши инженеры реализуют отказоустойчивые конфигурации: два VPN-сервера с одинаковыми настройками, клиенты подключаются к основному серверу, а при его недоступности автоматически переключаются на резервный. Keepalived или DNS failover обеспечивают переключение за секунды. Для крупных компаний мы используем Netmaker или Headscale — это WireGuard mesh с централизованным управлением.
Когда обратиться к профессионалам?
- Когда нужно связать несколько офисов
- Когда нужна интеграция с Keenetic, MikroTik
- Когда требуется управление 50+ клиентами
- Когда OpenVPN работает медленно
- Когда нужен отказоустойчивый VPN
Часто задаваемые вопросы
WireGuard быстрее OpenVPN?
Да, в 3-5 раз. WireGuard работает в ядре Linux. Типичная скорость — 500-900 Мбит/с vs 100-300 Мбит/с у OpenVPN.
Безопасен ли WireGuard?
Да. Curve25519, ChaCha20, Poly1305, BLAKE2s — современные криптоалгоритмы. 4000 строк кода — легко аудировать.
Работает ли WireGuard с Keenetic?
Да, Keenetic поддерживает WireGuard начиная с KeeneticOS 3.3.
Можно ли использовать WireGuard для обхода блокировок?
WireGuard легко детектируется DPI. Для обхода блокировок лучше VLESS или Shadowsocks.
Сколько клиентов выдержит один сервер?
На VPS с 1 ядром — до 50 клиентов. На выделенном сервере — сотни.
ООО «АйТи Фреш» возьмёт это на себя
Не хватает времени или своих специалистов — мы настроим, оптимизируем и возьмём вашу IT-инфраструктуру на постоянное сопровождение. Работаем с юридическими лицами в Москве и регионах. Собственный дата-центр, команда из 8 серверов Dell Xeon Platinum 8280 на базе МТС.