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

Введение

Сотрудники на удалённой работе/мобильные клиенты - это удалённые пользователи, которым необходим безопасный доступ к инфраструктуре компании. Traffic Inspector Next Generation использует OpenVPN для настройки SSL VPN «клиент - сеть» и предлагает интеграцию OTP со стандартными токенами и Google Authentificator.

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

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

Примечание

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

Примечание

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

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

Схема ниже показывает ситуацию, которую будем реализовывать: клиент с «внешним» IP-адресом 192.168.1.105/24 на брандмауэре TING, к которому мы подключаемся по WAN-адресу 192.168.1.139/24, строит туннель 10.1.8.0/24, чтобы достичь TING по адресу 10.1.8.1, получить доступ к LAN-сети TING 10.10.3.0/24 и внутреннего сервера по адресу 10.10.3.11.

../../_images/sslvpn-instances_client-topology.svg

Подготовка

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

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

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

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

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

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

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

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

Примечание

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

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

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

Создание сервера соединения

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

Параметр

Значение

Основные настройки

Роль

Сервер

Описание

OVPN-serv

Протокол

UDP (IPv4)

Номер порта

1194

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

192.168.1.139 [1]

Сервер (IPv4)

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

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

Сертификат

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

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

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

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

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

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

Ограниченный пользователь /совпадение с общим именем сертификата

Установить флажок [3]

Маршрутизация

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

10.10.3.0/24

Прочее

Шлюза для перенаправления

Ничего не выбрано [4]

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

Параметр

Значение

Действие

Разрешение

Интерфейс

WAN

Протокол

UDP

Получатель

WAN-адрес

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

1194 (OpenVPN)

Описание

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

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

Параметр

Значение

Действие

Разрешение

Интерфейс

OpenVPN

Протокол

any

Предупреждение

Правила, в которых в качестве отправителя/получателя указывается значение OpenVPN сеть не будут работать, так как автоназываемые списки формируются из настроек интерфейсов, где OpenVPN-интерфейс имеет маску /32, а значит на всю логическую сеть он не распространяется.

Необходимо прописывать значения полей Отправитель/Получатель для сетей OpenVPN вручную. Например, для OpenVPN-сети 172.16.1.0/24 надо указать:

Единственный хост или сеть
172.16.1.0/24

Экспорт настроек клиента

После установки сервера надо настроить клиент на TING. Для это надо перейти на страницу VPN ‣ OpenVPN ‣ Экспорт настроек клиента и экспортировать профиль для удалённого клиента.

Параметр

Значение

Сервер удалённого доступа

MyServer

Тип экспорта

Только файл

Имя хоста

192.168.1.139

Порт

1194

После экспорта, профиль надо загрузить в соответствующую программу-клиент (например, OpenVPN GUI Client для Windows).

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

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

Теперь можно проверить со стороны клиента доступность TING в туннельной сети 10.1.8.1 и внутреннего сервера 10.10.3.11 через браузер или в командной строке при помощи команды ping:

ping -c 3 10.1.8.1

ping -c 3 10.10.3.11