Настройка OpenVPN в режиме «сеть - сеть»

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

Предварительные условия

Для настройки SSL-туннеля OpenVPN, необходимо иметь установленный TING с уникальной адресом подсети LAN для каждой из сторон (локальная сеть должна отличаться от удалённой сети).

Примечание

В примере будет использоваться частный IP-адрес для WAN-соединения. Всвязи с чем, для разрешения приватного трафика, необходимо, чтобы был отключен (снят флажок) у параметра Блокировать частные сети на странице настроек Интерфейсы ‣ [WAN].

Топология сети

Схема ниже показывает ситуацию, которую будем реализовывать: сети A и B, транзитная сеть 192.168.1.0/24 для соединения обоих брандмауэров, туннельная сеть 10.1.8.0/24 между локациями:

../../_images/sslvpn-instances_s2s-topology.svg

Подготовка

Доверенные сертификаты

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

Для OpenVPN требуется наличие центра сертификации (в примере TING CA 139), сертификата для сервера (в примере OVPN-cert) и сертификат пользователя (в примере test1_auth для пользователя test1).

Нужно создать:

  • Корневой CA: TING CA 139.

  • Сертификат для сервера - Сеть B: для поля Стандартное имя указать имя машины в FQDN-формате.

  • Сертификат для клиента - Сеть A: создать пользователя с таким же именем, как указано в поле Стандартное имя.

Корневой центр сертификации выдаёт сертификаты напрямую - промежуточный центр сертификации не нужен.

Примечание

Лучше всего предлагать каждому пользователю собственный сертификат, использующий то же самое имя, что и у пользователя (хоть клиенты и могут использовать сертификат совместно). При добавлении сертификата из менеджера пользователей, поле Стандартное имя автоматически примет значение имени пользователя. В этом примере мы будем аутентифицироваться только по сертификату, никаких дополнительных пользователей или паролей не потребуется.

Статические ключи

Статический ключ создаётся в разделе VPN ‣ OpenVPN ‣ Соединения, вкладка Статические ключи. Для данного примера надо выбрать режим auth, затем нажать кнопку с изображением шестерёнки генерации ключа и указать к нему описание.

Подготовка сети A

  • Скопируйте открытую часть сертификата центра сертификации на TING сети A (нажать кнопку загрузки и скопировать содержимое в новый CA на этом хосте.

  • Скопируйте открытую и закрытые части клиентского сертификата в новый сертификат в сети А.

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

Создание серверного соединения (Сеть B)

После завершения общей настройки, можно настроить соединение типа сервер с помощью VPN ‣ OpenVPN ‣ Соединения:

Параметры соединения для сети B

Параметр

Значение

Роль

Сервер

Описание

OVPN-serv

Протокол

UDP (IPv4)

Port number

1194

Адрес привязки

192.168.1.139 [1]

Server (IPv4)

10.1.8.0/24 (используемая туннельная сеть)

Сертификат

Использовать подготовленный сертификат сервера

Статический ключ TLS

Использовать подготовленный статический ключ

Аутентификация

Локальная база данных [2]

Локальная сеть

10.10.1.0/24

Удалённая сеть

10.10.2.0/24 [3]

Примечание

  • Локальная сеть - это физическая или логическая подсеть, к которой напрямую подключён OpenVPN-сервер и которую он может предоставлять клиентам через зашифрованный клиент.

  • Удалённая сеть - это подсеть, доступная через VPN-сервер, но физически находящаяся за его пределами.

Нажмите кнопку Применить и добавьте переопределение в VPN ‣ OpenVPN ‣ Переопределение значений для конкретного клиента:

Параметр

Значение

Серверы

Оставить пустым или выбрать ваш сервер

Стандартное имя

test1

Удалённая сеть

10.10.1.0/24 [4]

Затем надо перейти в Межсетевой экран ‣ Правила ‣ WAN и добавить правило для разрешения трафика на порт 1194/UDP с других хостов, на базе следующих параметров:

Параметр

Значение

Действие

Разрешение

Интерфейс

WAN

Протокол

UDP

Получатель

WAN-адрес

Диапазон портов назначения

1194 (OpenVPN)

Описание

Разрешить клиентский трафик OpenVPN

Теперь требуется разрешить трафик в самом туннеле, добавив правило в Межсетевой экран ‣ Правила ‣ OpenVPN. Для примера, будет добавлено правило, разрешающее всё (это позволит оставить все остальные настройки по умолчанию:

Параметр

Значение

Действие

Разрешение

Интерфейс

OpenVPN

Протокол

any

Создание клиентского соединения (Сеть A)

Теперь надо настроить клиент на TING. Для этого перейдём в VPN ‣ OpenVPN ‣ Соединения и добавим новое соединение, используя следующие настройки:

Параметры соединения для сети A.

Параметр

Значение

Роль

Клиент

Описание

OVPN-client

Протокол

UDP (IPv4)

Удалённо

192.168.1.140 [5]

Сертификат

Использовать подготовленный сертификат сервера

Статический ключ TLS

Использовать подготовленный статический ключ

Удалённая сеть

10.10.2.0/24

Проверка соединения

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

Теперь можно проверить работу со стороны клиента (Сеть А) 10.10.1.11 при помощи ping:

ping -c 3 10.10.2.11