VPN
VPN – это обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений поверх другой сети, например сети Интернет.
OpenConnect
OpenConnect – ПО с открытым исходным кодом, используемое для реализации VPN.
Подключение через VPN-клиент
В качестве примера приведён порядок настройки OpenConnect на ARMA Стена.
Примечание
На ПК «Client» предварительно должно быть установлено соответствующее ПО OpenConnect.
Для настройки подключения через VPN-клиент OpenConnect необходимо выполнить следующие шаги:
Сгенерировать ключи и сертификаты.
Настроить OpenConnect.
Примечание
В случае необходимости настройки OpenConnect на ARMA Стена, входящих в состав отказоустойчивого кластера, следует учитывать особенности настройки, указанные в п. Настройка сервера OpenConnect в составе кластера настоящего руководства.
Генерация ключей и сертификатов
Для генерации ключа и сертификата центра сертификации необходимо в режиме конфигурирования ввести следующую команду:
run generate pki ca install CAnameгде «CAname» – имя сертификата центра сертификации. Приведено в качестве примера.
После ввода вышеуказанной команды потребуется указать следующие значения параметра сертификата центра сертификации, нажимая для подтверждения клавишу «ENTER»:
нажать клавишу «ENTER» на запрос:
Enter private key type: [rsa, dsa, ec] (Default: rsa)
нажать клавишу «ENTER» на запрос:
Enter private key bits: (Default: 2048)
ввести «RU» на запрос:
Enter country code: (Default: GB)
ввести «MO» на запрос:
Enter state: (Default: Some-State)
ввести «Moscow» на запрос:
Enter locality: (Default: Some-City)
нажать клавишу «ENTER» на запрос:
Enter organization name: (Default: NGFWOS)
ввести «example.ru» на запрос:
Enter common name: (Default: ngfwos.net)
ввести «365» на запрос:
Enter how many days certificate will be valid: (Default: 1825)
ввести «n» на запрос:
Do you want to encrypt the private key with a passphrase? [y/N]Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для просмотра содержимого сертификатов и закрытых ключей необходимо ввести команду «show pki» в режиме конфигурирования.
Для просмотра информации о параметрах сертификатов необходимо ввести команду «run show pki» в режиме конфигурирования или «show pki» в режиме эксплуатации.
Для генерации ключа и сертификата сервера необходимо в режиме конфигурирования ввести следующую команду:
run generate pki certificate sign CAname install CERTnameгде «CERTname» – имя сертификата. Приведено в качестве примера.
После ввода вышеуказанной команды потребуется указать следующие значения параметра сертификата, нажимая для подтверждения клавишу «ENTER»:
ввести «n» на запрос:
Do you already have a certificate request? [y/N]
нажать клавишу «ENTER» на запрос:
Enter private key type: [rsa, dsa, ec] (Default: rsa)
нажать клавишу «ENTER» на запрос:
Enter private key bits: (Default: 2048)
ввести «RU» на запрос:
Enter country code: (Default: GB)
ввести «MO» на запрос:
Enter state: (Default: Some-State)
ввести «Moscow» на запрос:
Enter locality: (Default: Some-City)
ввести «IWARMA» на запрос:
Enter organization name: (Default: NGFWOS)
ввести «example.ru» на запрос:
Enter common name: (Default: ngfwos.net)
ввести «n» на запрос:
Do you want to configure Subject Alternative Names? [y/N]
ввести «365» на запрос:
Enter how many days certificate will be valid: (Default: 365)
нажать клавишу «ENTER» на запрос:
Enter certificate type: (client, server) (Default: server)
ввести «n» на запрос:
Do you want to encrypt the private key with a passphrase? [y/N]Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка OpenConnect
Для настройки OpenConnect необходимо ввести следующие команды:
set vpn openconnect authentication local-users username User1 password example123 set vpn openconnect authentication mode local passwordгде:
«User1» – логин;
«example123» – пароль. Учётные данные приведены в качестве примера.
set vpn openconnect network-settings client-ip-settings subnet 100.64.0.0/24 set vpn openconnect network-settings name-server 192.168.1.1 set vpn openconnect network-settings name-server 10.1.1.2 set vpn openconnect ssl ca-certificate CAname set vpn openconnect ssl certificate CERTnameгде:
«CAname» – имя сертификата центра сертификации;
«CERTname» – имя сертификата.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для указания порта, который будет использоваться для клиентских подключений, необходимо ввести следующую команду:
set vpn openconnect listen-ports <tcp|utp> <number>где <number> – номер порта для приёма соединений. Возможно указать значение в диапазоне от «1» до «65535». По умолчанию используется порт «443».
Для указания прослушиваемого адреса необходимо ввести следующую команду:
set vpn openconnect listen-address <IP-address>где <IP-address> – IP-адрес.
Дополнительно возможно указать параметр «default-domain» для OpenConnect с помощью команды:
set vpn openconnect network-settings default-domain <domain>где <domain> – доменное имя, которое будет автоматически добавляться к неполным именам доменов.
Параметр «default-domain» в конфигурации OpenConnect определяет домен по умолчанию для всех подключающихся клиентов, обеспечивая корректное разрешение имён внутри VPN-сети. Данный параметр необходим для формирования полных доменных имён (FQDN) при обращении к сетевым ресурсам и позволяет клиентам использовать сокращённые имена хостов без указания полного доменного имени.
Примечание
Для применения настройки указанного прослушиваемого адреса требуется перезапустить сервис «OpenConnect» с помощью ввода в режиме эксплуатации команды «restart openconnect-server».
Примечание
При подключении клиентов к серверу, сервис «OpenConnect» для каждого пользователя создаёт отдельный интерфейс, именованный в формате «sslvpnX», где «X» – идентификатор интерфейса.
Настройка времени сессии пользователя
Для настройки времени подключения до аутентификации необходимо ввести следующую команду:
set vpn openconnect timeout auth <number>где <number> – время в секундах. Возможно указание значения в диапазоне от «1» до «2592000».
Для настройки времени, по истечении которого произойдёт разрыв сессии пользователя в случае отсутствия трафика необходимо ввести следующую команду:
set vpn openconnect timeout idle <number>где <number> – время в секундах. Возможно указание значения в диапазоне от «1» до «2592000».
Для настройки времени сессии пользователя необходимо ввести следующую команду:
set vpn openconnect timeout session <number>где <number> – время в секундах. Возможно указание значения в диапазоне от «1» до «2592000».
Подключение клиента
Для подключения на ПК «Client» выполнить следующие действия:
перейти в раздел настройки сетевых параметров;
выбрать «MultiProtocol VPN OpenConnect» для нового подключения;
указать IP-адрес интерфейса с доступом к сети Интернет «203.0.113.87» в поле параметра «Шлюз»;
сохранить, включить и пройти аутентификацию в появившемся окне, введя учётные данные «User1» и «example123».
где «203.0.113.87» – IP-адрес, приведён в качестве примера.
В случае появления при первом подключении предупреждающего окна нажать кнопку «Connect anyway».
Завершение сессии пользователя
В случае необходимости принудительного завершения сессии пользователя следует в режиме эксплуатации ввести следующую команду:
admin@ngfwos:~$ force openconnect-server disconnect-user <name>где <name> – имя пользователя.
Для просмотра актуальной информации о текущих подключениях пользователей необходимо в режиме эксплуатации ввести команду «show openconnect-server sessions».
OpenVPN
Site-to-Site
В качестве примера приведён порядок настройки OpenVPN для маршрутизации трафика VPN на подсеть.
В качестве примера настройки OpenVPN будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки VPN в режиме «сеть - сеть»).

