|
Параметр
|
Описание
|
|
ike
|
Протокол подключения. Может использоваться в сценариях site-to-site и remote access VPN
|
|
dtls
|
Протокол подключения. Используется только при подключении конечных устройств с помощью UserGate Client в сценарии remote access VPN
|
|
name
|
Название правила подключения
|
|
description
|
Описание правила подключения
|
|
protocol
|
Версия протокола IKE:
|
|
ike-mode
|
Режим работы протокола IKEv1:
|
|
psk
|
Значение общего ключа (pre-shared key)
|
|
src-zones
|
Зона источника трафика
|
|
src-ips
|
Адрес источника трафика (инициатора соединения):
-
ip — список IP-адресов;
-
url — список доменов;
-
geoip — GeoIP
|
|
dst-ips
|
Адрес назначения трафика (интерфейса, на который будут приходить подключения):
-
ip — список IP-адресов;
-
url — список доменов
|
|
key-lifetime
|
Время жизни ключа. По истечении этого времени происходит повторная аутентификация и согласование настроек фазы 1:
|
|
dpd-state
|
Режимы работы механизма Dead peer detection (DPD):
-
off — механизм отключен. DPD-запросы не отсылаются.
-
always — DPD-запросы всегда отсылаются через указанный интервал времени. Если ответ не пришел, последовательно с интервалом 5 сек. отсылаются дополнительные запросы в количестве, указанном в параметре dpd-max-failures. Если ответ пришел, работа механизма возвращается к изначальному интервалу отправки DPD запросов. Если ответ не пришел, соединение завершается.
-
idle — DPD-запросы не отсылаются, пока есть ESP-трафик через созданный канал. Если в течение двойного указанного интервала времени нет ни одного пакета, происходит отсылка DPD-запроса. При ответе новый DPD-запрос будет отправлен снова через двойной интервал указанного времени. При отсутствии ответа последовательно с интервалом 5 сек. отсылаются дополнительные запросы в количестве, указанном указанном в параметре dpd-max-failures. Если нет ни одного ответа, соединение завершается
|
|
dpd-interval
|
Интервал отправки дополнительных запросов DPD. Указывается в секундах
|
|
dpd-max-failures
|
Количество повторов отправки DPD-запросов
|
|
dh-groups
|
Группы Диффи-Хеллмана, которые будут использоваться для обмена ключами
|
|
security
|
Алгоритмы аутентификации и шифрования
|
|
dtls-security
|
Алгоритмы аутентификации и шифрования для использования с протоколом DTLS.
|
Пример создания правила подключения с протоколом IKE:
Admin@nodename# create vpn-server connection-rules ike name Test1 description "Test connection rule #1" protocol ikev1 psk 123321 ike-mode main src-zones [ Untrusted ] dh-groups [ "Group 2 Prime 1024 bit" "Group 14 Prime 2048 bit" ] security [ SHA1/AES256 SHA256/AES256 ] key-lifetime 1h dpd-state always dpd-interval 65 dpd-max-failures 5
Repeat preshared key:
Admin@nodename# show vpn-server connection-rules ike Test1
name : Test1
description : Test connection rule #1
type : ike
protocol : ikev1
ike-mode : main
src-zones : Untrusted
dh-groups : Group 2 Prime 1024 bit; Group 14 Prime 2048 bit
security :
authentication : SHA1
encryption : AES256
authentication : SHA256
encryption : AES256
key-lifetime : 1 h
dpd-state : always
dpd-interval : 65
dpd-max-failures : 5
Admin@nodename#
Для изменения параметров правила подключения используется команда:
Admin@nodename# set vpn-server connection-rules [ike|dtls] [rule-name] <parameters>
Для просмотра созданных ранее правил подключения используется команда:
Admin@nodename# show vpn-server connection-rules [ike|dtls] <rule-name>
Для удаления правил подключения используется команда:
Admin@nodename# delete vpn-server connection-rules [ike|dtls] [rule-name]
Настройка правил аутентификации
Правила аутентификации описывают второй этап установления соединения. Этап начинается с ответа узла-инициатора на предложение по обмену ключами и заканчивается после аутентификации инициатора. Правила содержат проверки типа аутентификации и определяют параметры фазы 2 установления защищенного соединения.
Команда для создания правила аутентификации:
Admin@nodename# create vpn-server authentication-rules [site-to-site|remote-access] <parameters>
Дополнительные параметры команды.
|
Параметр
|
Описание
|
|
ikev2
|
Протокол установления защищенного соединения IPsec IKEv2
|
|
ipsec
|
Протокол установления защищенного соединения IPsec IKEv1. Используется только в сценарии site-to-site
|
|
l2tp-ipsec
|
Протокол установления защищенного соединения L2TP/IPsec IKEv1
|
|
dtls
|
Протокол установления защищенного соединения DTLS. Используется только в сценарии remote access
|
|
name
|
Название правила аутентификации
|
|
description
|
Описание правила аутентификации
|
|
auth-ptofile
|
Профиль аутентификации для пользователей VPN
|
|
connection-rules
|
Выбор созданного ранее правила подключения
|
|
initiator-type
|
Выбор параметра идентификации узла-инициатора соединения:
|
|
initiator-value
|
Значение параметра идентификации узла-инициатора:
-
<ip> — например, 192.168.0.1;
-
<domain> — например, example.com
|
|
responder-type
|
Выбор параметра идентификации узла-ответчика:
|
|
responder-value
|
Значение параметра идентификации узла-ответчика:
-
<ip> — например, 192.168.0.1;
-
<domain> — например, example.com
|
|
auth-mode
|
Выбор режима аутентификации:
-
psk — аутентификации с помощью общего ключа (pre-shared key).
-
pki — аутентификации с помощью x.509 сертификатов.
-
aaa — аутентификации с помощью сервера AAA (логин и пароль). Только для сценария remote access
|
|
psk
|
Значение общего ключа (pre-shared key) для сценария site-to-site с IKEv2
|
|
certificate
|
Сертификат сервера.
Сертификат используется для аутентификации сервера при установлении VPN-соединения.
|
|
client-certificate-profile
|
Профиль сертификата VPN-клиента.
Профиль клиентского сертификата предназначен для получения имени пользователя из соответствующего атрибута в сертификате клиента, проверки иерархии доверия и подлинности сертификата по спискам отозванных сертификатов.
Подробнее о создании профиля клиентского сертификата — в разделе «Настройка профилей клиентских сертификатов»
|
|
key-lifetime
|
Время жизни ключа. По истечении этого времени происходит повторная аутентификация и согласование настроек фазы 2:
|
|
key-lifesize-enabled
|
Включение параметра указания максимального размера данных, шифруемых одним ключом:
|
|
key-lifesize
|
Максимальный размер данных, шифруемых одним ключом:
|
|
nat-keepalive
|
NAT keepalive применяется в сценариях, когда IPsec-трафик проходит через узел с NAT. Записи в таблице трансляций NAT активны в течение ограниченного времени. Если за этот промежуток времени не было трафика по VPN-туннелю, записи в таблице трансляций на узле с NAT будут удалены и трафик по VPN-туннелю в дальнейшем не сможет проходить. С помощью функции NAT keepalive VPN-сервер, находящийся за шлюзом NAT, периодически отправляет пакеты keepalive в сторону VPN-клиентов для поддержания сессии NAT активной. Необходимо указать интервал отправки пакетов keepalive
|
|
local-networks
remote-networks
|
Адреса локальных и удаленных подсетей. Используются для определения селекторов трафика при организации защищенного канала передачи данных IPsec. В ходе фазы 2 стороны туннеля обмениваются своими предложениями по селекторам трафика. Для успешного установления туннеля сети в селекторах трафика от обеих сторон соединения должны совпасть или пересечься. Если нет совпадения хотя бы по одной из сторон, фаза 2 завершится ошибкой соединения.
Адреса указываются в формате [ <ip/mask> <ip/mask> ... ]
|
|
dont-check-initiator-annonce
|
При активации этого параметра VPN-сервер не будет проверять подсети инициатора соединения в селекторе трафика при организации защищенного канала передачи данных. Функция удобна для подключения множества клиентов (инициаторов) по одному правилу
|
|
dynamic-routing
|
Разрешить для протокола IKEv2 работу протоколов динамической маршрутизации через туннель
|
|
security
|
Указание алгоритмов аутентификации и шифрования канала передачи данных
|
Пример создания правила аутентификации с протоколом L2TP/IPsec:
Admin@nodename# create vpn-server authentication-rules site-to-site l2tp-ipsec name Test2 description "Test authentication rule #2" initiator-type ipv4 initiator-value 172.16.1.10 responder-type ipv4 responder-value 172.16.1.1 auth-profile "Local auth profile" key-lifetime 1h key-lifesize-enabled on key-lifesize 100MB security [ SHA1/AES256 SHA256/AES256 ] connection-rules [ CR1 ]
Admin@nodename# show vpn-server authentication-rules site-to-site l2tp-ipsec Test2
name : Test2
description : Test authentication rule #2
connection-rules : CR1
initiator-type : ipv4
initiator-value : 172.16.1.10
responder-type : ipv4
responder-value : 172.16.1.1
auth-profile : Local auth profile
key-lifetime : 1 h
key-lifesize-enabled : on
key-lifesize : 100.0 MB
nat-keepalive : 0
security :
authentication : SHA1
encryption : AES256
authentication : SHA256
encryption : AES256
Admin@nodename#
Для изменения параметров правила аутентификации используется команда:
Admin@nodename# set vpn-server authentication-rules [site-to-site|remote-access] [rule-name] <parameters>
Для просмотра созданных правил аутентификации используется команда:
Admin@nodename# show vpn-server authentication-rules [site-to-site|remote-access] [ikev2|ipsec|l2tp-ipsec] <rule-mane>
Для удаления правил аутентификации используется команда:
Admin@nodename# delete vpn-server authentication-rules [site-to-site|remote-access] [ikev2|ipsec|l2tp-ipsec] [rule-name]
Настройка политик VPN
Политики VPN описывают третий этап установления соединения. Этап начинается идентификацией инициатора и завершается выделением сетевых параметров подключения: туннельного интерфейса, пула адресов в VPN-туннеле, маршрутов к сетевым ресурсам через туннель, адресов DNS-серверов.
Политики VPN создаются с помощью синтаксиса языка UPL.
Команда для создания политик VPN:
Admin@nodename# create vpn-server vpn-policy [position] upl-rule
Дополнительные параметры команды.
|
Параметр
|
Описание
|
|
OK
|
Действие для создания правила с помощью UPL
|
|
enabled
|
Включение или отключение правила:
Если при создании правила не указывать, то правило будет включено после создания
|
|
name
|
Название правила.
Например: name("VPN rule example")
|
|
desc
|
Описание правила.
Например: desc("VPN rule example configured in CLI")
|
|
auth_rules
|
Выбор созданного ранее правила аутентификации.
Например: auth_rules("Authentication rule 1")
|
|
interface
|
VPN-интерфейс, который будет использоваться для подключения клиентов VPN.
Например, чтобы указать интерфейс tunnel1: interface(tunnel1).
|
|
ip_range
|
Диапазон IP-адресов туннеля, которые будут использованы VPN-клиентами.
Например: ip_range("172.30.255.2-172.30.255.5")
|
|
mask
|
Маска сети VPN-туннеля.
Например: mask(255.255.255.0)
|
|
vpn_routes
|
Маршруты, передаваемые узлу-инициатору при установлении VPN-туннеля.
Например: vpn_routes(10.10.0.0/24)
|
|
use_system_dns
|
Использование системных DNS-серверов для VPN-клиентов.
Например: use_system_dns(true) или use_system_dns(false)
|
|
dns_server
|
Адрес DNS-сервера.
Например: dns_server(10.10.0.100)
|
|
user
|
Пользователи и группы пользователей, которым разрешено подключение по VPN.
Для добавления LDAP-групп и пользователей необходим корректно настроенный LDAP-коннектор. Подробнее о настройке LDAP-коннектора через CLI — в разделе «Настройка LDAP-коннектора».
Пример добавления локального пользователя (local_user) и группы (Local Group), пользователя (example.local\AD_user) и группы LDAP (AD group):
user = (local_user, "CN=Local Group,DC=LOCAL", "example.loc\\AD_user", "CN=AD group,OU=Example,DC=example,DC=loc")
Заранее был настроен домен Active Directory example.loc. При добавлении пользователей и групп LDAP можно указать список путей на сервере, начиная с которых система будет осуществлять поиск пользователей и групп.
|
|
type
|
Сценарий установления VPN-соединения.
Возможные значения:
-
type(s2s_l2tp) — сценарий site-to-site, протокол L2TP/IPsec;
-
type(s2s_ipsec) — сценарий site-to-site, протокол IPsec;
-
type(ra_ep) — сценарий remote access, конечное устройство с установленным UserGate Client;
-
type(ra_native) — сценарий remote access, конечное устройство со встроенным VPN-клиентом операционной системы
|
|
include_routes
|
Для каждого включенного адреса в таблице маршрутизации конечного устройства добавляется маршрут вида n.n.n.n/c ➜ VPN-шлюз с гарантированно минимальной метрикой 2.
Например: include_routes(10.10.10.10/32)
|
|
exclude_routes
|
При добавлении IP-адресов в список исключаемых, в таблице маршрутизации конечного устройства будет добавлен маршрут по умолчанию вида 0.0.0.0/0 ➜ VPN-шлюз. Имеющийся ранее маршрут по умолчанию будет удален из таблицы. Для каждого исключаемого адреса добавляется свой маршрут через интерфейс с лучшей метрикой в обход VPN.
Например: exclude_routes(10.10.10.10/32)
|
|
disable_lan
|
Если включен этот параметр (disable_lan(true)), то для каждой подсети локального интерфейса создается копия маршрута через VPN-шлюз с гарантированно минимальной метрикой 2. Такие же копии маршрутов создаются для всех адресов, которые имеют тип local interface
|
|
tunnel_all
|
Если включен этот параметр (tunnel_all(true)), в таблицу маршрутизации конечного устройства будет добавлен маршрут по умолчанию (default route) вида 0.0.0.0/0 ➜ VPN-шлюз. Имеющийся ранее маршрут по умолчанию будет удален из таблицы маршрутизации конечного устройства
|
Пример политики VPN для сценария site-to-site с протоколом L2TP/IPsec:
Admin@nodename# create vpn-server vpn-policy 6 upl-rule \
...OK
...auth_rules(AR1) \
...vpn_routes(10.10.0.0/24) \
...ip_range("172.30.255.2-172.30.255.5") \
...desc("Серверная политика VPN 1") \
...mask(255.255.255.0) \
...use_system_dns(false) \
...user = "CN=VPN users,DC=LOCAL" \
...dns_server(8.8.8.8) \
...enabled(false) \
...type(s2s_l2tp) \
...interface(tunnel2) \
...name(VR1)
Для изменения параметров политики VPN используется команда:
Admin@nodename# set vpn-server vpn-policy [position] upl-rule
Для просмотра созданных политик VPN используется команда:
Admin@nodename# show vpn-server vpn-policy <position>
Для удаления политик VPN используется команда:
Admin@nodename# delete vpn-server vpn-policy [position]
Просмотр журналов диагностики VPN-сервера
В режиме диагностики интерфейса командной строки вы можете просматривать события журналов диагностики VPN-сервера в статическом и динамическом режиме.
Для вывода всего журнала диагностики VPN-сервера в консоль используйте команду:
Admin@nodename> show logs log vpn-server static
Для вывода событий журнала диагностики VPN-сервера в консоль в реальном времени используйте команду:
Admin@nodename> show logs log vpn-server dynamic
Для отключения вывода событий журнала используйте комбинацию клавиш Ctrl + C.
В командах раздела может использоваться фильтрация вывода. Пример команды с фильтрацией вывода:
Admin@nodename> show logs log vpn-server static | grep l2tp
Подробнее о функции фильтрации вывода — в разделе «Общие положения».