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

Содержание
- Зачем нужен WireGuard VPN и что вы получите из этого гайда
- Шаг 1. Установка пакетов WireGuard на Debian/Ubuntu, ALT Linux и CentOS
- 1.1. Ubuntu / Debian
- 1.2. ALT Linux
- 1.3. CentOS (8+)
- Шаг 2. Подготовка окружения (root + папка)
- 2.1. Переход в root
- 2.2. Создание защищённой папки для файлов WireGuard
- Шаг 3. Генерация ключей и настройка сервера
- 3.1. Генерация приватного и публичного ключей
- 3.2. Настройка конфигурационного файла сервера
- Шаг 4. Настройка клиента (Windows)
- 4.1. Клиент на Windows
- Шаг 5. Добавление клиента на сервере
- Шаг 6. Запуск и автозапуск VPN
- Запуск интерфейса вручную
- Автозапуск при старте системы
- ⚠️ Если изменили конфигурацию (например, добавили нового клиента)
- Частые ошибки и их решение
- Заключение
Зачем нужен WireGuard VPN и что вы получите из этого гайда
WireGuard — это современный, быстрый и безопасный VPN‑протокол, идеально подходящий для Linux‑серверов. В отличие от устаревших решений, он предлагает простую настройку, высокую производительность и минимальные зависимости.
Что вы узнаете в этом гайде:
- Подготавливать сервер на Debian/Ubuntu, ALT Linux или CentOS.
- Генерировать приватные и публичные ключи для безопасного соединения.
- Настраивать конфигурационные файлы сервера и клиента.
- Запускать VPN и проверять его работоспособность.
- Выбирать и арендовать надёжный сервер для 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
- Зайдите на оф. сайт WireGuard для Windows.
- Установите приложение и запустите.
- Нажмите Add Tunnel → Add empty tunnel.
- Задайте название в поле Name.
- Скопируйте и вставьте шаблон:
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 вашего сервера.- Итог:
Шаг 5. Добавление клиента на сервере
После настройки клиента на Windows нужно добавить его в конфигурацию сервера, чтобы разрешить подключение.
- Откройте файл
/etc/wireguard/wg0.conf
:nano /etc/wireguard/wg0.conf
- В самый конец файла добавьте блок
[Peer]
:[Peer] PublicKey = <публичный ключ клиента windows> AllowedIPs = 10.0.0.2/32
AllowedIPs
— IP-адрес клиента внутри VPN-сети. Он должен совпадать с тем, что вы указали в конфигурации клиента (в разделе[Interface] → Address
).PublicKey
— это публичный ключ клиента, который отображается в программе WireGuard на Windows. Скопируйте значение из поля Public Key.
- Сохраните файл (
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
- Проверьте, что в конфиге сервера включён NAT (
Заключение
Поздравляем! Вы успешно настроили WireGuard VPN на популярных дистрибутивах Linux и подключили клиента. Теперь ваш интернет‑трафик шифруется, а доступ к заблокированным сайтам — открыт и безопасен.
WireGuard — надёжный инструмент для повышения приватности, и теперь он у вас под контролем.
👉 Не забудьте сохранить ключи в безопасном месте и протестировать подключение на всех нужных устройствах.
📌 А если статья была полезной — поделитесь ею с друзьями или коллегами!