Настройка IKEv2 VPN на MikroTik: сертификаты, логин-пароль и клиенты

Подробное руководство по настройке IKEv2 VPN-сервера на MikroTik: аутентификация по сертификатам и через RADIUS, выпуск сертификатов, настройка клиентов Windows и Linux, решение типичных проблем.

Что такое IKEv2 и почему он удобен для VPN

IKEv2 (Internet Key Exchange version 2) — это протокол для установления защищённых VPN-соединений, который используется в паре с IPsec. Он считается одним из самых надёжных и современных методов организации удалённого доступа. Главные преимущества IKEv2 — высокая устойчивость к разрывам соединения: при смене сети (например, переход с Wi-Fi на мобильный интернет) туннель автоматически восстанавливается, что особенно важно для мобильных сотрудников. Протокол поддерживается всеми основными операционными системами: Windows, macOS, iOS, Android и Linux, поэтому клиентам не нужно устанавливать дополнительное программное обеспечение.

IKEv2 также отличается хорошей производительностью и гибкостью настройки. Он позволяет использовать разные методы аутентификации: по сертификатам (IKEv2-RSA) или по логину и паролю (EAP-MSCHAPv2). Второй вариант значительно упрощает развёртывание, так как не требует выпуска и установки клиентских сертификатов на каждое устройство. В этой статье мы рассмотрим оба подхода на примере роутеров MikroTik, а также затронем настройку на межсетевых экранах UserGate.

Подготовка MikroTik: версия RouterOS и необходимые пакеты

Для настройки IKEv2 VPN-сервера на MikroTik потребуется RouterOS версии 7.x или новее. В седьмой версии появились важные функции, которые упрощают жизнь администратору: встроенная поддержка сертификатов Let's Encrypt и встроенный RADIUS-сервер (User Manager). Эти возможности позволяют отказаться от сторонних генераторов сертификатов и внешних RADIUS-серверов, что особенно удобно для небольших сетей.

Если вы планируете использовать аутентификацию по логину и паролю, необходимо установить дополнительный пакет user-manager. Скачайте архив extra-packages с официального сайта MikroTik, выберите файл user-manager-7.x.npk, соответствующий архитектуре вашего роутера, скопируйте его в корень файловой системы и перезагрузите устройство. После перезагрузки в меню WinBox появится пункт User Manager. Убедитесь, что версия пакета точно совпадает с версией RouterOS, иначе установка не удастся.

Аутентификация по сертификатам: создание центра сертификации

Первый способ настройки IKEv2 — аутентификация по сертификатам. Этот метод считается более безопасным, так как исключает передачу паролей по сети, но требует создания инфраструктуры открытых ключей (PKI). В качестве центра сертификации (CA) можно использовать сам MikroTik.

Для создания корневого сертификата перейдите в меню System → Certificates, нажмите «+» и заполните поля: Name (например, ca), Common Name (тоже ca), Key Size (рекомендуется 2048 бит или больше), Days Valid (например, 3650 дней). На вкладке Key Usage оставьте только флажки crl sign и key cert. sign — это позволит сертификату подписывать другие сертификаты. После сохранения нажмите Sign, укажите CA CRL Host (можно использовать 127.0.0.1) и подтвердите создание.

Корневой сертификат станет основой доверия для всех участников VPN. Его необходимо будет установить на клиентские устройства, чтобы они могли проверить подлинность серверного сертификата.

Выпуск серверного и клиентских сертификатов

После создания CA нужно выпустить сертификат для VPN-сервера. Важное требование: сервер должен иметь статический IP-адрес или доменное имя (FQDN), так как сертификат привязывается к адресу, по которому клиенты будут подключаться. Если использовать доменное имя, то при смене IP не придётся перевыпускать сертификаты. В сертификате укажите Name и Common Name — IP или домен, а в Subject Alt. Name добавьте тот же адрес. На вкладке Key Usage оставьте только флаг tls server. Подпишите сертификат созданным CA.

Для клиентских сертификатов создайте отдельный сертификат на каждого пользователя (например, с именем Pawel). На вкладке Key Usage можно оставить флаги по умолчанию или указать tls client. После подписи экспортируйте сертификат в формате PKCS12: выберите сертификат, нажмите Export, укажите Type = PKCS12, задайте пароль (не менее 8 символов) и имя файла. В файле .p12 будут содержаться закрытый ключ клиента, клиентский сертификат и корневой сертификат CA — это удобно для переноса на устройство.

Настройка IKEv2 VPN-сервера на MikroTik: основные компоненты

Настройка IKEv2 на MikroTik включает создание нескольких сущностей в меню IP → IPsec: Profile, Proposal, Group, Policy Template, Peer, Mode Config и Identity. Рассмотрим их по порядку.

