Пошаговая заметка по настройке IKEv2 на Mikrotik в терминале. При настройке не забываем указывать свои данные: пользователи, адреса, сети, dns. Подробное описание протокола и параметров можно найти в официальной документации https://help.mikrotik.com/docs/spaces/ROS/pages/11993097/IPsec
Создание сертификатов:
Генерация сертификатов для сервера и клиента.
#Сертификат центра сертификации
/certificate add name="ca-vpn" country="RU" state="00" locality="IT" organization="IT" common-name="ca-vpn" key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign
#подписываем сертификат
/certificate sign "ca-vpn" ca-crl-host=192.168.88.2
#Сертификат сервера, лучше использовать доменное имя. Если ip-адрес сменится, не придется выпускать заново сертификаты.
/certificate add name="vpn.example.com" country="RU" state="00" locality="IT" organization="IT" common-name="vpn.example.com" subject-alt-name=DNS:"vpn.example.com" key-size=2048 days-valid=3650 key-usage=tls-server
#подписываем сертификат сервера
/certificate sign "vpn.example.com" ca="ca-vpn"
#Сертификат клиента
/certificate add name="UserVpn" country="RU" state="00" locality="IT" organization="IT" common-name="UserVpn" key-size=2048 days-valid=3650 key-usage=tls-client
#Подписываем
/certificate sign "UserVpn" ca="ca-vpn"
#Экспорт сертификата клиента, после экспорта скачать на пк
/certificate export-certificate "UserVpn" type=pkcs12 export-passphrase=0123456789
#Экспорт сертификата CA
/certificate export-certificate "ca-vpn" type=pem
Настройка IPsec:
Конфигурация параметров IPsec, включая создание профилей и предложений. Параметры сервера IKEv2 на MikroTik, совместимы с Windows10 и macOS
Порядок настройки:
- Address pool
- Mode-config
- Proposal
- Profile
- Policy
- Peer
- Identity
#диапазон адресов для клиентов ikev2
/ip pool add name=IKEv2-pool ranges=10.0.0.10-10.0.0.20
#сетевые настройки для клиентов
/ip ipsec mode-config add address-pool=IKEv2-pool address-prefix-length=32 name=IKEv2-cfg split-include=192.168.88.0/24 system-dns=yes
#параметры шифрования
/ip ipsec proposal add name=IKEv2 auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m pfs-group=modp2048
#новый профиль
/ip ipsec profile add name=IKEv2 hash-algorithm=sha256 enc-algorithm=aes-256,aes-192,aes-128,3des dh-group=ecp384,modp4096,modp2048,modp1024 lifetime=1d proposal-check=obey nat-traversal=yes dpd-interval=2m dpd-maximum-failures=5
#создаем новую группу с уникальным именем
/ip ipsec policy group add name=IKEv2-policies
#новый пир
/ip ipsec peer add exchange-mode=ike2 name=IKEv2-peer passive=yes profile=IKEv2
#натройка для подключающегося клиента
/ip ipsec identity add auth-method=digital-signature certificate="vpn.example.com" remote-certificate="UserVpn" generate-policy=port-strict mode-config=IKEv2-cfg peer=IKEv2-peer policy-template-group=IKEv2-policies
#настройка файервола, если не настроено
/ip firewall filter
add action=accept chain=input dst-port=500,4500 in-interface=ether1 protocol=udp
/ip firewall filter
add action=accept chain=forward in-interface=ether1 ipsec-policy=in,ipsec
Если IKEv2 уже настроен и возникли проблемы с подключением из разных систем. Ниже нужные параметры proposal и profile для вашего сервера IKEv2 на MikroTik, совместимые с Windows10 и macOS (название ваших настроек может отличаться)
/ip ipsec proposal
set name="IKEv2" auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m pfs-group=modp2048
/ip ipsec profile
name="IKEv2" hash-algorithm=sha256 enc-algorithm=aes-256,aes-192,aes-128,3des dh-group=ecp384,modp4096,modp2048,modp1024 lifetime=1d proposal-check=obey nat-traversal=yes dpd-interval=2m dpd-maximum-failures=5
Настройка клиента Windows, powershell
Параметр -MachineCertificateIssuerFilter не нужен если на пк только одно IKEv2 подключение.
Add-VpnConnection `
-Name "Vpn" ` #имя вашего подключения
-ServerAddress "vpn.example.com" ` #адрес vpn сервера
-TunnelType IKEv2 ` #тип туннеля
-AuthenticationMethod MachineCertificate ` #метод аутентификации
-EncryptionLevel Maximum ` #уровень шифрования
-SplitTunneling ` #раздельное туннелирование трафика
-PassThru ` #просто выводит параметры подключения после создания
-MachineCertificateIssuerFilter "C:\software\cert\ca-vpn.crt"
Параметр -MachineCertificateIssuerFilter нужен когда на пк используется несколько подключений IKEv2 с авторизацией по сертификату. Указываем сертификат CA. Своего рода "привязка" сертификата к подключению. Когда в локальное хранилище компьютера импортировано несколько сертификатов, при подключении получаю ошибку
неприемлемые учетные данные при проверке подлинности IKE
Без этой настройки так и не смог заставить работать несколько IKEv2 на одном пк с Windows10
Ошибка "сопоставления групповой политики" может означать, что Windows ожидает определённые параметры шифрования, которые не совпадают с MikroTik.
Логи и диагностика
На MikroTik
/log print
Ищите ошибки типа no matching policy found или authentication failed.
На Windows
- Откройте Просмотр событий (eventvwr.msc) → Журналы Windows → Система.
- Ищите ошибки от RasClient или IKEEXT.
Ошибки чаще всего связаны с:
- Несоответствием алгоритмов (MikroTik vs Windows).
- Блокировкой брандмауэром.
- Отсутствием правильных политик IPsec.