logo

Пример настройки OpenVPN туннеля для схемы с сервером и несколькими клиентами для роутеров iRZ

Задача

Настроить OpenVPN туннель на роутерах iRZ для схемы с сервером и несколькими клиентами.

  • Сервер, Клиент 1, Клиент 2 - роутеры iRZ

  • 192.168.1.0/24 - локальная сеть сервера

  • 192.168.2.0/24 - локальная сеть Клиента 1

  • 192.168.3.0/24 - локальная сеть Клиента 2

OpenVPN schema

Вариант решения

Основные настройки задаются в веб-интерфейсе роутера во вкладке VPN/Tunnels - OpenVPN tunnels

Настройки для Сервера

Для роутера, который выступает в роли Сервера, нужно указать настройки, приведенные в таблице.

Table 1. Настройки OpenVPN Tunnel → TUN (L3), сервер

Поля

Описание

Значение

Device

Выбор виртуального интерфейса

TUN (L3)

Transport Protocol

Выбор транспортного протокола

TCP Server

Port

Номер порта, через который будет работать туннель

1194

Authentication Method

Метод аутентификации

TLS Server

Add to Bridge or Create New

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

none

Ping Interval

Время в секундах, через которое будут отсылаться ICMP-пакеты для проверки работы туннеля

60

Ping Timeout

Время ожидания в секундах, через которое устройство попытается заново создать OpenVPN-туннель, если ответ не будет получен

120

LZO Compression

Режим сжатия данных, проходящих через туннель

No-

Остальные поля следует оставить пустыми.

Обратите внимание, при выборе метода аутентификации TLS Server появляются поля для указания сертификатов и ключей: CA Certificate, DH Parameter, Local Certificate, Local Private Key.

Table 2. Ключи и сертификаты для аутентификации сервера по протоколу TLS

Поля

Файл

Описание

CA Certificate

ca.crt

Сертификат удостоверяющего центра

DH Parameter

dh2048.pem

Файл с ключом для алгоритма Диффи-Хелмана для защиты передаваемых данных от расшифровки

Local Certificate

server.crt

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

Local Private Key

server.key

Приватный ключ сервера OpenVPN, секретный

Ключи и сертификаты необходимо получить либо от сертификационного центра, либо создать свой собственный сертификационный центр и создать на его основе требуемые ключи и сертификаты.

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

Поле Additional Config позволяет указывать дополнительные параметры для создания туннеля.

Пункты, которые могут быть указаны в данном поле, и их расшифровку можно посмотреть на официальном сайте OpenVPN по адресу: https://openvpn.net/index.php/open-source/documentation/howto.html#server

В данном случае для роутера, который выступает в роли сервера, в Additional Config нужно написать следующее:

mode server
server 10.10.10.10 255.255.255.0
client-to-client
client-config-dir /opt/ccd
route 192.168.3.0 255.255.255.0
route 192.168.2.0 255.255.255.0
push "route 192.168.3.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
verb 3

Директива client-config-dir /opt/ccd​ указывается для того чтобы сервер выдавал статические адреса туннельного интерфейса.

Обратите внимание, в данном примере Additional Config обращается к файлам, которые на роутере по умолчанию отсутствуют. Их нужно создать из консоли вручную.

Команда для созданиа директории /opt/ccd

mkdir /opt/ccd

Команда для создания файлов client1 и client2 в директории /opt/ccd

touch /opt/ccd/client1 && touch /opt/ccd/client2

В созданных файлах client1 и client2 нужно указать директивы:

root@iRZ-Router:/opt/ccd# cat client1
ifconfig-push 10.10.10.2 10.10.10.1
iroute 192.168.2.0 255.255.255.0
root@iRZ-Router:/opt/ccd# cat client2
ifconfig-push 10.10.10.3 10.10.10.1
iroute 192.168.3.0 255.255.255.0

Это и есть назначение клиентским роутерам статических туннельных адресов и маршрутов.

Настройки для Клиента

Для роутеров, которые выступают в роли Клиента, нужно указать настройки, приведенные в таблице.

Для Клиента 1 и Клиента 2 настройки различаются только ключами и сертификатами для аутентификации по протоколу TLS.

Table 3. Настройки OpenVPN Tunnel → TUN (L3), client1

Поля

Описание

Значение

Device

Выбор виртуального интерфейса

TUN (L3)

Transport Protocol

Выбор транспортного протокола

TCP Client

Remote

192.168.245.69

Port

Номер порта, через который будет работать туннель

1194

Authentication Method

Метод аутентификации

TLS Client

Add to Bridge or Create New

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

none

Remote Subnet

IP-адрес удаленной сети (на другом конце туннеля), который необходим для создания маршрута в таблице маршрутизации

192.168.1.0

Remote Subnet Mask

Маска удаленной сети (на другом конце туннеля)

255.255.255.0

Ping Interval

Время в секундах, через которое будут отсылаться ICMP-пакеты для проверки работы туннеля

60

Ping Timeout

Время ожидания в секундах, через которое устройство попытается заново создать OpenVPN-туннель, если ответ не будет получен

120

LZO Compression

Режим сжатия данных, проходящих через туннель

No

Остальные поля следует оставить пустыми.

При выборе метода аутентификации TLS Client появляются поля для указания сертификатов и ключей: CA Certificate, DH Parameter, Local Certificate, Local Private Key.

Table 4. Ключи и сертификаты для аутентификации клиента по протоколу TLS

Поля

Файл

Описание

CA Certificate

ca.crt

Сертификат удостоверяющего центра

Local Certificate

client1.crt - для Клиента 1 client2.crt - для Клиента 2

Сертификат OpenVPN

Local Private Key

client1.key - для Клиента 1 client2.key - для Клиента 2

Приватный ключ OpenVPN, секретный

Остальные поля следует оставить пустыми.

В поле Additional Config для роутеров, которые выступают в качестве клиентов, нужно написать следующее:

pull

В данной конфигурации все устройства и все локальные сети друг друга видят.