...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать профиль OpenVPN-сервера. | esr(config)# remote-access openvpn <NAME> | <NAME> – имя профиля OpenVPN-сервера, задаётся строкой до 31 символа. |
2 | Указать описание конфигурируемого сервера (не обязательно). | esr(config-openvpn-server)# description <DESCRIPTION> | <DESCRIPTION> – описание OpenVPN-сервера, задаётся строкой до 255 символов. |
3 | Определим подсеть, из которой выдаются IP-адреса пользователям (только для tunnel ip). | esr(config-openvpn-server)# network <ADDR/LEN> | <ADDR/LEN> – адрес подсети, имеет следующий формат: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [16..29]. |
4 | Указать инкапсулируемый протокол. | esr(config-openvpn-server)# protocol <PROTOCOL> | <PROTOCOL> – тип инкапсуляции, возможные значения:
|
5 | Определить тип соединения с частной сетью через OpenVPN-сервер. | esr(config-openvpn-server)# tunnel <TYPE> | <TYPE> – инкапсулирующий протокол, принимает значения:
|
6 | Указать список IP-адресов, из которого OpenVPN-сервером выдаются динамические IP-адреса удаленным пользователям в режиме L2 (только для tunnel ethernet). | esr(config-openvpn-server)# address-range <FROM-ADDR>-<TO-ADDR> | <FROM-ADDR> – начальный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <TO-ADDR> – конечный IP-адрес диапазона, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
7 | Включить клиентские соединения по OpenVPN в L2-домен (только для tunnel ethernet). | esr(config-openvpn-server)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста. |
8 | Указать сертификаты и ключи. | esr(config-openvpn-server)# crypto <CERTIFICATE-TYPE> <NAME> | <CERTIFICATE-TYPE> – тип сертификата или ключа, может принимать следующие значения:
<NAME> – имя сертификата или ключа, задаётся строкой до 31 символа. |
9 | Или указать контейнер pkcs 12 Примечание: Контейнер обязательно должен включать в себя сертификат удостоверяющего центра, публичный сертификат сервера и приватный ключ сервера. Применение сертификатов или контейнера являются взаимоисключающими, т.е. необходимо указывать или сертификаты или контейнер. | esr(config-openvpn-server)# crypto pfx <NAME> [password ascii-text <PASSWORD>] | <NAME> - имя PKCS12 контейнера, задаётся строкой до 31 символа. <PASSWORD> - пароль от PKCS12 контейнера. |
10 | Выбрать алгоритм шифрования, используемый при передачи данных. | esr(config-openvpn-server)# encryption algorithm <ALGORITHM> | <ALGORITHM> – идентификатор протокола шифрования, принимает значения: 3des,blowfish128, aes128. |
1011 | Включить OpenVPN-сервер в зону безопасности и настроить правила взаимодействия между зонами (см. раздел Конфигурирование Firewall). | esr(config-openvpn-server)# security-zone <NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 31 символа. |
1112 | Определить дополнительные параметры для указанного пользователя OpenVPN-сервера (при использовании локальной базы для аутентификации пользователей). | esr(config-openvpn-server)# username < NAME > | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
1213 | Определить подсеть для указанного пользователя OpenVPN-сервера. | esr(config-openvpn-user)# subnet <ADDR/LEN> | <ADDR/LEN> – адрес подсети, имеет следующий формат: |
1314 | Определить статический IP-адрес для указанного пользователя OpenVPN-сервера. | esr(config-openvpn-user)# ip address <ADDR> | <ADDR> – адрес имеет следующий формат: |
1415 | Включить профиль OpenVPN-сервера. | esr(config-openvpn-server)# enable | |
1516 | Включить блокировку передачи данных между клиентами (не обязательно). | esr(config-openvpn-server)# client-isolation | |
1617 | Устанавливается максимальное количество одновременных пользовательских сессий (не обязательно). | esr(config-openvpn-server)# client-max <VALUE> | <VALUE> – максимальное количество пользователей, принимает значения [1..65535]. |
1718 | Включается механизм сжатия передаваемых данных между клиентами и сервером OpenVPN (не обязательно). | esr(config-openvpn-server)# compression | |
1819 | Указать список DNS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-openvpn-server)# dns-server <ADDR> | <ADDR> – IP-адрес DNS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; |
1920 | Указать TCP-/UDP-порт, который будет прослушиваться OpenVPN-сервером (не обязательно). | esr(config-openvpn-server)# port <PORT> | <PORT> – TCP-/UDP-порт, принимает значения [1..65535]. Значение по умолчанию: 1194. |
2021 | Включить анонсирование маршрута по умолчанию для OpenVPN-соединений, что приводит к замене маршрута по умолчанию на клиентской стороне (не обязательно). | esr(config-openvpn-server)# redirect-gateway | |
2122 | Включить анонсирование указанных подсетей, шлюзом является IP-адрес OpenVPN-сервера (не обязательно). | esr(config-openvpn-server)# route <ADDR/LEN> | <ADDR/LEN> – адрес подсети, имеет следующий формат: AAA.BBB.CCC.DDD/EE – IP-адрес подсети с маской в форме префикса, где AAA-DDD принимают значения [0..255] и EE принимает значения [1..32]. |
2223 | Указать временной интервал, по истечению которого встречная сторона считается недоступной (не обязательно). | esr(config-openvpn-server)# timers holdtime <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 120. |
2324 | Указать временной интервал, по истечению которого идет проверка соединения со встречной стороной (не обязательно). | esr(config-openvpn-server)# timers keepalive <TIME> | <TIME> – время в секундах, принимает значения [1..65535]. Значение по умолчанию: 10. |
2425 | Разрешить подключаться к OpenVPN-серверу нескольким пользователям с одним сертификатом. | esr(config-openvpn-server)# duplicate-cn | |
2526 | Указать список WINS-серверов, которые будут использовать удаленные пользователи (не обязательно). | esr(config-openvpn-server)# wins-server <ADDR> | <ADDR> – IP-адрес WINS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
2627 | Изменить алгоритм аутентификации OpenVPN-клиентов (не обязательно). | esr(config-openvpn-server)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм аутентификации:
Значение по умолчанию: sha. |
...
- Подготовить сертификаты и ключи:
- Сертификат Удостоверяющего Центра (СА),
- Ключ и сертификат для OpenVPN-сервера,
- Ключ Диффи-Хэллмана и HMAC для TLS.
ИЛИ
- Контейнер PKSC12, содержащий в себе сертификат Удостоверяющего Центра (СА) и ключ и сертификат для OpenVPN-туннеля.
- Настроить зону для интерфейса te1/0/1.
- Указать IP-адреса для интерфейса te1/0/1.
...
Блок кода |
---|
esr# copy tftp://192.168.16.10:/ca.crt crypto:cert/ca.crt esr# copy tftp://192.168.16.10:/dh.pem crypto:dh/dh.pem esr# copy tftp://192.168.16.10:/server.key crypto:private-key/server.key esr# copy tftp://192.168.16.10:/server.crt crypto:cert/server.crt esr# copy tftp://192.168.16.10:/ta.key crypto:ta/ta.key |
Или импортируем PKCS12 контейнер:
Блок кода |
---|
esr# copy tftp://192.168.0.1:/container.p12 crypto:pfx/cont.p12 |
Создадим OpenVPN-сервер и подсеть, в которой он будет работать:
...
Блок кода |
---|
esr(config-openvpn)# crypto ca ca.crt esr(config-openvpn)# crypto dh dh.pem esr(config-openvpn)# crypto private-key server.key esr(config-openvpn)# crypto cert server.crt esr(config-openvpn)# crypto ta ta.key |
Или укажем импортированный контейнер, DH и TA ключи указываются:
Блок кода |
---|
esr(config-openvpn)# crypto dh dh.pem
esr(config-openvpn)# crypto ta ta.key
esr(config-openvpn)# crypto pfx pfx.p12 |
Укажем зону безопасности, к которой будут относиться сессии пользователей:
...