uz
VP
июня 23, 2025
Обновлено июня 23, 2025

Как настроить VPN-сервер WireGuard на CentOS

CentOS Linux VPN

WireGuard — это приложение, создающее безопасную виртуальную частную сеть (VPN), при этом оно достаточно простое в использовании и настройке. Программа использует надежные криптографические протоколы и алгоритмы для шифрования данных. Разработанная исключительно для ядра Linux, она может быть развернута и на Windows, macOS, FreeBSD, iOS, а так же Android.

В нашем случае для установки WireGuard мы будем использовать CentOS 8.3, предоставленный Serverspace

Шаг 1. Установка сервера WireGuard на CentOS

Для начала скачаем последние обновления с помощью данных команд:

sudo yum update
sudo dnf update

Добавьте репозитории EPEL и Elrepo для установки модулей ядра и инструментов WireGuard.

sudo dnf install epel-release elrepo-release -y

Убедимся, что у нас включены репозиторий PowerTools, так как пакеты EPEL могут зависеть от пакетов из него:

sudo yum install 'dnf-command(config-manager)'
sudo yum config-manager --set-enabled PowerTools

Прежде чем мы сможем установить модуль ядра WireGuard, включим его официальный репозиторий:

sudo yum copr enable jdoss/wireguard

Теперь установим WireGuard:

sudo yum install wireguard-dkms wireguard-tools

Шаг 2. Генерация закрытого и открытого ключей

WireGuard работает путем шифрования соединения с помощью пары криптографических ключей. Пара ключей используется путем передачи открытого ключа другой стороне, которая затем может зашифровать свое сообщение таким образом, что оно может быть расшифровано только с помощью соответствующего закрытого ключа. Для обеспечения безопасности двусторонней связи каждая сторона должна иметь собственные закрытый и открытый ключи, так как каждая пара обеспечивает только односторонний обмен сообщениями.

Перед генерацией пары ключей перейдите в каталог

cd /etc/wireguard

Установите разрешение на эту директорию:

umask 077

Чтобы сгенерировать пару ключей, введите следующую команду:

wg genkey | tee private.key | wg pubkey > public.key

Чтобы просмотреть сгенерированные ключи, воспользуйтесь командами:

ls -l privatekey publickey
sudo cat privatekey

Обязательно запишите этот ключ, он понадобиться нам далее.

sudo cat publickey

Также, обязательно запишите этот ключ, он понадобиться нам далее.

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

Чтобы начать настройку сервера WireGuard, перейдите в папку /etc/wireguard и создайте файл wg0.conf

sudo nano /etc/wireguard/wg0.conf

Добавьте в файл конфигурации следующие директивы и заполните данные созданными до этого ключами:

[Interface]
PrivateKey = <contents-of-server-privatekey>
Address = 10.0.0.1/24
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
ListenPort = 51820
[Peer]
PublicKey = <contents-of-client-publickey>
AllowedIPs = 10.0.0.2/32

Как настроить VPN-сервер WireGuard на CentOS

Скопируйте закрытый ключ, который мы сгенерировали ранее, и вставьте его в PrivateKey.

Аналогично нужно сгенерировать пару ключей для клиента, скопируйте открытый ключ клиента и вставьте его в PublicKey.

Чтобы скопировать значение ключа, выполните следующую команду:

sudo cat /etc/wireguard/public.key
sudo cat /etc/wireguard/private.key

Шаг 4. Настройка FireWall

По умолчанию firewall прекращает все коммуникации между внутренней (wg0) и общедоступной сетью (eth0).
Изменим это с помощью данных команд:

sudo firewall-cmd --add-interface=wg0 --zone=internal
sudo firewall-cmd --permanent --zone=internal --add-masquerade

Шаг 5. Запуск WireGuard и включение его при загрузке

Теперь мы готовы к запуску сервера, для запуска WireGuard мы используем wg-quick и указываем имя нового интерфейса:

wg-quick up wg0

Если конфигурация выполнена идеально, вы увидите следующий экран

WireGuard для CentOS

Чтобы проверить статус работы сервера WireGuard введите:

wg show

Статус работы WireGuard

Поздравляю, WireGuard VPN успешно поднят!

Оценка:
4 из 5
Аverage rating : 4.6
Оценок: 12
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...