OpenVPN

Для работы OpenVPN необходимы пакеты:

  • openssl

  • easy-rsa

  • openvpn

Данные пакеты являются предустановленными в Traffic Inspector Next Generation.

OpenVPN - это реализация VPN в user space, которая использует SSL/TLS для защиты туннелируемого трафика. Такой подход становится возможным благодаря механизму TUN/TAP, реализованному в виде загружаемого драйвера ядра. В рамках данного механизма, система получает виртуальный интерфейс tun (IP-трафик) или tap (Ethernet-трафик). Все пакеты, которые система «высылает» с данного виртуального интерфейса, доступны для прочтения через специальный файл устройства /dev/tun или /dev/tap. Openvpnd демон читает пакеты из файла /dev/tun или /dev/tap, и далее передает их как обычные данные через стек TCP/IP с использованием криптомеханизма SSL/TLS. Входящий туннельный трафик доставляется Openvpnd демону, который дешифрует его и инжектирует пакеты в ядро посредством записи в файл /dev/tun или /dev/tap. Таким образом, трафик считается «пришедшим» на виртуальный сетевой интерфейс tun или tap.

OpenVPN поддерживает работу в режиме «сеть - сеть» (туннель между маршрутизаторами Traffic Inspector Next Generation, расположенными в географически удаленных офисах) и в режиме «узел - сеть» (подключение удаленных сотрудников к головному офису организации).

Безотносительно того, настраивается ли OpenVPN в режиме «сеть - сеть» или «узел - сеть», настройка на одном устройстве осуществляется в разделе VPN -> OpenVPN -> Серверы, а на другом - в разделе VPN -> OpenVPN -> Клиенты.

В зависимости от сочетаний параметров, можно настроить VPN без использования сертификатов или без использования аутентификации по логину/паролю, а также с использованием как сертификатов, так и аутентификации по логину/паролю.

Если делается выбор в пользу использования сертификатов, то сертификаты должны настраиваться на обеих сторонах туннеля. Тем самым обеспечивается взаимоаутентификация клиента и сервера. Сертификат на сервере должен быть рассчитан на использования для Server authentication. Сертификат на клиенте должен быть рассчитан на использования для Client authentication. Сертификаты на сервере и клиенте могут использовать разные алгоритм подписи, хэш алгоритм подписи и длину открытого ключа.

На обоих сторонах туннеля должны быть настроены аналогичные Алгоритм шифрования и Дайджест-алгоритм аутентификации.

SSL/TLS используется всегда, даже если названия некоторых вариантов настроек не содержат аббревиатуру SSL/TLS.

Функционал TLS authentication является опциональным. Если он включается на одной стороне туннеля, то он должен быть включен и на другой стороне туннеля.

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

Продемонстрируем настройку OpenVPN в режиме «сеть - сеть». В нашем примере используется следующая топология:

../_images/scheme_1.png

Маршрутизатор TINGA

Имя хоста

TINGA

WAN IP

33.44.55.66/32

LAN IP

192.168.1.1/24


Маршрутизатор TINGB

Имя хоста

TINGB

WAN IP

44.55.66.77/32

LAN IP

192.168.2.1/24


Убедитесь, что маршрутизаторы TINGA и TINGB имеют адекватные сетевые настройки. В частности, WAN-адаптерам должны быть присвоены валидные «белые» IP-адреса - в нашем примере, это адреса 33.44.55.66 и 44.55.66.77.

На обоих маршрутизаторах, в разделе Сетевой экран -> Правила на вкладке WAN, создайте правило для разрешения ICMP-трафика. С каждого из маршрутизаторов, из раздела Интерфейсы -> Диагностика -> Ping, осуществите пропинговку IP-адреса WAN-адаптера противоположного маршрутизатора. Тем самым, Вы проверяете, что передача трафика между маршрутизаторами через сеть Интернет в принципе возможна и ей ничего не препятствует.

LAN-сегмент, располагающийся за каждым из маршрутизаторов, должен использовать уникальную IP-сеть. В нашем примере, это условие выполяется - за маршрутизатором TINGA располагается IP-сеть 192.168.1.0/24, за маршрутизатором TINGB распологается IP-сеть 192.168.2.0/24.


Настройка VPN на маршрутизаторе TINGA

Пройдите в VPN -> OpenVPN -> Серверы и кликните на Добавить сервер в верхнем правом углу формы. Используйте следующие настройки (настройки, которые мы опускаем, должны остаться по умолчанию):

Режим сервера

Пиринговая сеть (общий ключ)

Протокол

UDP

Режим работы устройства

tun

Интерфейс

WAN

Локальный порт

1194

Описание

OpenVPN peer 1

Совместно используемый ключ

Установите флажок для генерации нового ключа

Алгоритм шифрования

AES-256-CBC (256-bit)

Дайджест-алгоритм аутентификации

SHA512 (512-bit)

Hardware Crypto

Без аппаратного ускорения криптоалгоритмов

Туннельная сеть IPv4

172.16.1.0/24

Локальная сеть/сети IPv4

192.168.1.0/24

Удаленная сеть/сети IPv4

