Настройка WireGuard

Оглавление

1. Общие положения

2. Описание протокола WireGuard
2.1. Ключевые особенности
2.2. Ограничения

3. Порядок создания WireGuard-сети на ИКС
3.1. Добавление сети
3.2. Заполнение основных параметров

4. Предоставление доступа к WireGuard-сети
4.1. Способ 1. Через раздел «Пользователи»
4.2. Способ 2. Через управление доступом
4.3. Скачивание конфигурационных файлов

5. Управление пирами
5.1. Просмотр и сортировка списка пиров
5.2. Добавление пира

6. Настройка WireGuard-туннеля (пример объединения сетей)
6.1. Исходные данные
6.2. Настройка центрального офиса
6.3. Настройка филиала
6.4. Проверка подключения

7. Примечания

1. Общие положения

Настройка WireGuard-сети осуществляется через веб-интерфейс управления ИКС в разделе соответствующих VPN-подсистем. WireGuard - это современный VPN-протокол с открытым исходным кодом, реализующий зашифрованные виртуальные частные сети. В отличие от SSTP и PPTP, WireGuard использует пары открытых и закрытых ключей для аутентификации, работает поверх UDP и не требует наличия сертификатов. Для корректной работы необходимо обеспечить доступность выбранного UDP-порта через межсетевые экраны и маршрутизаторы.

2. Описание протокола WireGuard

2.1. Ключевые особенности

  • Высокая производительность и низкая поверхность атаки.

  • Использование современных криптографических алгоритмов: ChaCha20, Curve25519.

  • Туннель строится на парах открытый/закрытый ключ.

  • Подключение мгновенное, трафик шифруется, передача активна только при наличии данных.

  • Лучшая производительность по сравнению с OpenVPN при простоте использования.

2.2. Ограничения

  • Работа только поверх UDP.

  • Меньшая гибкость для сложных сетевых конфигураций по сравнению с OpenVPN.

  • Отсутствие поддержки двухфакторной аутентификации.

3. Порядок создания WireGuard-сети на ИКС

3.1. Добавление сети

Для добавления WireGuard-сети выполните следующие действия:

1. Перейдите в раздел «Сеть» > «Провайдеры и сети».

2. Нажмите кнопку «Добавить».

3. В выпадающем списке выберите пункт «WireGuard-сеть».

3.2. Заполнение основных параметров

Поля, отмеченные знаком «*», являются обязательными для заполнения.

  • Название - уникальное наименование, идентифицирующее сеть в интерфейсе ИКС.

  • Локальный IP-адрес и порт:

    • IP-адрес WireGuard-сервера (например, 10.0.0.1). Используется адрес из частных диапазонов.

    • Порт - произвольный номер порта, который не должен пересекаться с другими портами, занятыми на сервере.

  • Диапазон IP-адресов - пул адресов, выдаваемый клиентским пирам.

  • IP-адрес DNS-сервера - DNS-сервер, передаваемый клиентам (поле необязательное).

  • MTU - при необходимости можно указать значение MTU.

  • Разрешённые сети - передаются в конфиг клиента в параметр AllowedIPs.

На данном этапе настройка WireGuard-сети завершена. Далее необходимо предоставить доступ пользователям до этой сети.

4. Предоставление доступа к WireGuard-сети

4.1. Способ 1. Через раздел «Пользователи»

1. Перейдите в раздел «Сеть» > «VPN» > «Пользователи».

2. В открывшемся окне установите флажок в столбце «WireGuard-доступ» напротив нужного пользователя.

4.2. Способ 2. Через управление доступом

1. Перейдите в раздел «Сеть» > «Провайдеры и сети».

2. Выделите нужную WireGuard-сеть.

3. Перейдите в «Управление доступом».

4. В открывшемся окне установите флажок в столбце «WireGuard-доступ» напротив нужного пользователя.

4.3. Скачивание конфигурационных файлов

Скачивание всех пользовательских сертификатов:

Выделите нужную WireGuard-сеть и нажмите «Скачать конфигурационные файлы».

Скачивание конфигурации для конкретного пира:

1. Перейдите в раздел «Сеть» > «Провайдеры и сети».

2. Выделите нужную WireGuard-сеть и перейдите в раздел «Пиры».

3. В открывшемся окне выберите пользовательский пир и нажмите «Скачать конфигурационные файлы».

4. При выгрузке система запросит указание «Адрес сервера». Необходимо выбрать внешний адрес провайдера, к которому будет подключаться клиент.

Примечание: WireGuard работает как через резервного провайдера, так и через основного провайдера.
Содержимое выгружаемого архива .tar.gz
Архив содержит для каждого пользователя два файла:

  • .conf - конфигурационный файл WireGuard;

  • .png - QR-код.

Способ использования QR-кода:

QR-код можно отсканировать в клиентском приложении WireGuard (мобильные версии). Это позволяет импортировать конфигурацию без необходимости вручную загружать и помещать .conf-файл.