Рисунок – Схема стенда для настройки VPN в режиме «сеть - сеть»
На обоих устройствах ARMA Стена необходимо создать разрешающие межсетевые правила для установления соединений по протоколам SSH и OpenVPN:
SSH:
set firewall ipv4 input filter rule 30 action accept set firewall ipv4 input filter rule 30 description 'Allow_SSH' set firewall ipv4 input filter rule 30 destination address <IP-address>/32 set firewall ipv4 input filter rule 30 destination port 22 set firewall ipv4 input filter rule 30 inbound-interface name eth0 set firewall ipv4 input filter rule 30 protocol tcp set firewall ipv4 input filter rule 30 logгде <IP-address> – IP-адрес, назначенный для интерфейса «eth0» ARMA Стена, на котором выполняется настройка. В примере указаны IP-адреса «198.51.100.51» и «203.0.113.2» на ARMA Стена 1 и ARMA Стена 2 соответственно.
OpenVPN:
set firewall ipv4 forward filter rule 30 action accept set firewall ipv4 forward filter rule 30 description 'OpenVPN' set firewall ipv4 forward filter rule 30 destination port 1194 set firewall ipv4 forward filter rule 30 protocol udp set firewall ipv4 forward filter rule 30 logгде <1194> - порт, на котором ожидается соединение с удалённым сервером OpenVPN.
Настройка ARMA Стена 1
Генерация самоподписанного сертификата
Для генерации самоподписанного сертификата необходимо ввести следующую команду:
run generate pki certificate self-signed install openvpn-localгде «openvpn-local» – имя сертификата. Приведено в качестве примера.
После ввода вышеуказанной команды потребуется указать следующие значения параметра сертификата центра сертификации, нажимая для подтверждения клавишу «ENTER»:
ввести «ec» на запрос:
Enter private key type: [rsa, dsa, ec] (Default: rsa)
нажать клавишу «ENTER» на запрос:
Enter private key bits: (Default: 256)
ввести «RU» на запрос:
Enter country code: (Default: GB)
ввести «MO» на запрос:
Enter state: (Default: Some-State)
ввести «Moscow» на запрос:
Enter locality: (Default: Some-City)
нажать клавишу «ENTER» на запрос:
Enter organization name: (Default: NGFWOS)
ввести «example.ru» на запрос:
Enter common name: (Default: ngfwos.net)
ввести «n» на запрос:
Do you want to configure Subject Alternative Names? [y/N]
ввести «365» на запрос:
Enter how many days certificate will be valid: (Default: 365)
нажать клавишу «ENTER» на запрос:
Enter certificate type: (client, server) (Default: server)
ввести «n» на запрос:
Do you want to encrypt the private key with a passphrase? [y/N]Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для просмотра содержимого сертификатов и закрытых ключей необходимо ввести команду «show pki» в режиме конфигурирования.
Для просмотра информации о параметрах сертификатов необходимо ввести команду «run show pki» в режиме конфигурирования или «show pki» в режиме эксплуатации.
Для вывода уникального идентификатора ARMA Стена 1 для криптографического ключа необходимо ввести следующую команду:
run show pki certificate openvpn-local fingerprint sha256где «sha256» – алгоритм хеширования.
Настройка туннеля
Для настройки туннеля необходимо ввести следующие команды:
set interfaces openvpn vtun0 mode site-to-site set interfaces openvpn vtun0 persistent-tunnel set interfaces openvpn vtun0 local-address 10.0.1.254 set interfaces openvpn vtun0 local-port 1194 set interfaces openvpn vtun0 protocol udp set interfaces openvpn vtun0 remote-address 10.0.2.254 set interfaces openvpn vtun0 remote-host 203.0.113.2 set interfaces openvpn vtun0 remote-port 1194где:
«vtun0» – имя туннеля;
«site-to-site» – режим «сеть - сеть»;
«10.0.1.254» – локальный IP-адрес;
«1194» – порт;
«udp» – протокол;
«10.0.2.254» – удалённый IP-адрес;
«203.0.113.2» – IP-адрес интерфейса ARMA Стена 2 с доступом к сети Интернет.
Для указания ключа и криптографических установок необходимо ввести следующие команды:
set interfaces openvpn vtun0 tls certificate openvpn-local set interfaces openvpn vtun0 tls peer-fingerprint <client cert fingerprint> set interfaces openvpn vtun0 tls role activeгде:
<client cert fingerprint> – уникальный идентификатор ARMA Стена 2;
«active» – роль инициатора соединения.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка маршрута
Для указания маршрута необходимо ввести следующую команду:
set protocols static route 10.0.2.0/24 interface vtun0где «10.0.2.0/24» – удалённая сеть.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка правил МЭ
Для настройки правил МЭ, разрешающих обмен данными через VPN-туннель, необходимо ввести следующие команды:
set firewall ipv4 input filter default-action drop set firewall ipv4 input filter default-log set firewall ipv4 input filter rule 10 action accept set firewall ipv4 input filter rule 10 description 'Allow_established/related' set firewall ipv4 input filter rule 10 state established set firewall ipv4 input filter rule 10 state related set firewall ipv4 input filter rule 10 inbound-interface name eth0 set firewall ipv4 input filter rule 10 log set firewall ipv4 input filter rule 20 action accept set firewall ipv4 input filter rule 20 description 'OpenVPN_IN' set firewall ipv4 input filter rule 20 destination port 1194 set firewall ipv4 input filter rule 20 inbound-interface name eth0 set firewall ipv4 input filter rule 20 protocol udp set firewall ipv4 input filter rule 20 log
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка ARMA Стена 2
Генерация самоподписанного сертификата
Для генерации самоподписанного сертификата необходимо ввести следующую команду:
run generate pki certificate self-signed install openvpn-remoteгде «openvpn-remote» – имя сертификата. Приведено в качестве примера.
После ввода вышеуказанной команды потребуется указать следующие значения параметра сертификата центра сертификации, нажимая для подтверждения клавишу «ENTER»:
ввести «ec» на запрос:
Enter private key type: [rsa, dsa, ec] (Default: rsa)
нажать клавишу «ENTER» на запрос:
Enter private key bits: (Default: 256)
ввести «RU» на запрос:
Enter country code: (Default: GB)
ввести «MO» на запрос:
Enter state: (Default: Some-State)
ввести «Moscow» на запрос:
Enter locality: (Default: Some-City)
нажать клавишу «ENTER» на запрос:
Enter organization name: (Default: NGFWOS)
ввести «example.ru» на запрос:
Enter common name: (Default: ngfwos.net)
ввести «n» на запрос:
Do you want to configure Subject Alternative Names? [y/N]
ввести «365» на запрос:
Enter how many days certificate will be valid: (Default: 365)
ввести «client» на запрос:
Enter certificate type: (client, server) (Default: server)
ввести «n» на запрос:
Do you want to encrypt the private key with a passphrase? [y/N]Значения параметров сертификата приведены в качестве примера.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Для просмотра содержимого сертификатов и закрытых ключей необходимо ввести команду «show pki» в режиме конфигурирования.
Для просмотра информации о параметрах сертификатов необходимо ввести команду «run show pki» в режиме конфигурирования или «show pki» в режиме эксплуатации.
Для вывода уникального идентификатора ARMA Стена 2 для криптографического ключа необходимо ввести следующую команду:
run show pki certificate openvpn-remote fingerprint sha256где «sha256» – алгоритм хеширования.
Настройка туннеля
Для настройки туннеля необходимо ввести следующие команды:
set interfaces openvpn vtun0 mode site-to-site set interfaces openvpn vtun0 persistent-tunnel set interfaces openvpn vtun0 local-address 10.0.2.254 set interfaces openvpn vtun0 local-port 1194 set interfaces openvpn vtun0 protocol udp set interfaces openvpn vtun0 remote-address 10.0.1.254 set interfaces openvpn vtun0 remote-host 198.51.100.51 set interfaces openvpn vtun0 remote-port 1194где:
«vtun0» – имя туннеля;
«site-to-site» – режим «сеть - сеть»;
«10.0.2.254» – локальный IP-адрес;
«1194» – порт;
«udp» – протокол;
«10.0.1.254» – удалённый IP-адрес;
«198.51.100.51» – IP-адрес интерфейса ARMA Стена 1 с доступом к сети Интернет.
Для указания ключа и криптографических установок необходимо ввести следующие команды:
set interfaces openvpn vtun0 tls certificate openvpn-remote set interfaces openvpn vtun0 tls peer-fingerprint <server cert fingerprint> set interfaces openvpn vtun0 tls role passiveгде:
<server cert fingerprint> – уникальный идентификатор ARMA Стена 1;
«passive» – роль ожидающего соединение.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка маршрута
Для указания маршрута необходимо ввести следующую команду:
set protocols static route 10.0.1.0/24 interface vtun0где «10.0.1.0/24» – удалённая сеть.
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка правил МЭ
Для настройки правил МЭ, разрешающих обмен данными через VPN-туннель, необходимо ввести следующие команды:
set firewall ipv4 input filter default-action drop set firewall ipv4 input filter default-log set firewall ipv4 input filter rule 10 action accept set firewall ipv4 input filter rule 10 description 'Allow_established/related' set firewall ipv4 input filter rule 10 state established set firewall ipv4 input filter rule 10 state related set firewall ipv4 input filter rule 10 inbound-interface name eth0 set firewall ipv4 input filter rule 10 log set firewall ipv4 input filter rule 20 action accept set firewall ipv4 input filter rule 20 description 'OpenVPN_IN' set firewall ipv4 input filter rule 20 destination port 1194 set firewall ipv4 input filter rule 20 inbound-interface name eth0 set firewall ipv4 input filter rule 20 protocol udp set firewall ipv4 input filter rule 20 log
Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сервер - Клиент
В качестве примера настройки OpenVPN будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки VPN в режиме «Сервер - Клиент»).

