Linux: установка и настройка VPN сервера WireGuard

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

Ознакомиться с тарифами VPS хостинга можно тут

Что такое WireGuard?

WireGuard — это современный, быстрый и безопасный протокол VPN, который был разработан с упором на простоту и эффективность. Он использует новейшие криптографические алгоритмы (такие как Curve25519 для обмена ключами, ChaCha20 для шифрования и Poly1305 для аутентификации), что делает его одним из самых быстрых и безопасных решений для VPN.

WireGuard имеет гораздо меньший код по сравнению с другими VPN-решениями, такими как OpenVPN или IPsec, что уменьшает вероятность уязвимостей и повышает производительность. Кроме того, WireGuard легко интегрируется в ядро Linux и работает очень быстро как на мобильных, так и на серверных системах.

Почему стоит выбрать WireGuard?

  • Простота настройки: В отличие от других VPN решений, WireGuard имеет минимистичный и простой в настройке конфиг.
  • Безопасность: WireGuard использует новейшие криптографические стандарты.
  • Производительность: Быстрее многих старых протоколов благодаря меньшему количеству кода и использованию современных технологий.
  • Совместимость: Работает на различных операционных системах, включая Linux, Windows, macOS, Android и iOS.
  • Низкое потребление ресурсов: WireGuard работает очень быстро, не требуя много системных ресурсов.

Подготовка к установке WireGuard

Перед тем как начать установку, убедитесь, что ваша Linux-система обновлена и поддерживает WireGuard. Этот процесс будет подходить для большинства популярных дистрибутивов Linux, таких как Ubuntu, Debian, CentOS и Fedora.

Проверка системы

Для начала убедитесь, что ваша операционная система обновлена:
sudo apt update && sudo apt upgrade -y # Для Debian/Ubuntu
sudo yum update -y # Для CentOS
sudo dnf update -y # Для Fedora

Также убедитесь, что у вас есть права суперпользователя (root) или возможность использовать sudo.

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

По умолчанию WireGuard использует UDP порт 51820. Убедитесь, что этот порт открыт на вашем сервере, чтобы клиенты могли подключаться.
sudo ufw allow 51820/udp # Для Ubuntu/Debian с UFW
sudo firewall-cmd --zone=public --add-port=51820/udp --permanent # Для CentOS/RedHat
sudo firewall-cmd --reload # Перезагружаем firewall для применения изменений

 

Теперь можно приступать непосредственно к установке.

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

Для начала установим WireGuard на сервер.

Для Ubuntu/Debian

WireGuard доступен в репозиториях Ubuntu 20.04 и более поздних версий. Установите пакет с помощью команды:
sudo apt install wireguard

Если ваша система не поддерживает установку через стандартные репозитории, можно использовать репозиторий WireGuard. Для этого выполните следующие команды:
sudo apt update
sudo apt install wireguard-tools

Для CentOS 7/8

На CentOS WireGuard можно установить через EPEL (Extra Packages for Enterprise Linux):

  1. Установите EPEL-репозиторий:
    sudo yum install epel-release

  2. Установите WireGuard:
    sudo yum install wireguard-tools

Для Fedora

На Fedora установку можно выполнить напрямую из официальных репозиториев:
sudo dnf install wireguard-tools

Шаг 2. Настройка сервера WireGuard

  1. Создание ключей:

    Для обеспечения безопасности в WireGuard используется пара ключей: публичный и приватный. Сначала сгенерируем их.

    Выполните следующую команду на сервере:
    wg genkey | tee server_private.key | wg pubkey > server_public.key

    Это создаст два файла:

    • server_private.key — приватный ключ сервера
    • server_public.key — публичный ключ сервера
  2. Конфигурация сервера:

    Создайте конфигурационный файл для WireGuard. Откройте файл с помощью редактора, например nano:
    sudo nano /etc/wireguard/wg0.conf

    Вставьте следующую конфигурацию:
    [Interface]
    Address = 10.0.0.1/24
    PrivateKey = <приватный_ключ_сервера>
    ListenPort = 51820

    [Peer]
    PublicKey = <публичный_ключ_клиента>
    AllowedIPs = 10.0.0.2/32

    Замените <приватный_ключ_сервера> на значение из файла server_private.key, а <публичный_ключ_клиента> — на публичный ключ, который вы получите при настройке клиента.

  3. Запуск и проверка WireGuard:

    После того как конфигурация настроена, активируем сервер WireGuard:
    sudo wg-quick up wg0

    Чтобы убедиться, что сервер работает, выполните:
    sudo wg show

    Для того чтобы сервер автоматически запускался при старте системы, выполните:
    sudo systemctl enable wg-quick@wg0

Шаг 3. Настройка клиентской машины

Теперь, когда сервер настроен, перейдем к настройке клиента.

  1. Создание ключей для клиента:

    На клиентской машине выполните следующие команды для генерации ключей:
    wg genkey | tee client_private.key | wg pubkey > client_public.key

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

    Создайте конфигурационный файл для клиента:
    sudo nano /etc/wireguard/wg0.conf

    Вставьте следующую конфигурацию:
    [Interface]
    PrivateKey = <приватный_ключ_клиента>
    Address = 10.0.0.2/24

    [Peer]
    PublicKey = <публичный_ключ_сервера>
    Endpoint = <IP_сервера>:51820
    AllowedIPs = 0.0.0.0/0
    PersistentKeepalive = 25

    Замените <приватный_ключ_клиента> на приватный ключ клиента, а <публичный_ключ_сервера> — на публичный ключ вашего сервера. Укажите публичный IP сервера в Endpoint.

  3. Запуск WireGuard на клиенте:

    Для запуска клиента используйте команду:
    sudo wg-quick up wg0

    Чтобы проверить подключение, выполните:
    sudo wg show

  4. Добавление клиента на сервер:

    На сервере добавьте конфигурацию клиента в файл wg0.conf в секцию [Peer]:
    [Peer]
    PublicKey = <публичный_ключ_клиента>
    AllowedIPs = 10.0.0.2/32

    Затем перезапустите WireGuard:
    sudo wg-quick down wg0
    sudo wg-quick up wg0

Шаг 4. Завершение настройки

Теперь, когда сервер и клиент настроены, ваше VPN-соединение должно быть полностью функционирующим. Вы можете настроить несколько клиентов, добавляя их публичные ключи и IP-адреса в конфигурацию сервера, а также добавлять соответствующие файлы конфигурации на клиентские машины.

Безопасность и рекомендации

  1. Используйте сильные ключи: WireGuard использует криптографию с публичными и приватными ключами. Убедитесь, что ключи имеют достаточно большую длину (минимум 256 бит).
  2. Автоматический запуск: Настройте WireGuard для автоматического старта при загрузке системы на сервере и клиентах, чтобы VPN-соединение было доступно сразу после перезагрузки.
  3. Мониторинг: Регулярно проверяйте состояние вашего VPN-соединения и логи на наличие подозрительной активности.

Заключение

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

  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by