Перейти на сайт
База знаний/Руководства/Установка WireGuard VPN на VPS. Свой VPN без панелей за 3 минуты

Установка WireGuard VPN на VPS. Свой VPN без панелей за 3 минуты

Почему WireGuard

WireGuard это самый быстрый и простой VPN-протокол. Сравнение с альтернативами:

Параметр WireGuard OpenVPN IPSec
Скорость Максимальная Средняя Средняя
Код ~4 000 строк ~100 000 строк ~400 000 строк
Шифрование ChaCha20, Curve25519 OpenSSL Разное
Настройка Простая Сложная Сложная
Встроен в ядро Linux Да Нет Частично

WireGuard работает на уровне ядра Linux, поэтому показывает скорость, близкую к максимальной пропускной способности канала.

Быстрая установка через скрипт (рекомендуется)

Самый простой способ: интерактивный скрипт, который всё настроит за вас:

curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
./wireguard-install.sh

Скрипт спросит:

  1. IPv4-адрес сервера, подтвердите автоматически определённый
  2. Порт, можно оставить стандартный 51820 или указать свой
  3. DNS, рекомендуется 1.1.1.1 (Cloudflare) или 8.8.8.8 (Google)
  4. Имя клиента, название для первого подключения

После завершения скрипт сгенерирует QR-код для подключения с телефона и конфигурационный файл.

Добавление новых клиентов

Запустите скрипт повторно:

./wireguard-install.sh

Выберите Add a new client и введите имя.

Ручная установка WireGuard

Установка пакетов

apt update
apt install wireguard -y

Генерация ключей сервера

cd /etc/wireguard
wg genkey | tee server_private.key | wg pubkey > server_public.key
chmod 600 server_private.key

Конфигурация сервера

Создайте /etc/wireguard/wg0.conf:

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <содержимое server_private.key>
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 = <публичный ключ клиента>
AllowedIPs = 10.0.0.2/32

Включение IP-форвардинга

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

Запуск WireGuard

systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0

Открытие порта

ufw allow 51820/udp

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

Генерация ключей клиента

wg genkey | tee client_private.key | wg pubkey > client_public.key

Файл конфигурации клиента

[Interface]
Address = 10.0.0.2/24
PrivateKey = <содержимое client_private.key>
DNS = 1.1.1.1

[Peer]
PublicKey = <содержимое server_public.key>
Endpoint = <IP_сервера>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

Клиенты для подключения

Платформа Приложение
Windows WireGuard (официальный)
macOS WireGuard (App Store)
Linux apt install wireguard
Android WireGuard (Google Play)
iOS WireGuard (App Store)

Для подключения импортируйте конфигурационный файл или отсканируйте QR-код.

Полезные команды

# Статус WireGuard
wg show

# Перезапуск
systemctl restart wg-quick@wg0

# Остановка
systemctl stop wg-quick@wg0

# Показать QR-код конфигурации клиента
qrencode -t ansiutf8 < /etc/wireguard/client.conf

WireGuard vs 3X-UI. Что выбрать

WireGuard 3X-UI (VLESS/VMess)
Скорость Максимальная Чуть ниже
Обход DPI Нет Да (Reality)
Управление через веб Нет Да
Простота Очень просто Просто
Маскировка трафика Нет Да

Итого: WireGuard берите, если нужна максимальная скорость и DPI не блокирует VPN. 3X-UI с VLESS+Reality, если нужен обход блокировок.

WireGuard использует фиксированный UDP-порт, который легко обнаруживается DPI. Для обхода блокировок в странах с жёсткой цензурой лучше использовать VLESS + Reality через 3X-UI.