Рисунок – Схема стенда для настройки VPN в режиме «Сервер - Клиент»
Настройка ARMA Стена
Генерация сертификатов
Для реализации безопасного соединения необходимо сгенерировать и установить центр сертификации (CA), а также создать и подписать с его помощью серверный и клиентский сертификаты. Помимо этого, следует сформировать параметры шифрования Диффи-Хеллмана (DH). Указанные действия выполняются в конфигурационном режиме с использованием следующих команд:
Сгенерировать и установить центр сертификации:
run generate pki ca install openvpn-serverгде «openvpn-server» – имя центра сертификации. Приведено в качестве примера.
После выполнения указанной команды система запросит ввод параметров сертификата. Эти параметры могут быть оставлены без изменений, если не требуется их корректировка. Подтверждение ввода параметров осуществляется посредством нажатия клавиши «Enter»:
Enter private key type: [rsa, dsa, ec] (Default: rsa) 'rsa' Enter private key bits: (Default: 2048) '2048' Enter country code: (Default: GB) 'GB' Enter state: (Default: Some-State) 'Some-State' Enter organization name: (Default: NGFWOS) 'NGFWOS' Enter common name: (Default: ngfwos.net) 'ngfwos.net' Enter how many days certificate will be valid: (Default: 1825) '1825' Note: If you plan to use the generated key on this router, do not encrypt the private key. Do you want to encrypt the private key with a passphrase? [y/N] 'n' 2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и установить корневой сертификат, используя для этого созданный ранее центр сертификации «openvpn-server»:
run generate pki certificate sign 'openvpn-server' install 'server_crt' # Имя «server_crt» приведено в качестве примера. Do you already have a certificate request? [y/N] 'n' Enter private key type: [rsa, dsa, ec] (Default: rsa) 'rsa' Enter private key bits: (Default: 2048) '2048' Enter country code: (Default: GB) 'GB' Enter state: (Default: Some-State) 'Some-State' Enter locality: (Default: Some-City) 'Some-City' Enter organization name: (Default: NGFWOS) 'NGFWOS' Enter common name: (Default: ngfwos.net) 'ngfwos.net' Do you want to configure Subject Alternative Names? [y/N] 'n' Enter how many days certificate will be valid: (Default: 365) '365' Enter certificate type: (client, server) (Default: server) 'server' Note: If you plan to use the generated key on this router, do not encrypt the private key. Do you want to encrypt the private key with a passphrase? [y/N] 'n' 2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и установить клиентский сертификат, используя для этого созданный ранее центр сертификации «openvpn-server»:
run generate pki certificate sign 'openvpn-server' install 'client_crt' # Имя «client_crt» приведено в качестве примера. Do you already have a certificate request? [y/N] 'n' Enter private key type: [rsa, dsa, ec] (Default: rsa) 'rsa' Enter private key bits: (Default: 2048) '2048' Enter country code: (Default: GB) 'GB' Enter state: (Default: Some-State) 'Some-State' Enter locality: (Default: Some-City) 'Some-City' Enter organization name: (Default: NGFWOS) 'NGFWOS' Enter common name: (Default: ngfwos.net) 'ngfwos.net' Do you want to configure Subject Alternative Names? [y/N] 'n' Enter how many days certificate will be valid: (Default: 365) '365' Enter certificate type: (client, server) (Default: server) 'client' Note: If you plan to use the generated key on this router, do not encrypt the private key. Do you want to encrypt the private key with a passphrase? [y/N] 'n' 2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.Зафиксировать изменения с помощью ввода команд «commit» и «save».
Сгенерировать и установить параметры криптографического протокола DH:
run generate pki dh install 'DH' # Имя «DH» приведено в качестве примера. Enter DH parameters key size: (Default: 2048) Generating parameters... 1 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.Зафиксировать изменения с помощью ввода команд «commit» и «save».
Настройка OpenVPN-сервера
Для настройки OpenVPN-сервера необходимо ввести следующие команды:
# Указать адрес OpneVPN-сервера: set interfaces openvpn vtun0 local-host '198.51.100.51' # Указать прослушиваемый порт OpneVPN-сервером: set interfaces openvpn vtun0 local-port '1122' # Указать режим работы OpneVPN: set interfaces openvpn vtun0 mode 'server' # Указать транспортный протокол: set interfaces openvpn vtun0 protocol 'udp' # Заменить маршрут по умолчанию для интерфейса vtun0 маршрутом через туннель OpenVPN: set interfaces openvpn vtun0 replace-default-route # Указать адреса DNS-сервера: set interfaces openvpn vtun0 server name-server '8.8.8.8' # Указать подсеть, из которой будут выделяться клиентские IP-адреса: set interfaces openvpn vtun0 server subnet '10.0.10.0/24'Установить алгоритм шифрования:
set interfaces openvpn vtun0 encryption cipher 'aes-256-gcm'где aes-256-gcm - выбранный алгоритм шифрования.
Для OpneVPN рекомендуется использовать следующие алгоритмы шифрования:
aes-256-gcm;
aes-128-gcm;
chacha20-poly1305.
Система ARMA Стена так же поддерживает следующие алгоритмы шифрования:
aes-128-cbc;
aes-128-cfb;
aes-128-cfb1;
aes-128-cfb8;
aes-128-ofb;
aes-192-cbc;
aes-192-cfb;
aes-192-cfb1;
aes-192-cfb8;
aes-192-gcm;
aes-192-ofb;
aes-256-cbc;
aes-256-cfb;
aes-256-cfb1;
aes-256-cfb8;
aes-256-ofb;
aria-128-cbc;
aria-128-cfb;
aria-128-cfb1;
aria-128-cfb8;
aria-128-gcm;
aria-128-ofb;
aria-192-cbc;
aria-192-cfb;
aria-192-cfb1;
aria-192-cfb8;
aria-192-gcm;
aria-192-ofb;
aria-256-cbc;
aria-256-cfb;
aria-256-cfb1;
aria-256-cfb8;
aria-256-gcm;
aria-256-ofb;
camellia-128-cbc;
camellia-128-cfb;
camellia-128-cfb1;
camellia-128-cfb8;
camellia-128-ofb;
camellia-192-cbc;
camellia-192-cfb;
camellia-192-cfb1;
camellia-192-cfb8;
camellia-192-ofb;
camellia-256-cbc;
camellia-256-cfb;
camellia-256-cfb1;
camellia-256-cfb8;
camellia-256-ofb;
des-ede-cbc;
des-ede-cfb;
des-ede-ofb;
des-ede3-cbc;
des-ede3-cfb;
des-ede3-cfb1;
des-ede3-cfb8;
des-ede3-ofb.
Примечание
Для использования не рекомендованных алгоритмов шифрования необходимо дополнительно ввести следующую команду:
set interfaces openvpn vtun0 encryption ncp-ciphers <имя_алгоритма_шифрования>Установить алгоритм хеширования:
set interfaces openvpn vtun0 hash 'sha256'где sha256 - выбранный алгоритм хеширования.
Система ARMA Стена поддерживает следующие алгоритмы хеширования:
sha3-512;
sha512-256;
sha224;
sha3-224;
sha1;
sha3-384;
ripemd160;
sha512;
sha512-224;
shake256;
sha384;
sm3;
sha3-256;
md5;
blake2s256;
sha256;
blake2b512;
md5-sha1;
shake128;
keccak-kmac-128;
keccak-kmac-256.
Настройка TLS-аутентификации:
# Указать TLS-сертификат для аутентификации пользователей: set interfaces openvpn vtun0 tls ca-certificate 'openvpn-server' # Указать корневой сертификат: set interfaces openvpn vtun0 tls certificate 'server_crt' # Указать алгоритма DH: set interfaces openvpn vtun0 tls dh-params 'DH'Зафиксировать изменения с помощью ввода команд «commit» и «save».
Система ARMA Стена позволяет сгенерировать конфигурационный файл, который будет использоваться для настройки клиентского ПО. Для этого необходимо ввести следующую команду в конфигурационном режиме:
run generate openvpn client-config interface vtun0 ca openvpn-server certificate client_crtКоманда отобразит настройки, которые необходимо скопировать в пользовательский файл «client.ovpn» (имя файла приведено в качестве примера). После этого данный файл должен быть передан на клиентский компьютер.
Пример содержимого конфигурационного файла:
client nobind remote 198.51.100.51 1122 remote-cert-tls server proto udp dev tun dev-type tun persist-key persist-tun verb 3 # Encryption options cipher AES-256-GCM auth sha256 comp-lzo no <ca> -----BEGIN CERTIFICATE----- MIIDpzCCAo+gAwIBAgIUM4Q8rpWrvlyupV4qswu6/uiJlMUwDQYJKoZIhvcNAQEL BQAwXDELMAkGA1UEBhMCR0IxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAcM CVNvbWUtQ2l0eTEPMA0GA1UECgwGTkdGV09TMRMwEQYDVQQDDApuZ2Z3b3MubmV0 MB4XDTI1MDYwMjE0NTk0MFoXDTMwMDYwMTE0NTk0MFowXDELMAkGA1UEBhMCR0Ix EzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAcMCVNvbWUtQ2l0eTEPMA0GA1UE CgwGTkdGV09TMRMwEQYDVQQDDApuZ2Z3b3MubmV0MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEApmtURw2j0aGSWEOxrwp+PaEEhbT+uFamYnqRTGW3ESvO PaMiU5ESb+tIPdDkbdr8PTlMnNAGzC2oVL9dFlEksrhiE1FIXvI/CS/Ihb/9JJR6 TdtiquAeAcE86dXjP7VzqXvAOB1rqc8mNNll1vCWK1ecQHwqVqxDY/TxhztwuJxT 9SReShpK2roCwZbZiGpFmtE8kg7EluDz6WsokNhYnK3NU9O+GOez4XtWj69lWCUu CJrzYjJ5gACY2z9O4pLG3XfmEv6N34+LFneXYb1BtPgrktCJoAtMD6vdKvffEz8p W2zPR40FMqpGO1vEcylXex8mOsFlG/8yWwbTCdDGswIDAQABo2EwXzAPBgNVHRMB Af8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYI KwYBBQUHAwEwHQYDVR0OBBYEFE9sl79+o1ZaBm4z0lFOjVIyyMh1MA0GCSqGSIb3 DQEBCwUAA4IBAQAdPOITFQOiPW+wei0nXj9HW+QOib3YNizwakSS5lWP5Cmj1mS7 BXddy0LA6llFDssEOL3fnFhJPCrf1XTkCrFLZ5RzSr0V7wOm2Bj8CLGnsDWgLgtC MSM54Q2FDMJeHnKnv/RFs3uTi4F2SSyHu2KJp0naz8N20aBQuHnEZxzBoJSomDrv JMVIzTFd5GzVjH565xa1Vmtx52fj0MEB1i2owcxpMAG6LEMAJH2oqMS31bOoz1dl dbQ+9IfoYWlhybe9gyG3omM4v74/c8pUNQO1JMwB62ZjBexhItUrOZ5l/L7GLyux +Ort8DsabyA4eZUfxdmyNiI94hlDeIcJWufX -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- MIIDuzCCAqOgAwIBAgIUAqCmhoYHQnl21sWXxFgjBZ1h5GMwDQYJKoZIhvcNAQEL BQAwXDELMAkGA1UEBhMCR0IxEzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAcM CVNvbWUtQ2l0eTEPMA0GA1UECgwGTkdGV09TMRMwEQYDVQQDDApuZ2Z3b3MubmV0 MB4XDTI1MDYwMzE0MDE1MFoXDTI2MDYwMzE0MDE1MFowXDELMAkGA1UEBhMCR0Ix EzARBgNVBAgMClNvbWUtU3RhdGUxEjAQBgNVBAcMCVNvbWUtQ2l0eTEPMA0GA1UE CgwGTkdGV09TMRMwEQYDVQQDDApuZ2Z3b3MubmV0MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAxPtS7EXdphd7W6qCup2Yh9hZll72U71Vp0s/WCvL4BJN 9M5eYCMF1f8pWMnwdXzWTUtW6FRHvZAUfn/fe8TZVg48rceIm1nlxlUM18EMJ9go KpsjNabfcCnNXtBUUT0Gv4oTr9LiR2MjBtL7WOnklgMBOa4AsQmp+m0mgFpKtPyb iy4pZcUmwFYGAjNm1UGdQPK+NACrggVB716Aww2Y/+H8pehD4TGLs+u1KP58PRfo /ROYNLCbP4wblEAWKJpUGtokRAfVJeZv6i1SmfrnCthXd/hROxazpyHgC5yXhLSB fRs6sgNW26qnHMYE2G2q06hWPh0dS73f6hS4cMJ81QIDAQABo3UwczAMBgNVHRMB Af8EAjAAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAjAdBgNV HQ4EFgQUySgLwruDSVFhjN0gylZJifgi6W0wHwYDVR0jBBgwFoAUT2yXv36jVloG bjPSUU6NUjLIyHUwDQYJKoZIhvcNAQELBQADggEBAJyPWtov5SkROiIVXuIIJj5s 6w01lr1fMWhq6XfM9is90xs1pEVa+Q0yNeOrWii6K12fNkL4oAIiJCs3BF0eW4bm /ju6irKtIH8SHusX2uzPfbUmBjOFiUFpdcuAm5mjFRsmYsFGoLGJ/djkiAxqUIo8 MtPFTOfBdXhADTmkmd3tBXzwEdAAX5m2edWi84Yck5gJE2fUa3YQFYmLnOAJ671R fn1b9tED3ebQOA5ktd5T4n96lP3pSydua9PeqUaF9Q5kDTbwqX8t2Z8ob5AifZDP 4C0rgyEqmE0kB0CjgiIP0rsSAD1q13j4jZVSN+Y3l0v8lxWhTw60LgS2humdztc= -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDE+1LsRd2mF3tb qoK6nZiH2FmWXvZTvVWnSz9YK8vgEk30zl5gIwXV/ylYyfB1fNZNS1boVEe9kBR+ f997xNlWDjytx4ibWeXGVQzXwQwn2CgqmyM1pt9wKc1e0FRRPQa/ihOv0uJHYyMG 0vtY6eSWAwE5rgCxCan6bSaAWkq0/JuLLillxSbAVgYCM2bVQZ1A8r40AKuCBUHv XoDDDZj/4fyl6EPhMYuz67Uo/nw9F+j9E5g0sJs/jBuUQBYomlQa2iREB9Ul5m/q LVKZ+ucK2Fd3+FE7FrOnIeALnJeEtIF9GzqyA1bbqqccxgTYbarTqFY+HR1Lvd/q FLhwwnzVAgMBAAECggEACEJATQs12pWf9K0uu3vJjiKGSQ10tviYe4HmZ0A41U13 KsUvREkboMgIuAIJfKeOBaIbw/RqqJo+nbonSNVtRlQk+6VCxz6q6VieB/q+U3pW 3shv3rs/IYEDLQ8/hcNxAb1ci3HkTllr+ciFRMpTrO110vEGcuXElG0YoOeIO9PL pixZDKcpVEQ5dtH5Ac3JH28G3F/s04ne/R2Xsu6pqkIme3dtzUEe6QL02n51F8bT UspNUH3GrEoJNhCojYQnYtWVcF2f8lnCUCcuxQONRhJTdNKhwmEwOkiXGX6wnIwf qyQYyabDhYEPrQ12QwdUPc915iiFL5pypCJohFz+6QKBgQDt1en5TjpmCbruVX3y RdlsbLyr9tQD7C2NDTkRo6SnPuhdMPDGn10SqWvIdIahS/m2cJqQtKpEbx9Cskbf wzNDIZVdeheP8O2P+J5tw+ijmT7OxV5JEOkwh5uxehyztRenPzOZMqs/3ragEaZk /+Cv3dP0T8XG3e4zdM33kLyZrQKBgQDUBqXsODlZg514VNW1DXtAEIvZyfJWKR8X 5eN9MEk8M6JrV6Cb9kFer4jPthfKtX+kFdv8gJk/lg9OruIqekyjpKcE47F+QDPz ZoGx1QozdD7nLba+NldJpEH4nd0j6UIiWhAqSk3NUIQ1zYEAWDpQ3uRFdRd2d4jj 9GvvsIekyQKBgQDL6VSyL/T32S3Q+7GBD4wLXusgUP6T4mFnhsfALNqVneThSX2V /bpxrpo/glCPaDFPzxlmKc+13sQhjfIgFR8VVmzWeUBMZBd6EYHbwFTsNw5Xf3aI FJypxAqjzntfREtkVFar6XpTx2IyuQ89lviQMBNyaxa5mzuIGIQi1pAs/QKBgB9l 0KJXfR6lX+dW4MLL+Ul2ac9ZmXpq4oDeeT6rrNyuZMnykwUlhW6pHeBsfb91+y3o Ushkns0Mwr2LJlDWBY1iL52IvlsM1OShdGlKPBV8jGgdm+c1Et4D5gUUE5Bi1XlS zvwEPts9piZ1hTnw1sntB+7FNTFE6E+hfW5kPOIJAoGBAKyuLCWFyKnW9fyBpYCV FA6R/D6L4E85cTdr3PB6h5e7MUHjZ/i0UChi3MeDiYIBg/Eqjcr8X6mvIKPywjvL okssSuMgS394YTfZ+XMLTRHoM4O0s9TyzlrsaAWhnyApBBS8YFwVK4qk/V7dEKW+ Zqf/xixw7Jurj5t4rY17022S -----END PRIVATE KEY----- </key>
Настройка OpenVPN клиента
Рассмотрим процесс настройки клиентского оборудования на примере персонального компьютера, работающего под управлением операционной системы Windows, с установленным программным обеспечением OpenVPN Connect. Для установления соединения с OpenVPN-сервером необходимо выполнить следующие шаги:
Скопировать конфигурационный файл «client.ovpn» на клиентский компьютер.
Запустить приложение OpenVPN Connect и загрузить файл «client.ovpn».
В интерфейсе программы выбрать импортированный профиль и нажать кнопку «Connect» для установления соединения.
В процессе подключения приложение отобразит текущий статус соединения (см. Рисунок – OpenVPN Connect).

