Схема:

Задача: Настроить VPN на Windows в сторону ESR для доступа к подсетями 198.51.100.0/25, 198.51.100.128/25. В кчестве VPN необходимо использовать IKEv2 с аутентификацией по EAP. Firewall выключен.
В качестве аутентификации IKEv2 соединения будут использоваться сертификаты. Пример генерации сертификатов есть в статье: Генерация ключей и сертификатов для туннелей IPsec
Для удачного построения IKEv2-соединения с Windows-клиентами в поле Subject Alternative Name сертификата Сервера должен быть DNS. Пример команды генерации сертификата сервера с данным полем: user@user:~$ openssl req -config openssl.cnf -key private/server1_key.pem -new -sha256 -subj "/C=RU/ST=Siberia/L=Novosibirsk/O=Eltex/OU=Eltex SC/CN=server1.esr-test.loc/emailAddress=server1@esr-test.loc" -addext "subjectAltName = IP:203.0.113.2,DNS:203.0.113.2" -out csr/server1_req.pem |
На ESR IKEv2-Server необходимо загрузить корневой сертификат, приватный ключ сервера и сертификат сервера. Пример:
esr# copy tftp://203.0.113.1:/ca_crt.pem crypto:cert/ca.crt esr# copy tftp://203.0.113.1:/server1_crt.pem crypto:cert/IPsec.crt esr# copy tftp://203.0.113.1:/server1_key.pem crypto:private-key/IPsec.key |
Проверить загрузку сертификатов можно с помощью команды dir:
esr# dir crypto:cert/
|
Со стороны Windows необходимо добавить корневой сертификат (ca_crt.pem) в "Доверенные корневые центры сертификации" для локального компьютера:

1) Настроим физические интерфейсы и маршрут по умолчанию в сторону WAN:
|
2) Настроим IKEv2-Server.
Настроим address-assignment pool <NAME>.
address-assignment pool <NAME> необходим для указания подсети, в рамках которой будут выдаваться IP-адреса IKEv2-клиентам.
|
Настроим access profile <NAME>.
access profile <NAME> - база локальных пользователей (логины и пароли) для аутентификации по EAP. Для аутентификации Windows-клиента создадим пользователя user1 с паролем password:
|
Настроим security ike proposal <NAME>, в котором укажем алгоритмы для построения ISAKMP-туннеля:
|
Настроим security ike policy <NAME>, в котором укажем загруженные сертификаты, метод аутентификации IKEv2-клиентов, а также security ike proposal:
Разные платформы (например, windows, android и т.д.) могут использовать разные алгоритмы для построения ISAKMP-туннеля (1-ой фазы), поэтому в конфигурации security ike policy <NAME> можно указать несколько security ike proposal. |
|
Настроим security ike gateway <NAME>. На данном этапе укажем следующе параметры:
- version - версия протокола IKE;
- ike-policy - для привязки security ike policy;
- local address - IP-адрес, к которому подключаются IKEv2-клиенты;
- local network - подсети, которые анонсируются IKEv2-клиентам;
- remote address any - параметр для подключения IKEv2-клиентов с любым IP-адресом;
- remote network dynamic pool - подсеть, в рамках которой будут выдаваться IP-адреса IKEv2-клиентам. (он же address-assignment pool, который был настроен ранее);
- mode - режим работы IPsec-туннеля;
- access-profile - база локальных пользователей (логины и пароли) для аутентификации по EAP.
|
На последнем этапе настроим security ipsec proposal <NAME>, security ipsec policy <NAME> и security ipsec vpn <NAME>.
В security ipsec proposal <NAME> укажем алгоритмы для построения IPsec-туннеля. (По умолчанию используются алгоритмы 3des и sha1, поэтому они не оторбаражтся в итоговой конфигурации и настраивать их не обязательно).
В security ipsec policy <NAME> привяжем security ipsec proposal.
В security ipsec vpn <NAME> укажем security ipsec policy, security ike gateway, а также переведем в режим by-request.
Разные платформы (например, windows, android и т.д.) могут использовать разные алгоритмы для построения IPsec-туннеля (2-ой фазы), поэтому в конфигурации security ipsec policy <NAME> можно указать несколько security ipsec proposal. |
|
Итоговоя конфигурация маршрутизатора:
hostname esr
interface gigabitethernet 1/0/1
ip firewall disable
ip address 192.168.39.203/20
exit
interface gigabitethernet 1/0/2
description "WAN"
ip firewall disable
ip address 203.0.113.2/30
exit
interface gigabitethernet 1/0/3
description "LAN"
ip firewall disable
ip address 198.51.100.1/25
exit
interface gigabitethernet 1/0/4
description "LAN"
ip firewall disable
ip address 198.51.100.129/25
exit
address-assignment pool EAP
ip prefix 192.0.2.0/29
exit
access profile USERS
user user1
password ascii-text encrypted 8CB5107EA7005AFF
exit
exit
security ike proposal ike_proposal
authentication algorithm sha2-256
encryption algorithm aes128
dh-group 2
exit
security ike policy ike_policy
crypto ca ca.crt
crypto local-crt IPsec.crt
crypto local-crt-key IPsec.key
authentication method eap
proposal ike_proposal
exit
security ike gateway ike_gateway
version v2-only
ike-policy ike_policy
local address 203.0.113.2
local network 198.51.100.0/25
local network 198.51.100.128/25
remote address any
remote network dynamic pool EAP
mode policy-based
access-profile USERS
exit
security ipsec proposal ipsec_proposal
encryption algorithm aes256
exit
security ipsec policy ipsec_policy
proposal ipsec_proposal
exit
security ipsec vpn ipsec_vpn
ike establish-tunnel by-request
ike gateway ike_gateway
ike ipsec-policy ipsec_policy
enable
exit
ip route 0.0.0.0/0 203.0.113.1 |
Для того, чтобы добавить VPN соединение - необходимо перейти в "Параметры сети и Интернет" и перейти во вкладку VPN:
Далее выбираем "Добавить VPN-подключение", заполняем поля и сохраняем данное VPN-подключение:
После настройки IKEv2-server на маршрутизаторе ESR и IKEv2-client на Windows, организации IP-связанности между ними - можно приступить к VPN-подключению.
Со стороны Windows выбираем настроенное VPN-подключение и выбираем "Подключиться":

При удачном VPN-подключении будет отображаться "Подключено":
Вывод оперативной информации на ESR после подключения Windows IKEv2-Client:
|
Проверим со стороны Windows IKEv2-Client доступность подсетей 198.51.100.0/25 и 198.51.100.128/25: