Пошаговая настройка WireGuard VPN на Debian, Ubuntu, CentOS и ALT Linux | SecureFlow

Пошаговая настройка WireGuard VPN на Debian, Ubuntu, CentOS и ALT Linux

Постер статьи

Содержание

Зачем нужен WireGuard VPN и что вы получите из этого гайда

WireGuard — это современный, быстрый и безопасный VPN‑протокол, идеально подходящий для Linux‑серверов. В отличие от устаревших решений, он предлагает простую настройку, высокую производительность и минимальные зависимости.

Что вы узнаете в этом гайде:

  1. Подготавливать сервер на Debian/Ubuntu, ALT Linux или CentOS.
  2. Генерировать приватные и публичные ключи для безопасного соединения.
  3. Настраивать конфигурационные файлы сервера и клиента.
  4. Запускать VPN и проверять его работоспособность.
  5. Выбирать и арендовать надёжный сервер для VPN.

Где арендовать сервер для WireGuard VPN

Чтобы настроить WireGuard VPN на Linux, вам потребуется VPS или VDS с публичным IP-адресом и поддержкой UDP-портов (в частности, порта 51820).

Мы рекомендуем использовать хостинг AdminVPS — надёжный провайдер с быстрой активацией и предустановленными образами Ubuntu, Debian и CentOS.

Шаг 1. Установка пакетов WireGuard на Debian/Ubuntu, ALT Linux и CentOS

1.1. Ubuntu / Debian

sudo apt update && sudo apt upgrade -y
sudo apt install wireguard nano -y

1.2. ALT Linux

su -
apt-get update
apt-get install nano wireguard-tools wireguard-tools-examples wireguard-tools-wg-quick -y

1.3. CentOS (8+)

sudo dnf install elrepo-release epel-release -y
sudo dnf install wireguard-tools nano -y
sudo firewall-cmd --permanent --add-port=51820/udp
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload

Данные команды устанавливают необходимые пакеты wireguard-tools и nano (текстовый редактор) для последующей настройки VPN. В CentOS активируем репозитории ELRepo и EPEL, чтобы установить модуль ядра и утилиты WireGuard.

Шаг 2. Подготовка окружения (root + папка)

2.1. Переход в root

  • Ubuntu / Debian / CentOS
    sudo -i
    
  • ALT Linux
    su -
    

2.2. Создание защищённой папки для файлов WireGuard

WireGuard хранит ключи и конфиги в /etc/wireguard. Создайте эту папку и закройте доступ всем, кроме root:

mkdir -p /etc/wireguard
chmod 700 /etc/wireguard
cd /etc/wireguard

💡Почему chmod 700?
Этот режим разрешает чтение/запись/выполнение только для владельца (root). Ваши приватные ключи будут надежно защищены.

Шаг 3. Генерация ключей и настройка сервера

3.1. Генерация приватного и публичного ключей

WireGuard требует пару ключей для безопасного туннеля:

wg genkey | tee server_private.key
cat server_private.key | wg pubkey | tee server_public.key
  • wg genkey — генерирует приватный ключ.
  • wg pubkey — вычисляет публичный ключ из приватного.

В результате в /etc/wireguard появятся файлы:

  • server_private.key — сохраняйте его в секрете.
  • server_public.key — отдавайте клиентам.

3.2. Настройка конфигурационного файла сервера

Создайте (или откройте) /etc/wireguard/wg0.conf:

nano /etc/wireguard/wg0.conf

Вставьте шаблон и замените параметры:

[Interface]
Address = 10.0.0.1/8
ListenPort = 51820
PrivateKey = <приватный ключ из файла server_private.key без <>>

PostUp   = sysctl -w net.ipv4.ip_forward=1
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
  • Address = 10.0.0.1/8 — IP‑подсеть для VPN (измените, если нужно).
  • PrivateKey — вставьте приватный ключ сервера:
    cat /etc/wireguard/server_private.key
    
  • ListenPort = 51820 — стандартный порт WireGuard.
  • PostUp/PostDown — правила iptables для проброса трафика и NAT.
  • eth0 — название сетевого интерфейса сервера. Узнать его можно командой:
    ip a
    

Сохраните и выйдите (Ctrl+O, Enter, Ctrl+X).

Шаг 4. Настройка клиента (Windows)

4.1. Клиент на Windows

  1. Зайдите на оф. сайт WireGuard для Windows.
  2. Установите приложение и запустите.
  3. Нажмите Add Tunnel → Add empty tunnel.
  4. Задайте название в поле Name.
    Шаг настройки WireGuard: выделено поле Name для ввода имени интерфейса
  5. Скопируйте и вставьте шаблон:
    Address = 10.0.0.2/8
    
    [Peer]
    PublicKey = <сюда public key который на сервере>
    AllowedIPs = 0.0.0.0/0
    Endpoint = your.server.ip:51820
    PersistentKeepalive = 30
    
    • Address — IP‑адрес, который будет присвоен устройству клиента после подключения к VPN.
    • PublicKey — публичный ключ сервера, созданный ранее. Получить его можно командой
      cat /etc/wireguard/server_public.key
      
    • Endpoint — адрес вашего VPN‑сервера и порт (по умолчанию 51820). Замените your.server.ip на реальный публичный IP вашего сервера.
    • Итог:
      Шаг настройки WireGuard: вставленный конфиг в интерфейс приложения на Windows

Шаг 5. Добавление клиента на сервере

После настройки клиента на Windows нужно добавить его в конфигурацию сервера, чтобы разрешить подключение.

  1. Откройте файл /etc/wireguard/wg0.conf:
    nano /etc/wireguard/wg0.conf
    
  2. В самый конец файла добавьте блок [Peer]:
    [Peer]
    PublicKey  = <публичный ключ клиента windows>
    AllowedIPs = 10.0.0.2/32
    
    • AllowedIPs — IP-адрес клиента внутри VPN-сети. Он должен совпадать с тем, что вы указали в конфигурации клиента (в разделе [Interface] → Address).
    • PublicKey — это публичный ключ клиента, который отображается в программе WireGuard на Windows. Скопируйте значение из поля Public Key.
      Настройка WireGuard: отображение публичного ключа после вставки конфигурации
  3. Сохраните файл (Ctrl+O, Enter) и выйдите (Ctrl+X).

Шаг 6. Запуск и автозапуск VPN

Запуск интерфейса вручную

wg-quick up wg0

После этого интерфейс wg0 поднимется, и соединение станет активным. Проверить статус можно командой:

wg

Автозапуск при старте системы

Чтобы VPN автоматически запускался при перезагрузке сервера, выполните:

systemctl enable wg-quick@wg0

⚠️ Если изменили конфигурацию (например, добавили нового клиента)

Нужно перезапустить интерфейс:

wg-quick down wg0
wg-quick up wg0

Частые ошибки и их решение

  • 🔑 Перепутали ключи:
    Убедитесь, что вы:
    • на сервере в разделе [Peer] используете публичный ключ клиента;
    • на клиенте — публичный ключ сервера.
      Никогда не вставляйте приватные ключи в чужие конфигурации!
  • 🌐 Неправильный IP-диапазон:
    Клиент и сервер должны быть в одной VPN-подсети. Например:
    • Сервер: 10.0.0.1/8
    • Клиент: 10.0.0.2/8
      Убедитесь, что IP-адрес клиента не совпадает с другими в сети и не конфликтует с локальной сетью.
  • 🔥 Порт 51820 закрыт:
    Убедитесь, что UDP-порт 51820 открыт:
    • В панели управления хостингом (если есть).
    • В файерволе Linux (если используете).
  • 🚫 Интерфейс eth0 не существует:
    В конфиге сервера в строках PostUp/PostDown проверьте имя интерфейса. Узнать его можно командой:
    ip a
    
  • 🧱 Нет интернета через VPN:
    • Проверьте, что в конфиге сервера включён NAT (MASQUERADE) в iptables.
    • Убедитесь, что включена маршрутизация:
      sysctl -w net.ipv4.ip_forward=1
      

Заключение

Поздравляем! Вы успешно настроили WireGuard VPN на популярных дистрибутивах Linux и подключили клиента. Теперь ваш интернет‑трафик шифруется, а доступ к заблокированным сайтам — открыт и безопасен.

WireGuard — надёжный инструмент для повышения приватности, и теперь он у вас под контролем.

👉 Не забудьте сохранить ключи в безопасном месте и протестировать подключение на всех нужных устройствах.
📌 А если статья была полезной — поделитесь ею с друзьями или коллегами!