Рисунок – OpenVPN Connect
Мониторинг подключений
Для отображения списка подключённых клиентов к OpenVPN-серверу необходимо выполнить следующую команду в эксплуатационном режиме:
admin@ngfwos# run show openvpn server
Пример списка подключённых клиентов:
OpenVPN status on vtun0
Client CN Remote Host Tunnel IP Local Host TX bytes RX bytes Connected Since
----------- ------------------- ----------- ------------------ ---------- ---------- -------------------
ngfwos.net 172.30.130.29:53363 10.0.10.6 198.51.100.51:1122 4.8 KB 36.4 KB 2025-06-04 15:26:51
IPsec
IPsec – набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP.
Установка подключения IPsec происходит в два этапа, называемые фазами IKE:
В первой фазе IKE две оконечные точки аутентифицируют друг друга и согласовывают ключевой материал. В результате устанавливается защищённый туннель, используемый во второй фазе для согласования защищённых соединений ESP.
Во второй фазе IKE две оконечные точки используют защищённый туннель, созданный в первой фазе, для согласования защищённых соединений ESP (ESP SA). ESP SA используются для шифрования пользовательских данных, передающихся между двумя оконечными точками.
Список команд глобальной настройки IPsec:
Отключить автоматическую установку маршрутов к удалённым сетям:
set vpn ipsec options disable-route-autoinstall
Разрешить отправку полезной нагрузки FlexVPN (только IKEv2):
set vpn ipsec options flexvpn
Указать интерфейс, на котором будут установлены виртуальные IP-адреса:
set vpn ipsec options interface <ethX>где <ethX> - имя интерфейса. Если параметр не указан, адреса будут установлены на исходящем интерфейсе.
Разрешить установку виртуальных IP-адресов:
set vpn ipsec options virtual-ip
Включить журналирование:
set vpn ipsec log [level <value> | subsystem <value>]Уровень ведения журнала возможно настроить с помощью дополнительных параметров «level» и «subsystem»:
level <value> - глобальный уровень ведения журнала IPSec. Возможно указать следующие значения уровня:
0 - показывает только основные события (создание/удаление SA), используется по умолчанию;
1 - добавляет общие сообщения об ошибках;
2 - предоставляет расширенную информацию для отладки.
subsystem <value> - уровень ведения журнала подсистемы. Возможно указать следующие значения:
dmn — настройка, очистка и обработка сигналов основного демона;
mgr — менеджер IKE_SA, обработка синхронизации для доступа к IKE_SA;
ike — IKE_SA/ISAKMP SA;
chd — CHILD_SA/IPsec SA;
job — постановка задач в очередь, обработка и управление пулом потоков;
cfg — управление конфигурацией и плагинами;
knl — интерфейс ядра IPsec/сетевой интерфейс;
net — сетевая коммуникация IKE;
asn — низкоуровневое кодирование/декодирование (ASN.1, X.509 и т.д.);
enc — операции кодирования/декодирования пакетов, шифрование/дешифрование;
lib — сообщения библиотеки libstrongswan;
esp — сообщения библиотеки libipsec;
tls — сообщения библиотеки libtls;
tnc — Trusted Network Connect;
imc — сборщик измерений целостности;
imv — верификатор измерений целостности;
pts — служба доверия платформы;
any — любая подсистема.
IKE
IKE выполняет процедуру взаимной аутентификации между двумя сторонами и создаёт ассоциацию безопасности IKE (SA), которая включает в себя общую секретную информацию, используемую для быстрого установления SAS (Security Association) для полезной нагрузки безопасности Encapsulating (ESP) или заголовка аутентификации (AH). SA также включает в себя набор криптографических алгоритмов, которые будут использоваться сторонами для защиты трафика, передаваемого по SA.
В ARMA Стена атрибуты IKE определяются с помощью IKE-групп. В рамках одной группы возможно задать несколько предложений.
Основные команды настройки IKE-групп:
Определение поименованной настройки IKE для согласований первой фазы IKE:
set vpn ipsec ike-group <name>где <name> - имя, используемое для обозначения настройки IKE.
Определение действия, которое следует предпринять, если дочерний SA недоступен:
set vpn ipsec ike-group <name> close-action <action>где <action> - действие. Возможно указать следующие значения:
none - ничего не предпринимать, используется по умолчанию;
trap - попытка повторного согласования при обнаружении совпадающего трафика;
start - восстановить соединение.
Определение поведения системы в том случае, если узел VPN становится недоступен:
set vpn ipsec ike-group <name> dead-peer-detection <action <meaning>|interval|timeout>где:
action <meaning> - действие по сохранению работоспособности системы в случае сбоя. Возможно указать следующие значения:
action trap - попытка повторного согласования при обнаружении совпадающего трафика;
action clear - удалить соединение, применяется по умолчанию;
action restart - перезапустить соединение;
interval - интервал времени, в секундах, через который узлам VPN будут отправляться сообщения IKE, подтверждающие активность. Возможно указать значение в диапазоне от «2» до «86400». По умолчанию используется значение «30»;
timeout - интервал времени, в секундах, по истечении которого, в том случае если узел не отвечает, осуществляется попытка перезапуска туннеля. Возможно указать значение в диапазоне от «2» до «86400». По умолчанию используется значение «120».
Включение повторной аутентификации удалённого узла во время операции повторного ввода IKE-ключа (только для IKEv2):
set vpn ipsec ike-group <name> ikev2-reauth
Выбор версии протокола IKE:
set vpn ipsec ike-group <name> key-exchange <version>где <version> - версия протокола IKE. Возможно указать следующие значения:
ikev1 - использовать IKEv1 для обмена ключами;
ikev2 - использовать IKEv2 для обмена ключами.
В случае отсутствия заданного значения используются оба протокола. При инициализации соединения используется IKEv2, в ответе принимается любая версия протокола.
Установить время жизни ключа IKE:
set vpn ipsec ike-group <name> lifetime <time>где <time> - время жизни ключа IKE в секундах. Возможно указать значение в диапазоне от «0» до «86400». По умолчанию используется значение «28800».
Отключение поддержки MOBIKE:
set vpn ipsec ike-group <name> disable-mobikeMOBIKE используется в IKEv2 и включён по умолчанию.
Установить режим IKEv1:
set vpn ipsec ike-group <name> mode <parameter>где <parameter> - режим IKEv1. Возможно указать следующие значения:
<main> - использовать основной режим для обмена ключами по протоколу IKEv1. Используется по умолчанию;
<aggressive> - использовать агрессивный режим для обмена ключами по протоколу IKEv1.
Указание номера предложения группы IKE первой фазы:
set vpn ipsec ike-group <name> proposal <number>где: <number> - уникальное целое число идентифицирующее предложение IKE. Возможно указать значение в диапазоне от «1» до «65535».
Указание группы, которая будет предложена для ключевого обмена Диффи-Хеллмана:
set vpn ipsec ike-group <name> proposal <number> dh-group <group>где: <group> - группа, используемая при ключевом обмене Диффи-Хеллмана. Возможно указать следующие значения:
1 - Diffie-Hellman group 1 (modp768);
2 - Diffie-Hellman group 2 (modp1024), используется по умолчанию;
5 - Diffie-Hellman group 5 (modp1536);
14 - Diffie-Hellman group 14 (modp2048);
15 - Diffie-Hellman group 15 (modp3072);
16 - Diffie-Hellman group 16 (modp4096);
17 - Diffie-Hellman group 17 (modp6144);
18 - Diffie-Hellman group 18 (modp8192);
19 - Diffie-Hellman group 19 (ecp256);
20 - Diffie-Hellman group 20 (ecp384);
21 - Diffie-Hellman group 21 (ecp521);
22 - Diffie-Hellman group 22 (modp1024s160);
23 - Diffie-Hellman group 23 (modp2048s224);
24 - Diffie-Hellman group 24 (modp2048s256);
25 - Diffie-Hellman group 25 (ecp192);
26 - Diffie-Hellman group 26 (ecp224);
27 - Diffie-Hellman group 27 (ecp224bp);
28 - Diffie-Hellman group 28 (ecp256bp);
29 - Diffie-Hellman group 29 (ecp384bp);
30 - Diffie-Hellman group 30 (ecp512bp);
31 - Diffie-Hellman group 31 (curve25519);
32 - Diffie-Hellman group 32 (curve448).
Указание алгоритма шифрования, использование которого будет предлагаться при согласовании первой фазы IKE:
set vpn ipsec ike-group <name> proposal <number> encryption <algorithm>где: <algorithm> - алгоритм шифрования. Список поддерживаемых алгоритмов шифрования представлен в таблице (см. Таблица «Поддерживаемые алгоритмы шифрования»). По умолчанию используется алгоритм шифрования «aes128».
Таблица «Поддерживаемые алгоритмы шифрования» Алгоритм шифрования
Алгоритм шифрования
Алгоритм шифрования
null
aes128
aes192
aes256
aes128ctr
aes192ctr
aes256ctr
aes128ccm64
aes192ccm64
aes256ccm64
aes128ccm96
aes192ccm96
aes256ccm96
aes128ccm128
aes192ccm128
aes256ccm128
aes128gcm64
aes192gcm64
aes256gcm64
aes128gcm96
aes192gcm96
aes256gcm96
aes128gcm128
aes192gcm128
aes256gcm128
aes128gmac
aes192gmac
aes256gmac
3des
blowfish128
blowfish192
blowfish256
camellia128
camellia192
camellia256
camellia128ctr
camellia192ctr
camellia256ctr
camellia128ccm64
camellia192ccm64
camellia256ccm64
camellia128ccm96
camellia192ccm96
camellia256ccm96
camellia128ccm128
camellia192ccm128
camellia256ccm128
serpent128
serpent192
serpent256
twofish128
twofish192
twofish256
cast128
chacha20poly1305
Указание алгоритма хеширования для предложения:
set vpn ipsec ike-group <name> proposal <number> hash <algorithm>где: <algorithm> - используемый алгоритм хеширования. Возможно указать следующие значения:
md5;
md5_128;
sha1 - используется по умолчанию;
sha1_160;
sha256;
sha256_96;
sha384;
sha512;
aesxcbc;
aescmac;
aes128gmac;
aes192gmac;
aes256gmac.
Указание псевдослучайной функции для предложения:
set vpn ipsec ike-group <name> proposal <number> prf <function>где: <function> - используемая псевдослучайная функция. Возможно указать следующие значения:
prfmd5;
prfsha1;
prfaesxcbc;
prfaescmac;
prfsha256;
prfsha384;
prfsha512.
ESP
ESP используется для обеспечения конфиденциальности, аутентификации источника данных, целостности данных без установления соединения, защиты от повторного воспроизведения (форма обеспечения частичной целостности последовательности) и ограниченной конфиденциальности трафика.
В ARMA Стена атрибуты ESP определяются с помощью ESP-групп. В рамках одной группы возможно задать несколько предложений.
Основные команды настройки ESP-групп:
Определение поименованной настройки IKE для согласований первой фазы IKE:
set vpn ipsec esp-group <name>где <name> - имя, используемое для обозначения настройки ESP.
Включение протокола IPComp, который позволяет сжимать содержимое IP-пакетов:
set vpn ipsec esp-group <name> compression
Установить срок действия ESP в зависимости от объёма трафика:
set vpn ipsec esp-group <name> life-bytes <value>где <value> - количество байтов, переданных по IPsec SA до истечения срока действия ESP. Возможно указать значение в диапазоне от «1024» до «26843545600000».
Установить срок действия ESP в зависимости от переданных пакетов:
set vpn ipsec esp-group <name> life-bytes <value>где <value> - количество пакетов, переданных по IPsec SA до истечения срока действия ESP. Возможно указать значение в диапазоне от «1000» до «26843545600000».
Указание времени жизни ключа ESP:
set vpn ipsec esp-group <name> lifetime <time>где <time> - время, в секундах, в течение которого ключ, созданный при согласовании второй фазы IKE, остаётся в силе. Возможно указать значение в диапазоне от «30» до «86400». По умолчанию используется значение «3600».
Указание режима подключения IPsec:
set vpn ipsec esp-group <name> mode <type>где <type> - режим подключения IPsec. Возможно указать значения: «tunnel» - туннельный режим, «transport» - транспортный режим. По умолчанию используется значение «tunnel».
Определение использования механизма PFS:
set vpn ipsec esp-group <name> pfs <group>где <group> - включение/отключение PFS. Возможно указать следующие значения:
enable наследование группы Диффи-Хеллмана от IKE-группы. Используется по умолчанию;
dh-group1 use Diffie-Hellman group 1 (modp768);
dh-group2 use Diffie-Hellman group 2 (modp1024);
dh-group5 use Diffie-Hellman group 5 (modp1536);
dh-group14 use Diffie-Hellman group 14 (modp2048);
dh-group15 use Diffie-Hellman group 15 (modp3072);
dh-group16 use Diffie-Hellman group 16 (modp4096);
dh-group17 use Diffie-Hellman group 17 (modp6144);
dh-group18 use Diffie-Hellman group 18 (modp8192);
dh-group19 use Diffie-Hellman group 19 (ecp256);
dh-group20 use Diffie-Hellman group 20 (ecp384);
dh-group21 use Diffie-Hellman group 21 (ecp521);
dh-group22 use Diffie-Hellman group 22 (modp1024s160);
dh-group23 use Diffie-Hellman group 23 (modp2048s224);
dh-group24 use Diffie-Hellman group 24 (modp2048s256);
dh-group25 use Diffie-Hellman group 25 (ecp192);
dh-group26 use Diffie-Hellman group 26 (ecp224);
dh-group27 use Diffie-Hellman group 27 (ecp224bp);
dh-group28 use Diffie-Hellman group 28 (ecp256bp);
dh-group29 use Diffie-Hellman group 29 (ecp384bp);
dh-group30 use Diffie-Hellman group 30 (ecp512bp);
dh-group31 use Diffie-Hellman group 31 (curve25519);
dh-group32 use Diffie-Hellman group 32 (curve448);
disable.
Определение предложения группы ESP для согласования второй фазы IKE:
set vpn ipsec ike-group <name> proposal <number>где: <number> - уникальное целое число идентифицирующее предложение, используемое при согласовании второй фазы IKE. Возможно указать значение в диапазоне от «1» до «65535».
Указание алгоритма шифрования для предложения ESP:
set vpn ipsec esp-group <name> proposal <number> encryption <algorithm>где: <algorithm> - алгоритм шифрования. Список поддерживаемых алгоритмов шифрования представлен в таблице (см. Таблица «Поддерживаемые алгоритмы шифрования»). По умолчанию используется алгоритм шифрования «aes128».
Указание алгоритма хеширования для предложения ESP:
set vpn ipsec esp-group <name> proposal <number> hash <algorithm>где: <algorithm> - используемый алгоритм хеширования. Возможно указать следующие значения:
md5;
md5_128;
sha1 - используется по умолчанию;
sha1_160;
sha256;
sha256_96;
sha384;
sha512;
aesxcbc;
aescmac;
aes128gmac;
aes192gmac;
aes256gmac.
GRE over IPSEC
Технология GRE over IPsec обеспечивает интеграцию функциональных возможностей GRE и IPsec, где GRE предоставляет поддержку многоадресной и широковещательной передачи данных, а IPsec гарантирует конфиденциальность посредством шифрования передаваемых данных. В процессе функционирования данного решения осуществляется последовательная инкапсуляция трафика: первичная инкапсуляция производится с использованием протокола GRE, после чего выполняется вторичная инкапсуляция с применением механизмов IPsec для обеспечения защищённого канала передачи данных.
В качестве примера настройки соединения GRE over IPSEC, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки соединения GRE over IPSEC).