192.168.2.0/24

Сжатие

Включено с использованием адаптивного сжатия

Кликните Сохранить для применения настроек.


Копирование ключа

После создания нового сервера, в его настройках генерируется ключ, который необходимо также прописать на противоположной стороне туннеля (на маршрутизаторе TINGB). Для копирования ключа, щелкните на иконку «карандаш» напротив ранее созданного VPN-сервера.

Пример того, как выглядит ключ:

#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
0960c87c3aafa8f306fe270c1564380b
7922543563a17b5d2636b4ef9412dd09
9ad44974ca1b293963e0f8ac9cbdd97c
2c31bf35f0df45c9e928ccb033e6d51d
2caaec02d649ad081c68d7bc7d28030e
9182c9597a83024097bea860e52d9c66
1b9e0048fbf951ce8659bc56edb7f9a1
14f7740fc9231a3750557e02eb112712
ac4b9980d4c740ec96a4357f3940ed90
d1bbf8eed3de135c886fe2eff8e8b943
ab1f52b59def4c9ebeacc5eb48425189
c43887a6237c29e0724f5f45a0f70635
10680bec8bfb67c21bf2b4866268594c
9ba093668064f9a898e6a6ad103b401d
b2047132f0dc8db2230db38444d689fa
ddba46bf6f892ae90c59415f94b82750
-----END OpenVPN Static key V1-----

Настройка VPN на маршрутизаторе TINGB

Пройдите в раздел VPN -> OpenVPN-> Клиенты и кликните по Добавить клиента в верхнем правом углу формы.

Используйте следующие настройки (настройки, которые мы опускаем, должны остаться по умолчанию):

Режим сервера

Пиринговая сеть (общий ключ)

Протокол

UDP

Режим работы устройства

tun

Интерфейс

WAN

Адрес сервера

33.44.55.66

Порт сервера

1194

Описание

OpenVPN peer 2

Совместно используемый ключ

Уберите флажок и вставьте ключ, скопированный с маршрутизатора TINGA

Encryption algorithm

AES-256-CBC (256-bit)

Auth Digest Algorithm

SHA512 (512-bit)

Hardware Crypto

Без аппаратного ускорения криптоалгоритмов

Туннельная сеть IPv4

172.16.1.0/24

Локальная сеть/сети IPv4

192.168.2.0/24

Удаленная сеть/сети IPv4

192.168.1.0/24

Сжатие

Включено с использованием адаптивного сжатия

Кликните Сохранить для применения настроек.


Как видно из настроек, VPN будет обладать следующими характеристиками:

SSL/TLS используется
Туннелируемый трафик инкапсулируется в UDP-пакеты
OpenVPN демон будет обрабатывать подключения только на IP-адрес, присвоенный WAN-адаптеру
Сертификаты не используются
Аутентификация по логину/паролю не используется
Аутентификация TLS не используется
Сжатие данных используется

Создание правил сетевого экрана

На маршрутизаторе, который настраивался как VPN-сервер (маршрутизатор TINGA), в разделе Сетевой экран -> Правила, на вкладке WAN, создайте правило для разрешения OpenVPN-трафика. По молчанию, OpenVPN использует протокол UDP и порт 1194.

../_images/pf_rules_udp_1194.png

Для того, чтобы трафик мог передаваться между маршрутизаторами TINGA и TINGB по туннелю, на обоих маршрутизаторах, в разделе Сетевой экран -> Правила на вкладке OPENVPN, создайте правило для разрешения трафика из IP-сети 172.16.1.0/24.

Для того, чтобы трафик мог передаваться между сетями 192.168.1.0/24 и 192.168.2.0/24 по туннелю, в разделе Сетевой экран -> Правила на вкладке OPENVPN, создайте следующие правила:

На маршрутизаторе TINGA - правило для разрешения трафика из IP-сети 192.168.2.0/24.

../_images/pf_rules_tinga.png

На маршрутизаторе TINGB - правило для разрешения трафика из IP-сети 192.168.1.0/24.

../_images/pf_rules_tingb.png

Кликните на кнопку Сохранить изменения.


Подключенных к VPN-серверу клиентов можно посмотреть в разделе VPN-> OpenVPN-> Статус соединения.

../_images/status_server.png

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

Продемонстрируем настройку OpenVPN в режиме «узел - сеть». В нашем примере используется следующая топология:

../_images/scheme_2.png

Маршрутизатор TING

Имя хоста

TING

WAN IP

11.22.33.44/32

LAN IP

192.168.1.1/24

Туннельная сеть

172.16.1.0/24


Компьютер удаленного пользователя

Имя хоста

User PC

WAN IP

22.33.44.55/32

LAN IP

192.168.2.1/24

Туннельная сеть

172.16.1.0/24


Настройки на маршрутизаторе TING

Создание сертификата издательства

Если сертификат издательства уже существует, данный шаг можно пропустить. На маршрутизаторе TING, пройдите в раздел Система -> Доверенные сертификаты -> Полномочия и создайте сертификат издательства со следующими настройками:

Описательное имя

OpenVPN CA

Метод

Создать внутренний центр сертификации

