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 в режиме «сеть - сеть». В нашем примере используется следующая топология:
Маршрутизатор 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.
Для того, чтобы трафик мог передаваться между маршрутизаторами 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.
На маршрутизаторе TINGB - правило для разрешения трафика из IP-сети 192.168.1.0/24.
Кликните на кнопку Сохранить изменения.
Подключенных к VPN-серверу клиентов можно посмотреть в разделе VPN-> OpenVPN-> Статус соединения.
Настройка OpenVPN в режиме «клиент - сеть»
Продемонстрируем настройку OpenVPN в режиме «узел - сеть». В нашем примере используется следующая топология:
Маршрутизатор 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 |
Эл. почта |
|
Стандартное имя |
OpenVPN CA |
Создание серверного сертификата для маршрутизатора TING
На маршрутизаторе TING, пройдите в раздел Система -> Доверенные сертификаты -> Сертификаты и создайте серверный сертификат со следующими настройками:
Метод |
Создать внутренний сертификат |
Описательное имя |
OpenVPN SRV cert |
Центр сертификации |
OpenVPN CA |
Тип |
Сертификат сервера |
Тип ключа |
RSA |
Длина ключа (бит) |
4096 |
Алгоритм дайджеста |
SHA512 |
Время существования (д) |
365 |
Код страны |
RU (Russia) |
Штат или область |
MO |
Город |
Kolomna |
Организация |
Smart-Soft |
Эл. почта |
|
Стандартное имя |
OpenVPN server cert |
Создание пользователя и клиентского сертификата
Создайте учетную запись для пользователя в разделе Система -> Доступ -> Пользователи на маршрутизаторе TING.
Укажите имя учетной записи и пароль, установите флаг Создать сертификат пользователя и нажмите на кнопку Сохранить. Вы окажитесь в мастере создания сертификата пользователя. Укажите следующие настройки сертификата:
Метод |
Создать внутренний сертификат |
Описательное имя |
danny |
Центр сертификации |
OpenVPN CA |
Тип |
Сертификат клиента |
Тип ключа |
RSA |
Длина ключа (бит) |
4096 |
Алгоритм дайджеста |
SHA512 |
Время существования (д) |
365 |
Код страны |
RU (Russia) |
Штат или область |
MO |
Город |
Kolomna |
Организация |
Smart-Soft |
Эл. почта |
|
Стандартное имя |
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.
Для того, чтобы разрешить VPN-клиентам обращаться в сеть 192.168.1.0/24, находящуюся за маршрутизатором TING, и на сам маршрутизатором TING через туннель, на маршрутизаторе TING, в разделе Межсетевой экран -> Правила на вкладке OpenVPN, создайте правило для разрешения трафика из IP-сети 172.16.1.0/24.
Кликните на кнопку Сохранить изменения.
Настройки на компьютере удаленного пользователя
Установка OpenVPN-клиента
На компьютере удаленного пользователя установите OpenVPN Community, доступный для скачивания по ссылке .
Настройка VPN
Эскпорт настроек клиента.
На маршрутизаторе TING, перейдите в раздел VPN -> OpenVPN -> Экспорт настроек клиента и эскпортируйте config файл клиента для OpenVPN
После установки OpenVPN Community, скопируйте эскпортированные файлы в папку config, обычно она расположена C:\Users\%username%\OpenVPN\config
В трее выбрать OpenVPN Connect и нажать Подключиться для установки соединения:
Если подключение прошло без критических ошибок, то в появившемся окне авторизации необходимо ввести данные пользователя:
Если введены корректные данные пользователя, то VPN-соединение будет установлено.