Рисунок – Схема стенда для настройки соединения GRE over IPSEC
Используемые IP-адреса приведены в качестве примера.
Для настройки GRE over IPSEC необходимо выполнить следующие шаги:
Настроить конфигурацию на ARMA Стена1:
Настроить GRE:
set interfaces ethernet eth1 address 192.168.1.1/32 set interfaces tunnel tun0 address '10.0.0.1/30' set interfaces tunnel tun0 encapsulation 'gre' set interfaces tunnel tun0 remote '192.168.22.55' set interfaces tunnel tun0 source-address '192.168.44.22'
Настроить маршрутизацию:
set protocols static route 192.168.2.1/32 interface tun0
Настроить IPSec:
# Настройка предварительных общих секретов (Pre-Shared Keys): # создать PSK с именем TEST_PSK для узла 192.168.44.22 set vpn ipsec authentication psk TEST_PSK id '192.168.44.22' # создать PSK с именем TEST_PSK для узла 192.168.22.55 set vpn ipsec authentication psk TEST_PSK id '192.168.22.55' # установить секрет для PSK TEST_PSK со значением ‘test’ set vpn ipsec authentication psk TEST_PSK secret 'test' # Настройка групп шифрования ESP (для защиты транспортного потока): # создать группу шифрования TestESP в режиме transport set vpn ipsec esp-group TestESP mode 'transport' # настроить предложение шифрования с использованием AES-128 для шифрования set vpn ipsec esp-group TestESP proposal 1 encryption 'aes128' # настроить предложение шифрования с использованием SHA1 для хеширования set vpn ipsec esp-group TestESP proposal 1 hash 'sha1' # Настройка группы IKE (для установления безопасного соединения): # создать группу IKE TestIKE с предложением DH-группа 2 (1024-bit MODP) set vpn ipsec ike-group TestIKE proposal 1 dh-group '2' # создать группу IKE TestIKE с предложением AES-128 для шифрования set vpn ipsec ike-group TestIKE proposal 1 encryption 'aes128' # создать группу IKE TestIKE с предложением SHA1 для хеширования set vpn ipsec ike-group TestIKE proposal 1 hash 'sha1' # Назначить интерфейс eth0 для работы IPsec set vpn ipsec interface 'eth0' # Настройка site-to-site соединения: # Для удаленного пира настроить аутентификацию по предварительному секрету set vpn ipsec site-to-site peer right authentication mode 'pre-shared-secret' # удаленный идентификатор установить как 192.168.22.55 set vpn ipsec site-to-site peer right authentication remote-id '192.168.22.55' # назначить группу шифрования TestESP как дефолтную set vpn ipsec site-to-site peer right default-esp-group 'TestESP' # назначить группу IKE TestIKE set vpn ipsec site-to-site peer right ike-group 'TestIKE' # установить локальный IP-адрес 192.168.44.22 set vpn ipsec site-to-site peer right local-address '192.168.44.22' # установить удалённый IP-адрес 192.168.22.55 set vpn ipsec site-to-site peer right remote-address '192.168.22.55' # создать GRE-туннель с номером 10 через IPsec set vpn ipsec site-to-site peer right tunnel 10 protocol 'gre' commit save
Настроить конфигурацию на ARMA Стена2:
Настроить GRE:
set interfaces ethernet eth1 address 192.168.2.1/32 set interfaces tunnel tun0 address '10.0.0.2/30' set interfaces tunnel tun0 encapsulation 'gre' set interfaces tunnel tun0 remote '192.168.44.22' set interfaces tunnel tun0 source-address '192.168.22.55'
Настроить маршрутизацию:
set protocols static route 192.168.1.1/32 interface tun0
Настроить IPSec:
set vpn ipsec authentication psk TEST_PSK id '192.168.44.22' set vpn ipsec authentication psk TEST_PSK id '192.168.22.55' set vpn ipsec authentication psk TEST_PSK secret 'test' set vpn ipsec esp-group TestESP mode 'transport' set vpn ipsec esp-group TestESP proposal 1 encryption 'aes128' set vpn ipsec esp-group TestESP proposal 1 hash 'sha1' set vpn ipsec ike-group TestIKE proposal 1 dh-group '2' set vpn ipsec ike-group TestIKE proposal 1 encryption 'aes128' set vpn ipsec ike-group TestIKE proposal 1 hash 'sha1' set vpn ipsec interface 'eth0' set vpn ipsec site-to-site peer left authentication mode 'pre-shared-secret' set vpn ipsec site-to-site peer left authentication remote-id '192.168.44.22' set vpn ipsec site-to-site peer left connection-type 'respond' set vpn ipsec site-to-site peer left default-esp-group 'TestESP' set vpn ipsec site-to-site peer left ike-group 'TestIKE' set vpn ipsec site-to-site peer left local-address '192.168.22.55' set vpn ipsec site-to-site peer left remote-address '192.168.44.22' set vpn ipsec site-to-site peer left tunnel 10 protocol 'gre' commit saveCоздаётся защищённый IPsec-туннель между узлами 192.168.44.22 и 192.168.22.55, через который проходит GRE-трафик. Все данные, передаваемые через туннель tun0, будут:
инкапсулированы в GRE;
зашифрованы с использованием AES-128;
аутентифицированы с использованием SHA1;
защищены с помощью DH-группы 2 для обмена ключами.
Мониторинг соединения GRE over IPsec:
Проверить статус соединения между ARMA Стена1 и ARMA Стена2:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec connections Connection State Type Remote address Local TS Remote TS Local id Remote id Proposal -------------- ------- ------- ---------------- ---------------------- ---------------------- ---------- -------------- ---------------------------------- left up IKEv1/2 192.168.22.55 - - 192.168.22.55 AES_CBC/128/HMAC_SHA1_96/MODP_1024 left-tunnel-10 up IPsec 192.168.22.55 192.168.44.22/32[gre] 192.168.22.55/32[gre] 192.168.22.55 AES_CBC/128/HMAC_SHA1_96/None admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec connections Connection State Type Remote address Local TS Remote TS Local id Remote id Proposal -------------- ------- ------- ---------------- ---------------------- ---------------------- ---------- -------------- ---------------------------------- left up IKEv1/2 192.168.44.22 - - 192.168.44.22 AES_CBC/128/HMAC_SHA1_96/MODP_1024 left-tunnel-10 up IPsec 192.168.44.22 192.168.22.55/32[gre] 192.168.44.22/32[gre] 192.168.44.22 AES_CBC/128/HMAC_SHA1_96/None admin@ngfwos:~$
Вывести детальную информацию о текущих наборах параметров безопасности (SA), используемых для шифрования и аутентификации трафика в IPsec:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec sa detail left: #1, ESTABLISHED, IKEv2, 5a8690c8f1baffbd_i 737d8a361c96c3ac_r* local '192.168.44.22' @ 192.168.44.22[4500] remote '192.168.22.55' @ 192.168.22.55[4500] AES_CBC-128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024 established 408s ago, rekeying in 27736s left-tunnel-10: #2, reqid 1, INSTALLED, TRANSPORT, ESP:AES_CBC-128/HMAC_SHA1_96 installed 408s ago, rekeying in 2555s, expires in 3193s in c2833b8c, 9918 bytes, 80 packets, 13s ago out c187396b, 704 bytes, 8 packets, 160s ago local 192.168.44.22/32[gre] remote 192.168.22.55/32[gre] admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec sa detail left: #1, ESTABLISHED, IKEv2, 5a8690c8f1baffbd_i* 737d8a361c96c3ac_r local '192.168.22.55' @ 192.168.22.55[4500] remote '192.168.44.22' @ 192.168.44.22[4500] AES_CBC-128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024 established 461s ago, rekeying in 28273s left-tunnel-10: #2, reqid 1, INSTALLED, TRANSPORT, ESP:AES_CBC-128/HMAC_SHA1_96 installed 462s ago, rekeying in 2613s, expires in 3139s in c187396b, 704 bytes, 8 packets, 213s ago out c2833b8c, 10590 bytes, 86 packets, 6s ago local 192.168.22.55/32[gre] remote 192.168.44.22/32[gre] admin@ngfwos:~$
IPSEC Site-to-Site (Policy Based)
IPSec Site-to-Site представляет собой комплексное решение для создания защищённых каналов связи между распределёнными сетями.
В качестве примера настройки VPN-соединения IPSEC Site-to-Site, используется схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки GRE over IPSEC).
Используемые IP-адреса приведены в качестве примера.
Для настройки VPN-соединения IPSEC Site-to-Site необходимо выполнить следующие шаги:
Настроить конфигурацию на ARMA Стена1:
# Настройка сетевых интерфейсов: set interfaces ethernet eth0 address '192.168.44.22' set interfaces ethernet eth1 address '192.168.1.1/24' # Настройка аутентификации: set vpn ipsec authentication psk NGFW id '192.168.44.22' set vpn ipsec authentication psk NGFW id '192.168.22.55' set vpn ipsec authentication psk NGFW secret 'p4ssw0rd' # Настройка групп шифрования ESP (для защиты транспортного потока): set vpn ipsec esp-group ESP-GROUP mode 'tunnel' set vpn ipsec esp-group ESP-GROUP proposal 1 encryption 'aes256' set vpn ipsec esp-group ESP-GROUP proposal 1 hash 'sha256' # Настройка IKE-группы: set vpn ipsec ike-group IKE-GROUP key-exchange 'ikev2' set vpn ipsec ike-group IKE-GROUP proposal 1 dh-group '14' set vpn ipsec ike-group IKE-GROUP proposal 1 encryption 'aes256' set vpn ipsec ike-group IKE-GROUP proposal 1 hash 'sha256' # Назначить интерфейс eth0 для работы IPsec set vpn ipsec interface 'eth0' # Настройка site-to-site соединения: set vpn ipsec site-to-site peer NGFW authentication mode 'pre-shared-secret' set vpn ipsec site-to-site peer NGFW connection-type 'initiate' set vpn ipsec site-to-site peer NGFW default-esp-group 'ESP-GROUP' set vpn ipsec site-to-site peer NGFW ike-group 'IKE-GROUP' set vpn ipsec site-to-site peer NGFW local-address 'any' set vpn ipsec site-to-site peer NGFW remote-address '192.168.22.55' set vpn ipsec site-to-site peer NGFW tunnel 0 local prefix '192.168.1.0/24' set vpn ipsec site-to-site peer NGFW tunnel 0 remote prefix '192.168.2.0/24' commit save
Настроить конфигурацию на ARMA Стена2:
set interfaces ethernet eth0 address '192.168.22.55' set interfaces ethernet eth1 address '192.168.2.1/24' set vpn ipsec authentication psk NGFW id '192.168.22.55' set vpn ipsec authentication psk NGFW id '192.168.44.22' set vpn ipsec authentication psk NGFW secret 'p4ssw0rd' set vpn ipsec esp-group ESP-GROUP mode 'tunnel' set vpn ipsec esp-group ESP-GROUP proposal 1 encryption 'aes256' set vpn ipsec esp-group ESP-GROUP proposal 1 hash 'sha256' set vpn ipsec ike-group IKE-GROUP key-exchange 'ikev2' set vpn ipsec ike-group IKE-GROUP proposal 1 dh-group '14' set vpn ipsec ike-group IKE-GROUP proposal 1 encryption 'aes256' set vpn ipsec ike-group IKE-GROUP proposal 1 hash 'sha256' set vpn ipsec interface 'eth0' set vpn ipsec site-to-site peer NGFW authentication mode 'pre-shared-secret' set vpn ipsec site-to-site peer NGFW connection-type 'initiate' set vpn ipsec site-to-site peer NGFW default-esp-group 'ESP-GROUP' set vpn ipsec site-to-site peer NGFW ike-group 'IKE-GROUP' set vpn ipsec site-to-site peer NGFW local-address 'any' set vpn ipsec site-to-site peer NGFW remote-address '192.168.44.22' set vpn ipsec site-to-site peer NGFW tunnel 0 local prefix '192.168.2.0/24' set vpn ipsec site-to-site peer NGFW tunnel 0 remote prefix '192.168.1.0/24' commit save
Мониторинг VPN-соединения IPSEC Site-to-Site:
Для проверки корректности конфигурации и работоспособности IKE-части VPN необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ike sa Peer ID / IP Local ID / IP ------------ ------------- 192.168.22.55 192.168.22.55 192.168.44.22 192.168.44.22 State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time ----- ------ ------- ---- --------- ----- ------ ------ up IKEv2 AES_CBC_256 HMAC_SHA2_256_128 MODP_2048 no 125 27375 admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ike sa Peer ID / IP Local ID / IP ------------ ------------- 192.168.44.22 192.168.44.22 192.168.22.55 192.168.22.55 State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time ----- ------ ------- ---- --------- ----- ------ ------ up IKEv2 AES_CBC_256 HMAC_SHA2_256_128 MODP_2048 no 270 28164 admin@ngfwos:~$
Для проверки корректности конфигурации и работоспособности IPsec-части VPN необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec sa Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal ------------- ------- -------- -------------- ---------------- ---------------- -------------- ----------------------------- NGFW-tunnel-0 up 5m37s 504B/504B 6/6 192.168.22.55 192.168.22.55 AES_CBC_256/HMAC_SHA2_256_128 admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec sa Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal ------------- ------- -------- -------------- ---------------- ---------------- -------------- ----------------------------- NGFW-tunnel-0 up 7m53s 504B/504B 6/6 192.168.44.22 192.168.44.22 AES_CBC_256/HMAC_SHA2_256_128 admin@ngfwos:~$
Для детального анализа работы IPsec необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec sa detail NGFW: #4, ESTABLISHED, IKEv2, 1e14825c46b682bf_i a1de5b9d037bcc6e_r* local '192.168.44.22' @ 192.168.44.22[4500] remote '192.168.22.55' @ 192.168.22.55[4500] AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048 established 577s ago, rekeying in 26923s NGFW-tunnel-0: #2, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA2_256_128 installed 577s ago, rekeying in 2503s, expires in 3023s in c20787e0, 504 bytes, 6 packets, 533s ago out cf5f6cc7, 504 bytes, 6 packets, 533s ago local 192.168.1.0/24 remote 192.168.2.0/24 admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec sa detail NGFW: #4, ESTABLISHED, IKEv2, 1e14825c46b682bf_i* a1de5b9d037bcc6e_r local '192.168.22.55' @ 192.168.22.55[4500] remote '192.168.44.22' @ 192.168.44.22[4500] AES_CBC-256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048 established 530s ago, rekeying in 27904s NGFW-tunnel-0: #3, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA2_256_128 installed 530s ago, rekeying in 2626s, expires in 3070s in cf5f6cc7, 504 bytes, 6 packets, 486s ago out c20787e0, 504 bytes, 6 packets, 486s ago local 192.168.2.0/24 remote 192.168.1.0/24 admin@ngfwos:~$
Для отображения общего состояния IPsec-подсистемы необходимо ввести следующую команду:
ARMA Стена1:
admin@ngfwos:~$ show vpn ipsec state src 192.168.44.22 dst 192.168.22.55 proto esp spi 0xcf5f6cc7 reqid 1 mode tunnel replay-window 0 flag af-unspec auth-trunc hmac(sha256) 0x35fdb0df730b7f67b6a64eb6a87e210efd59194020c0a2d4d94d48fc107a1e50 128 enc cbc(aes) 0x3fcd3e1cb25e754ae3f90ba692f93f696852bf1128c7284f610379a3103da73d lastused 2025-03-05 07:35:41 anti-replay context: seq 0x0, oseq 0x6, bitmap 0x00000000 src 192.168.22.55 dst 192.168.44.22 proto esp spi 0xc20787e0 reqid 1 mode tunnel replay-window 32 flag af-unspec auth-trunc hmac(sha256) 0x521dcf97c48a7259ce28a7ea281bb15b2e393b390d13b8dd2b3136acbad29a6c 128 enc cbc(aes) 0xe470d3eab56346dd517514305a39204078438812ef9d623642a90dfdb444d9e0 lastused 2025-03-05 07:35:41 anti-replay context: seq 0x6, oseq 0x0, bitmap 0x0000003f admin@ngfwos:~$
ARMA Стена2:
admin@ngfwos:~$ show vpn ipsec state src 192.168.22.55 dst 192.168.44.22 proto esp spi 0xc20787e0 reqid 1 mode tunnel replay-window 0 flag af-unspec auth-trunc hmac(sha256) 0x521dcf97c48a7259ce28a7ea281bb15b2e393b390d13b8dd2b3136acbad29a6c 128 enc cbc(aes) 0xe470d3eab56346dd517514305a39204078438812ef9d623642a90dfdb444d9e0 lastused 2025-03-05 07:35:41 anti-replay context: seq 0x0, oseq 0x6, bitmap 0x00000000 src 192.168.44.22 dst 192.168.22.55 proto esp spi 0xcf5f6cc7 reqid 1 mode tunnel replay-window 32 flag af-unspec auth-trunc hmac(sha256) 0x35fdb0df730b7f67b6a64eb6a87e210efd59194020c0a2d4d94d48fc107a1e50 128 enc cbc(aes) 0x3fcd3e1cb25e754ae3f90ba692f93f696852bf1128c7284f610379a3103da73d lastused 2025-03-05 07:35:41 anti-replay context: seq 0x6, oseq 0x0, bitmap 0x0000003f admin@ngfwos:~$