5. Управление пирами

5.1. Просмотр и сортировка списка пиров

Для просмотра списка пиров выберите нужную WireGuard-сеть и нажмите кнопку «Подробнее...». В открывшемся модуле доступны:

  • состояние сети;

  • список пиров;

  • события.

Сортировка списка пиров доступна по следующим столбцам:

  • название (по возрастанию / убыванию);

  • последнее рукопожатие (по возрастанию / убыванию);

  • объём трафика (входящий / исходящий).

5.2. Добавление пира

Для добавления нового пира выполните следующие действия:

1. Нажмите «Добавить».

2. Укажите название пира.

3. Введите публичный ключ удалённой стороны (44 символа, обязательно с символом = в конце).

4. Укажите:

  • внешний IP-адрес и порт удалённого сервера: 192.168.17.56

  • удалённый IP-адрес: 10.0.0.56

  • удалённые сети: 192.168.6.0/24

5. Keep-Alive (сек.) - опционально. По умолчанию не используется.

6. Разрешённые сети - наследуются из одноимённого поля WireGuard-сети. Редактируются индивидуально для каждого пира.

7. Дополнительный ключ безопасности (по выбору):

  • использовать существующий ключ (ввести в поле);

  • сгенерировать новый;

  • оставить поле пустым - ключ не используется.

8. Нажмите «Добавить». Пир появится в списке.

6. Настройка WireGuard-туннеля (пример объединения сетей)

Предполагается, что WireGuard-сеть включена и настроена на обеих сторонах. Настройки выполняются зеркально (логика обмена ключами, указание портов и структура конфигурации идентичны). Протокол и базовая конфигурация интерфейса (wg0.conf) имеют одинаковую структуру.

6.1. Исходные данные

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

  • Центральный офис: внешний IP 192.168.17.57, локальная сеть 192.168.7.0/24.

  • Филиал: внешний IP 192.168.17.56, локальная сеть 192.168.6.0/24.

6.2. Настройка центрального офиса

На обеих сторонах поднимается WireGuard-интерфейс. Для туннеля используются серые адреса из диапазона 10.0.0.0/24. Центральному офису назначается адрес 10.0.0.57, филиалу - 10.0.0.56. Порт для входящих соединений на обеих сторонах устанавливается одинаковый (например, 446) - это упрощает настройку, хотя строгой необходимости в этом нет.

Параметры центрального офиса:

  • Локальный IP-адрес: 10.0.0.57

  • Диапазон IP-адресов: 10.0.0.1/24

  • Разрешённые сети: 192.168.7.0/24

  • Порт: 446

  • Публичный ключ: ejqAdME5zzhRpwi6ngEapKH4s1t1BuRMxsREOLH/plI=

Настройка пира на стороне центрального офиса:

  • Внешний IP-адрес удалённого сервера: 192.168.17.56

  • Порт удалённого сервера: 446

  • Удалённый IP-адрес: 10.0.0.56

  • Удалённые сети: 192.168.6.0/24

  • Публичный ключ (филиал): KE7k5N4p/pNzGI+My1u8e9lQ3YcbTtgtDt2se86JbBo=

6.3. Настройка филиала

Параметры филиала:

  • Локальный IP-адрес: 10.0.0.56

  • Диапазон IP-адресов: 10.0.0.1/24

  • Разрешённые сети: 192.168.6.0/24

  • Порт: 446

  • Публичный ключ: KE7k5N4p/pNzGI+My1u8e9lQ3YcbTtgtDt2se86JbBo=

Настройка пира на стороне филиала:

  • Внешний IP-адрес удалённого сервера: 192.168.17.57

  • Порт удалённого сервера: 446

  • Удалённый IP-адрес: 10.0.0.57

  • Удалённые сети: 192.168.7.0/24

  • Публичный ключ (центральный офис): ejqAdME5zzhRpwi6ngEapKH4s1t1BuRMxsREOLH/plI=

6.4. Проверка подключения

Если у нужного пира появилось время последнего рукопожатия (last handshake), это означает, что ключи подошли, туннель установлен и маршруты отработали корректно. Всё настроено верно.

Если рукопожатие отсутствует, проверьте:

  • совпадают ли порты и IP-адреса в параметре Endpoint;

  • не блокирует ли файрвол UDP-трафик;

  • правильный ли публичный ключ добавлен с каждой стороны.

7. Примечания

  • WireGuard работает поверх UDP, поэтому при использовании NAT или строгих межсетевых экранов необходимо обеспечить проходимость выбранного порта.

  • В отличие от OpenVPN, WireGuard не поддерживает двухфакторную аутентификацию.

  • Для мобильных устройств доступен импорт конфигурации через QR-код.

  • При изменении параметров сети рекомендуется заново сформировать и передать клиентам обновлённые конфигурационные файлы.