В эпоху цифровой информации безопасность и приватность становятся приоритетными для пользователей по всему миру. VPN (Virtual Private Network) — это инструмент, позволяющий создавать защищённые соединения через незащищённые сети, такие как Интернет. WireGuard — это современный, простой и эффективный VPN-протокол, который завоёвывает популярность благодаря своей высокой производительности и лёгкости настройки. Он предоставляет быстрые и безопасные соединения, превосходя традиционные VPN-протоколы, такие как OpenVPN и IPSec.
В этой статье мы шаг за шагом рассмотрим процесс установки и настройки WireGuard VPN на Rocky Linux 9, чтобы вы могли обеспечить безопасные сетевые соединения на своём сервере.
Установка WireGuard
Хотя WireGuard является мощным инструментом, он не входит в стандартные репозитории Rocky Linux 9. Для его установки нам потребуется подключить дополнительный репозиторий EPEL (Extra Packages for Enterprise Linux).
Сначала установим репозиторий EPEL:
sudo dnf install epel-release -y
Установка WireGuard
Теперь установим пакет wireguard-tools:
sudo dnf install wireguard-tools -y
Проверка установки
Убедимся, что WireGuard установлен корректно:
wg --version
Вы должны увидеть информацию о версии WireGuard, что подтвердит успешную установку.
Настройка WireGuard
WireGuard использует криптографические ключи для аутентификации и шифрования трафика между узлами.
Генерация ключей сервера
Создадим директорию для хранения ключей и сгенерируем пару ключей:
sudo mkdir /etc/wireguard
sudo chmod 700 /etc/wireguard
sudo wg genkey | sudo tee /etc/wireguard/server_private.key
sudo wg pubkey < /etc/wireguard/server_private.key | sudo tee /etc/wireguard/server_public.key
Создание конфигурационного файла сервера
Создадим файл конфигурации wg0.conf:
sudo nano /etc/wireguard/wg0.conf
Добавьте в него следующие строки, заменив на ваш приватный ключ:
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <Server_Private_Key>
Сохраните файл и закройте редактор.
Генерация конфигурации клиента
Сгенерируем пару ключей для клиента:
sudo wg genkey | sudo tee /etc/wireguard/client_private.key
sudo wg pubkey < /etc/wireguard/client_private.key | sudo tee /etc/wireguard/client_public.key
Создание конфигурационного файла клиента
Создайте файл client.conf:
sudo nano /etc/wireguard/client.conf
Добавьте следующие строки, заменив соответствующие значения вашими ключами и IP-адресом сервера:
[Interface]
PrivateKey = <Client_Private_Key>
Address = 10.0.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = <Server_Public_Key>
Endpoint = <Server_Public_IP>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Сохраните файл.
Добавление клиента на сервер
Откройте конфигурационный файл сервера:
sudo nano /etc/wireguard/wg0.conf
Добавьте информацию о клиенте:
[Peer]
PublicKey = <Client_Public_Key>
AllowedIPs = 10.0.0.2/32
Сохраните изменения.
Управление сервисом WireGuard
Запустите интерфейс WireGuard:
sudo systemctl start wg-quick@wg0
Включите автозапуск сервиса:
sudo systemctl enable wg-quick@wg0
Убедитесь, что сервис работает корректно:
sudo systemctl status wg-quick@wg0
Настройка брандмауэра
Для начала установите firewalld:
dnf install firewalld -y
systemctl start firewalld
systemctl enable firewalld
Откройте порт 51820/UDP в FirewallD:
sudo firewall-cmd --permanent --add-port=51820/udp
sudo firewall-cmd --reload
Разрешите пересылку пакетов для обеспечения работы VPN:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Добавьте правило маскарадинга для сети WireGuard:
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --reload
Заключение
Поздравляем! Вы успешно установили и настроили WireGuard VPN на Rocky Linux 9 на вашем сервере. WireGuard предоставляет быстрые и безопасные VPN-соединения с минимальными накладными расходами и простой конфигурацией. Теперь вы можете наслаждаться безопасным доступом к сети и расширять свою VPN-инфраструктуру по мере необходимости.