Пример настройки OpenVPN туннеля для схемы с сервером и несколькими клиентами для роутеров iRZ
Задача
Настроить OpenVPN туннель на роутерах iRZ для схемы с сервером и несколькими клиентами.
-
Сервер, Клиент 1, Клиент 2 - роутеры iRZ
-
192.168.1.0/24 - локальная сеть сервера
-
192.168.2.0/24 - локальная сеть Клиента 1
-
192.168.3.0/24 - локальная сеть Клиента 2
Вариант решения
Основные настройки задаются в веб-интерфейсе роутера во вкладке VPN/Tunnels - OpenVPN tunnels
Настройки для Сервера
Для роутера, который выступает в роли Сервера, нужно указать настройки, приведенные в таблице.
Поля |
Описание |
Значение |
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.
Поля |
Файл |
Описание |
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.
Поля |
Описание |
Значение |
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.
Поля |
Файл |
Описание |
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
В данной конфигурации все устройства и все локальные сети друг друга видят.