Тип ключа

RSA

Длина ключа (бит)

4096

Алгоритм дайджеста

SHA512

Время существования (д)

365

Код страны

RU (Russia)

Штат или область

MO

Город

Kolomna

Организация

Smart-Soft

Эл. почта

info@smart-soft.ru

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

OpenVPN CA


Создание серверного сертификата для маршрутизатора TING

На маршрутизаторе TING, пройдите в раздел Система -> Доверенные сертификаты -> Сертификаты и создайте серверный сертификат со следующими настройками:

Метод

Создать внутренний сертификат

Описательное имя

OpenVPN SRV cert

Центр сертификации

OpenVPN CA

Тип

Сертификат сервера

Тип ключа

RSA

Длина ключа (бит)

4096

Алгоритм дайджеста

SHA512

Время существования (д)

365

Код страны

RU (Russia)

Штат или область

MO

Город

Kolomna

Организация

Smart-Soft

Эл. почта

info@smart-soft.ru

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

OpenVPN server cert


Создание пользователя и клиентского сертификата

Создайте учетную запись для пользователя в разделе Система -> Доступ -> Пользователи на маршрутизаторе TING.

Укажите имя учетной записи и пароль, установите флаг Создать сертификат пользователя и нажмите на кнопку Сохранить. Вы окажитесь в мастере создания сертификата пользователя. Укажите следующие настройки сертификата:

Метод

Создать внутренний сертификат

Описательное имя

danny

Центр сертификации

OpenVPN CA

Тип

Сертификат клиента

Тип ключа

RSA

Длина ключа (бит)

4096

Алгоритм дайджеста

SHA512

Время существования (д)

365

Код страны

RU (Russia)

Штат или область

MO

Город

Kolomna

Организация

Smart-Soft

Эл. почта

info@smart-soft.ru

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

danny


Настройка VPN на маршрутизаторе TING

Пройдите в VPN -> OpenVPN -> Серверы и кликните на Добавить сервер в верхнем правом углу формы. Используйте следующие настройки (настройки, которые мы опускаем, должны остаться по умолчанию):

Описание

OpenVPN Server

Режим сервера

Удаленный доступ (SSL/TLS + аутентификация пользователя)

Сервер для аутентификации

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

Протокол

UDP

Режим работы устройства

tun

Интерфейс

WAN

Локальный порт

1194

Центр сертификации пиров

Сертификат OpenVPN CA

Сертификат сервера

Сертификат OpenVPN SRV cert

Длина параметров DH

4096

Алгоритм шифрования

AES-256-CBC (256-bit)

Дайджест-алгоритм аутентификации

SHA512 (512-bit)

Hardware Crypto

Без аппаратного ускорения криптоалгоритмов

Уровень сертификата

Один (клиент + сервер)

Туннельная сеть IPv4

172.16.1.0/24

Локальная сеть/сети IPv4

192.168.1.0/24

Сжатие

Включено с использованием адаптивного сжатия

DNS-серверы

8.8.8.8


Кликните Сохранить для применения настроек.


Как видно из настроек, VPN будет обладать следующими характеристиками:

SSL/TLS используется
Туннелируемый трафик инкапсулируется в UDP-пакеты
OpenVPN демон будет обрабатывать подключения только на IP-адрес, присвоенный WAN-адаптеру
Сертификаты используются для взаимоаутентификации
Аутентификация по логину/паролю используется
Аутентификация TLS не используется
Сжатие данных используется

Создание правил сетевого экрана

На маршрутизаторе TING, в разделе Межсетевой экран -> Правила, на вкладке WAN, создайте правило для разрешения OpenVPN-трафика. По молчанию, OpenVPN использует протокол UDP и порт 1194.

../_images/pf_rules_udp_1194.png

Для того, чтобы разрешить VPN-клиентам обращаться в сеть 192.168.1.0/24, находящуюся за маршрутизатором TING, и на сам маршрутизатором TING через туннель, на маршрутизаторе TING, в разделе Межсетевой экран -> Правила на вкладке OpenVPN, создайте правило для разрешения трафика из IP-сети 172.16.1.0/24.

../_images/pf_rules_ting.png

Кликните на кнопку Сохранить изменения.


Настройки на компьютере удаленного пользователя


Установка OpenVPN-клиента

На компьютере удаленного пользователя установите OpenVPN Community, доступный для скачивания по ссылке .


Настройка VPN

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

На маршрутизаторе TING, перейдите в раздел VPN -> OpenVPN -> Экспорт настроек клиента и эскпортируйте config файл клиента для OpenVPN

../_images/openvpn_export.png

После установки OpenVPN Community, скопируйте эскпортированные файлы в папку config, обычно она расположена C:\Users\%username%\OpenVPN\config

../_images/openvpn_path.png

В трее выбрать OpenVPN Connect и нажать Подключиться для установки соединения:

../_images/openvpn_connect.png

Если подключение прошло без критических ошибок, то в появившемся окне авторизации необходимо ввести данные пользователя:

../_images/openvpn_authorization.png

Если введены корректные данные пользователя, то VPN-соединение будет установлено.