Profile — задаёт параметры установления соединения. Рекомендуется создать копию профиля default, чтобы не изменять стандартные настройки. Proposal — определяет алгоритмы шифрования и хеширования. Для совместимости с современными ОС используйте aes-128-cbc, aes-192-cbc, aes-256-cbc и отключите PFS (pfs-group=none), если клиенты не поддерживают его. Group — используется для связывания Policy Template и Identity. Policy Template — шаблон политики, который определяет, какой трафик будет зашифрован. Обычно указывают src-address=0.0.0.0/0 (разрешить подключения с любого адреса) и dst-address — подсеть, выделенную для VPN-клиентов (например, 192.0.2.0/24). Peer — настройка приёма подключений: укажите exchange-mode=ike2, passive=yes (сервер ждёт подключений) и profile. Mode Config — передаёт клиентам параметры: пул IP-адресов, DNS-серверы, маршруты до локальных сетей (split-include). Identity — связывает все настройки вместе и определяет метод аутентификации.

Для аутентификации по сертификатам в Identity укажите auth-method=rsa-signature и выберите серверный сертификат. Для аутентификации по логину и паролю используйте auth-method=eap-radius и укажите сертификат сервера (например, от Let's Encrypt).

Аутентификация по логину и паролю: использование RADIUS и Let's Encrypt

Второй способ — аутентификация по логину и паролю через встроенный RADIUS-сервер (User Manager). Этот метод проще в развёртывании, так как не требует выпуска клиентских сертификатов. Однако для шифрования соединения всё равно нужен сертификат на стороне сервера. Здесь удобно использовать Let's Encrypt, который автоматически выдаёт доверенные сертификаты.

Для получения сертификата Let's Encrypt на MikroTik выполните команду /certificate/enable-ssl-certificate dns-name=ваш-домен. При этом на роутере должен быть временно открыт порт 80 (TCP) для проверки домена. После успешной генерации сертификат появится в хранилище. Важно также установить промежуточный сертификат R3 от Let's Encrypt на клиентские устройства, иначе может возникнуть ошибка IKE с кодом 13801.

Далее настройте RADIUS: добавьте /radius address=127.0.0.1 secret=ваш-пароль service=ppp,ipsec и разрешите входящие запросы /radius incoming set accept=yes. Затем настройте User Manager: включите его, добавьте роутер с shared-secret и создайте пользователя с логином и паролем. В Identity укажите auth-method=eap-radius и выберите сертификат сервера. Клиенты будут подключаться, вводя логин и пароль, а MikroTik будет проверять их через RADIUS.

Настройка клиентов Windows и Linux для подключения к IKEv2

Для подключения к IKEv2 VPN на Windows используйте встроенный клиент. Создайте новое VPN-подключение: Параметры → Сеть и Интернет → VPN → Добавить VPN-подключение. Укажите поставщика «Windows (встроенные)», имя подключения, адрес сервера (FQDN или IP), тип VPN — IKEv2. Если используется аутентификация по сертификатам, выберите тип данных для входа «Сертификат». Если по логину и паролю — «Имя пользователя и пароль».

После создания подключения откройте его свойства (Панель управления → Центр управления сетями → Изменение параметров адаптера), перейдите на вкладку «Безопасность» и выберите «Использовать сертификаты компьютеров» (для сертификатной аутентификации). На вкладке «Сеть» в свойствах IPv4 снимите флажок «Использовать основной шлюз в удалённой сети», если не хотите направлять весь трафик через VPN.

Для Linux (Ubuntu) установите пакеты network-manager-strongswan и libcharon-extra-plugins. В настройках сети добавьте новое VPN-подключение типа IPsec/IKEv2 (strongswan). Укажите метод аутентификации (Certificate или EAP), загрузите клиентский сертификат и ключ (для сертификатной схемы) или введите логин и пароль. Убедитесь, что корневой сертификат CA установлен в системе (например, в /etc/ssl/certs/).

Настройка IKEv2 на UserGate NGFW: альтернативный вариант

Помимо MikroTik, IKEv2 VPN можно настроить на межсетевых экранах UserGate NGFW. Это корпоративное решение, которое предоставляет централизованное управление доступом и интеграцию с Active Directory. В качестве примера рассмотрим настройку Remote access VPN с аутентификацией по сертификатам.

Сначала необходимо разрешить сервисы VPN и «Подключение конечных устройств» в зоне, откуда будут подключаться клиенты (например, Untrusted). Затем создайте зону для VPN-подключений (по умолчанию есть VPN for Remote access). Импортируйте сертификаты: серверный сертификат с приватным ключом и корневой сертификат CA. Создайте профиль клиентских сертификатов, указав корневой сертификат и поле для идентификации пользователя (Common Name, email и т.д.).

Далее создайте профиль безопасности VPN: выберите протокол IKEv2, укажите серверный сертификат, режим аутентификации PKI и профиль клиентских сертификатов. Настройте VPN-интерфейс (например, tunnel1) со статическим IP-адресом и создайте сеть VPN с диапазоном адресов для клиентов. Затем создайте серверное правило VPN, указав профиль безопасности, сеть VPN, профиль аутентификации (например, через LDAP) и разрешённых пользователей. Не забудьте настроить NAT и межсетевой экран для разрешения трафика из VPN-зоны.

Типичные ошибки и способы их решения

При настройке IKEv2 VPN часто возникают ошибки, связанные с сертификатами и конфигурацией. Одна из самых распространённых — ошибка IKE с кодом 13801 в Windows. Она возникает, когда клиент не доверяет сертификату сервера. Решение: убедитесь, что корневой сертификат CA (или промежуточный сертификат R3 для Let's Encrypt) установлен в хранилище «Доверенные корневые центры сертификации» на компьютере, а не в хранилище пользователя. Для Let's Encrypt также важно, чтобы сертификат R3 был установлен как «промежуточный доверенный центр сертификации» в хранилище Local Machine.

Другая проблема — несоответствие адреса в сертификате и адреса, по которому клиент подключается. Если сертификат выпущен для доменного имени, а клиент вводит IP-адрес, соединение будет отклонено. Используйте FQDN в настройках клиента. Также проверьте, что на роутере открыты порты для IKEv2: UDP 500 и UDP 4500. Если используется NAT, убедитесь, что включён NAT Traversal (NAT-T).

Если клиент не получает IP-адрес, проверьте настройки пула и Mode Config. Убедитесь, что в Identity правильно указан mode-config и policy-template-group. Также не забывайте, что в RouterOS 7 профили default лучше не изменять — создавайте копии.

Сравнение методов аутентификации и рекомендации по выбору

Выбор между сертификатной аутентификацией и логином/паролем зависит от масштаба и требований безопасности. Сертификаты обеспечивают более высокий уровень защиты, так как исключают передачу паролей по сети и позволяют гибко управлять доступом (отзыв сертификатов). Однако они требуют настройки PKI и установки сертификатов на каждое устройство, что может быть трудоёмко для больших парков устройств.

Аутентификация по логину и паролю через RADIUS проще в развёртывании и управлении: достаточно создать пользователей в User Manager или подключить внешний RADIUS/LDAP. Это удобно для небольших сетей или когда нужно быстро предоставить доступ временным сотрудникам. Однако пароли менее безопасны, чем сертификаты, и требуют политики сложности и регулярной смены.

Для корпоративных сред с высокими требованиями к безопасности рекомендуется использовать сертификаты, особенно если уже есть инфраструктура PKI. Для малого бизнеса или домашнего использования подойдёт логин/пароль с Let's Encrypt. В любом случае, IKEv2 — это современный и надёжный протокол, который обеспечит стабильное и защищённое соединение.

Вопросы и ответы

Какие порты нужно открыть для IKEv2 VPN?

Для работы IKEv2 VPN необходимо открыть UDP-порт 500 (IKE) и UDP-порт 4500 (IPsec NAT-T). Если используется сертификат Let's Encrypt, также потребуется временно открыть TCP-порт 80 для проверки домена при генерации сертификата.

Почему возникает ошибка IKE 13801 в Windows и как её исправить?

Ошибка 13801 означает, что клиент не доверяет сертификату сервера. Чаще всего это происходит из-за неправильной установки корневого или промежуточного сертификата. Убедитесь, что сертификат CA (или R3 для Let's Encrypt) установлен в хранилище «Доверенные корневые центры сертификации» или «Промежуточные доверенные центры сертификации» на уровне компьютера (Local Machine), а не пользователя.

Можно ли использовать IKEv2 без сертификатов?

Да, можно использовать аутентификацию по логину и паролю (EAP-MSCHAPv2). В этом случае сертификат нужен только на стороне сервера для шифрования соединения. На MikroTik для этого используется встроенный RADIUS-сервер (User Manager) или внешний RADIUS. Клиентские сертификаты не требуются.

Как настроить IKEv2 на Windows 10/11?

Откройте Параметры → Сеть и Интернет → VPN → Добавить VPN-подключение. Укажите поставщика «Windows (встроенные)», имя, адрес сервера (FQDN или IP), тип VPN — IKEv2. Для сертификатной аутентификации выберите тип входа «Сертификат», для логина/пароля — «Имя пользователя и пароль». После сохранения подключитесь, нажав на созданное подключение.

Что такое Mode Config в настройках IKEv2 на MikroTik?

Mode Config (mode-config) — это набор параметров, которые VPN-сервер передаёт клиенту при подключении: IP-адрес из пула, DNS-серверы, маршруты до локальных сетей (split-include). Это позволяет клиенту автоматически настраивать сетевые параметры без ручной конфигурации.

Как выпустить сертификат Let's Encrypt на MikroTik?

Выполните команду /certificate/enable-ssl-certificate dns-name=ваш-домен. Убедитесь, что порт 80 открыт на время генерации. После успешного выполнения появится сертификат в хранилище. Также рекомендуется установить промежуточный сертификат R3 на клиентские устройства.

В чём разница между IKEv2 и L2TP/IPsec?

IKEv2 — более современный протокол, который лучше работает при смене сетей (например, с Wi-Fi на мобильный интернет), быстрее восстанавливает соединение и поддерживает мобильные устройства. L2TP/IPsec также использует IPsec для шифрования, но менее устойчив к разрывам и может блокироваться в некоторых сетях из-за использования фиксированных портов.