Поиск по сайту
Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!
Как настроить IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам
В предыдущей статье мы настроили L2TP/IPsec клиент в MikroTik RouterOS. Теперь продолжим конфигурацию и рассмотрим, как настроить IKEv2 VPN-сервер на роутерах MikroTik с аутентификацией по сертификатам.
В современных реалиях безопасность передачи данных становится приоритетной задачей для бизнеса и частных пользователей. VPN-соединения позволяют создать защищенный канал связи между устройствами, обеспечивая конфиденциальность и целостность передаваемой информации.
Протокол IKEv2 (Internet Key Exchange version 2) — один из наиболее надежных и современных методов организации VPN. Он отличается высокой устойчивостью к разрывам соединения, хорошей производительностью и поддержкой множества платформ, включая Windows, macOS, iOS и Android.
В данной статье мы рассмотрим пошаговую настройку IKEv2 VPN-сервера на роутерах MikroTik, используя аутентификацию на основе сертификатов. Такой подход позволяет исключить передачу паролей по сети и значительно повышает безопасность соединения.
Онлайн-курс: Zabbix 6. Мониторинг IT инфраструктуры предприятия.
Курс предлагает глубокое изучение Zabbix 6 и охватывает все ключевые аспекты: от установки и конфигурации до продвинутого мониторинга и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
- Создание центра сертификации (CA) на MikroTik
- Выпуск серверного сертификата
- Выпуск клиентского сертификата и его экспорт
- Настройка IKEv2 VPN-сервера на MikroTik
- Завершение настройки IKEv2 VPN-сервера
- Настройка подключения клиента в Windows к IKEv2 VPN
- Подключение и проверка VPN на Android
- Заключение
Создание центра сертификации (CA) на MikroTik
При использовании сертификатов для аутентификации важно иметь доверенную инфраструктуру, которая позволит проверять подлинность участников VPN-соединения. Это достигается с помощью инфраструктуры открытых ключей (PKI), которая создает область доверия, позволяя проверять сертификаты без необходимости обращения к сторонним службам или спискам пользователей.
Основой PKI является центр сертификации (CA, Certificate Authority), который выпускает сертификаты и обеспечивает их проверку с помощью корневого публичного сертификата. В нашем случае CA будет развернут непосредственно на MikroTik, используя встроенные средства RouterOS.
- Шаг 1: Создание корневого сертификата
Перейдите в меню System → Certificates
И нажмите плюс (+) для создания нового сертификата.
В появившемся окне заполните обязательные параметры:
- Name – произвольное имя сертификата, например, ca;
- Common Name – имя субъекта, которому выдается сертификат (в нашем случае ca);
- Key Size – размер ключа, укажите 2048 или больше (меньшие ключи считаются небезопасными);
- Days Valid – срок действия сертификата (например, 3650 дней – 10 лет).
- Шаг 2: Указание назначения сертификата
Перейдите на вкладку Key Usage и оставьте только два флага:
- crl sign – подпись списков отзыва сертификатов;
- key cert. sign – подпись других сертификатов.
Нажмите Apply, чтобы сохранить изменения.
- Шаг 3: Подпись сертификата
После сохранения настроек нажмите Sign, чтобы подписать сертификат. В открывшемся окне укажите CA CRL Host – это адрес, по которому будет доступен список отзыва сертификатов (CRL). В нашем случае можно использовать 127.0.0.1 (локальный адрес роутера).
После этого нажмите Start, и корневой сертификат будет создан. Теперь мы готовы к следующему этапу – выпуску серверного и клиентских сертификатов.
Выпуск серверного сертификата
После создания центра сертификации (CA) следующим шагом будет выпуск сертификата для VPN-сервера. Этот сертификат будет использоваться для шифрования соединения и проверки подлинности сервера клиентами.
Важные нюансы перед созданием сертификата
- Сервер должен иметь статический IP-адрес. Это обязательное требование, так как в сертификате указывается конкретный IP или доменное имя, и его изменение приведет к неработоспособности подключения.
- Желательно использовать доменное имя (FQDN). Хотя это не строго обязательно, применение домена позволяет избежать привязки к IP-адресу. Если IP изменится, вам не придется перевыпускать сертификаты и изменять настройки клиентов.
- Сертификат должен соответствовать адресу, по которому будут подключаться клиенты. Если сертификат выпущен с доменным именем, но клиент подключается по IP-адресу, соединение будет отклонено.
- Шаг 1: Создание серверного сертификата
Перейдите в System → Certificates и нажмите плюс (+) для добавления нового сертификата. Заполните следующие поля:
- Name – укажите IP-адрес или доменное имя сервера (например, 77.228.150.130).
- Common Name – также укажите IP-адрес или доменное имя (например, 77.228.150.130).
- Subject Alt. Name – выберите IP, затем еще раз укажите IP-адрес (77.228.150.130).
- Key Size – оставьте 2048 бит.
- Days Valid – срок действия сертификата, например, 3650 дней (10 лет).
- Шаг 2: Указание назначения сертификата
Перейдите на вкладку Key Usage и оставьте только один флаг:
- tls server – сертификат будет использоваться сервером для установления TLS-защищенных соединений.
Нажмите Apply, чтобы сохранить изменения.
- Шаг 3: Подпись сертификата
После сохранения настроек нажмите Sign. В появившемся окне выберите центр сертификации (CA), который был создан ранее, и подпишите сертификат закрытым ключом CA.
После успешной подписи серверный сертификат будет готов к использованию. Теперь можно переходить к выпуску клиентских сертификатов.
Выпуск клиентского сертификата и его экспорт
Теперь создадим клиентский сертификат, который будет использоваться для аутентификации устройств при подключении к VPN-серверу. Этот сертификат будет подписан центром сертификации (CA) и содержать закрытый ключ клиента.
- Шаг 1: Создание клиентского сертификата
Перейдите в System → Certificates и нажмите плюс (+) для добавления нового сертификата. Заполните следующие поля:
- Name – имя сертификата, например, Pawel.
- Common Name – акже укажите Pawel.
- Days Valid – срок действия сертификата, например, 3650 дней (10 лет).
- Шаг 2: Подпись сертификата
После сохранения нажмите Sign, выберите центр сертификации (CA), который был создан ранее.
И подпишите сертификат закрытым ключом CA.
Теперь клиентский сертификат готов к использованию, но для удобного переноса на клиентское устройство его необходимо экспортировать.
- Шаг 3: Экспорт сертификата в PKCS12
Чтобы использовать сертификат на клиентских устройствах, его нужно экспортировать в формате PKCS12. Этот формат удобен тем, что в одном файле содержится:
- Закрытый ключ клиента
- Клиентский сертификат
- Корневой сертификат CA
Для экспорта:
- Выберите созданный сертификат Pawel.
- Нажмите Export.
- В поле Type выберите PKCS12.
- В поле Export Passphrase введите пароль (не менее 8 символов).
- Для тестовой среды можно использовать Qwerty123,
- Для боевой среды рекомендуется задать сложный, уникальный пароль.
- В поле File Name укажите имя файла, например, Pawel.
- Что это за поле? Это имя, под которым файл будет сохранен в файловой системе MikroTik (раздел Files).
- Нажмите Export.
- Шаг 4: Скачивание сертификатов
Перейдите в Files
Найдите экспортированный файл ( Pawel.p12) и скачайте его на компьютер, просто перетащите файл на рабочий стол. Теперь сертификат готов для использования на клиентских устройствах.
Настройка IKEv2 VPN-сервера на MikroTik
На данном этапе мы переходим к настройке IPsec, которая является основой работы IKEv2 VPN. Этот процесс может показаться сложным, однако, если следовать инструкциям, настройка пройдет без проблем. В статье мы не будем подробно останавливаться на назначении каждой опции, поэтому рекомендуем придерживаться указанных параметров.
- Шаг 1: Создание профиля IPsec
Первым делом необходимо создать профиль, который задает параметры для установления VPN-соединения.
- Перейдите в IP → IPsec.
- Откройте вкладку Profiles.
- Нажмите плюс (+) для создания нового профиля.
- Укажите осмысленное имя, например, IKEv2.
- Остальные параметры оставьте по умолчанию.
- Нажмите Apply, затем OK.
- Шаг 2: Настройка криптографических предложений (Proposals)
Proposals – это набор параметров шифрования и хеширования, которые VPN-сервер предлагает клиентам при установке соединения.
- Перейдите во вкладку Proposals.
- Нажмите плюс (+) для создания нового предложения.
- В блоке Encr. Algorithms (алгоритмы шифрования):
- Уберите 3des (так как он устарел).
- Добавьте aes-128-cbc, aes-192-cbc, aes-256-cbc (современные алгоритмы, поддерживаемые всеми актуальными ОС).
- Нажмите Apply, затем OK.
Выбор этих алгоритмов обеспечит высокий уровень безопасности и широкую совместимость с клиентскими устройствами.
- Шаг 3: Создание пула IP-адресов для VPN-клиентов
Чтобы подключающиеся клиенты могли получать IP-адреса, необходимо создать пул (диапазон адресов, который будет раздавать сервер).
- Перейдите в IP → Pool.
- Нажмите плюс (+) для создания нового пула.
- В поле Name укажите название, например, IKEv2_Pool.
- В поле Addresses укажите диапазон, который будет использоваться для клиентов: 172.16.200.1-172.16.200.100
- Нажмите Apply, затем OK.
Теперь у нас есть основные настройки для IKEv2 VPN-сервера: профиль соединения, параметры шифрования и пул IP-адресов для клиентов. В следующем шаге мы настроим IPsec Policies, Peers и идентификаторы.
Завершение настройки IKEv2 VPN-сервера
На этом этапе мы завершаем настройку IPsec, создавая конфигурации для клиентов, политики трафика, пиров и идентификацию подключающихся устройств. Эти настройки обеспечат корректное функционирование VPN-сервера и позволят клиентам получать необходимые параметры подключения.
- Шаг 1: Настройка Mode Config (Конфигурация IPsec для клиентов)
Эта настройка определяет параметры, которые VPN-сервер передает клиентам при подключении.
- Перейдите в IP → IPsec → Mode Configs.
- Нажмите плюс (+) для создания новой конфигурации.
- Заполните поля:
- Name – укажите название, например, IKEv2_Mod_CFG.
- Установите флаг Responder (сервер будет отвечать клиенту, а не инициировать соединение).
- Address Pool – выберите IKEv2_Pool (созданный ранее пул IP-адресов для клиентов).
- Address Prefix Length – укажите 32 (клиенты получат индивидуальные IP-адреса без маршрутизации на весь диапазон сети).
- Нажмите Apply, затем OK.
- Шаг 2: Создание группы IPsec
Группы используются для объединения политик, чтобы упростить управление настройками.
- Перейдите во вкладку Groups.
- Нажмите плюс (+) для создания новой группы.
- Укажите уникальное имя, например, IKEv2_Group.
- Нажмите Apply, затем OK.
- Шаг 3: Создание политики IPsec
Политика определяет, какой трафик будет зашифрован и направлен в VPN-туннель.
- Перейдите во вкладку Policies.
- Нажмите плюс (+) для создания новой политики.
- В разделе General заполните:
- Src. Address – оставьте 0.0.0.0/0 (разрешаем клиентам подключаться с любого IP).
- Dst. Address – укажите выделенный диапазон для VPN-клиентов: 172.16.200.0/24.
- Установите флаг Template (политика будет использоваться как шаблон).
- Policy Template Group – выберите созданную ранее группу IKEv2_Group.
- Перейдите на вкладку Action:
- В поле Proposal выберите IKEv2_Proposals (ранее созданные криптографические предложения).
- Нажмите Apply, затем OK.
- Шаг 4: Настройка пира (Peers) для приема подключений
Peers – это настройка подключения, определяющая параметры приема соединений от клиентов.
- Перейдите в IP → IPsec → Peers.
- Нажмите плюс (+) для создания нового пира.
- Заполните параметры:
- Name – укажите осмысленное имя, например, IKE2_Peer.
- Установите флаг Passive (сервер будет ждать подключений, а не инициировать их).
- Address – 0.0.0.0/0 (разрешаем подключение с любого IP).
- Profile – выберите IKEv2 (созданный нами ранее профиль).
- Exchange Mode – выберите IKE2 (используется IKEv2 для установления туннеля).
- Нажмите Apply, затем OK.
- Шаг 5: Настройка идентификации клиентов (Identities)
Этот шаг важен для проверки подлинности клиентов по сертификатам.
- Перейдите во вкладку Identities.
- Нажмите плюс (+) для создания новой записи.
- Заполните параметры:
- Peer – выберите созданный ранее пир IKE2_Peer.
- Auth. Method – выберите digital signature (аутентификация по сертификату).
- Certificate – выберите сертификат сервера (например, 77.228.150.130).
- Policy Template Group – выберите IKEv2_Group.
- Mode Configuration – выберите IKEv2_Mod_CFG (конфигурация для клиентов).
- Generate Policy – выберите port strict.
- Нажмите Apply, затем OK.
Важно! Если после сохранения появится ошибка "Peer не существует", просто перейдите в другую вкладку и вернитесь назад – это известный баг MikroTik.
- Шаг 6: Разрешение трафика в брандмауэре
Чтобы клиенты могли подключаться, необходимо разрешить трафик на порты, используемые IKEv2.
- Перейдите в IP → Firewall → Filter Rules.
- Нажмите плюс (+) для создания нового пира.
- Заполните параметры:
- Chain – выберите input (разрешаем входящий трафик).
- Protocol – выберите udp.
- Dst. Port – укажите 500, 4500 (порты, используемые для IPsec/IKEv2).
- Нажмите Apply, затем OK.
Это правило уже рассматривалось в предыдущих статьях. Если у вас еще нет настроек брандмауэра, рекомендуем ознакомиться с ними в соответствующем разделе.
На этом настройка IKEv2 VPN-сервера завершена! Теперь наш MikroTik готов принимать соединения от клиентов, используя надежную аутентификацию по сертификатам и безопасные IPsec-туннели.
Далее, мы рассмотрим настройку клиентских устройств (Windows, macOS, iOS, Android), чтобы подключиться к нашему VPN-серверу.
Настройка подключения клиента в Windows к IKEv2 VPN
- Шаг 1: Импорт клиентского сертификата
Перед тем как настроить VPN, необходимо импортировать клиентский сертификат.
- Дважды кликните на файле сертификата (.p12).
- Откроется Мастер импорта сертификатов. В первом окне нажмите Далее.
- В окне Расположение хранилища выберите Локальный компьютер и нажмите Далее.
- В следующем окне введите пароль, который был задан при экспорте сертификата. Например: Qwerty123.
- Нажмите Далее, а затем Готово.
Теперь сертификат успешно установлен и Windows сможет его использовать для аутентификации в VPN.
- Шаг 2: Создание VPN-подключения
- Откройте Параметры Windows → Сеть и Интернет → VPN.
- Нажмите Добавить VPN-подключение и заполните поля:
- Поставщик VPN → Windows (встроенные).
- Имя подключения → IKEv2.
- Имя или адрес сервера → 77.228.150.130 (или ваш доменный адрес, если он используется).
- Тип VPN → IKEv2.
- Тип данных для входа → Сертификат.
- Имя пользователя и пароль → оставляем пустыми.
- Установите флажок Запомнить мои данные для входа.
- Нажмите Сохранить.
- Шаг 3: Изменение параметров безопасности
- Откройте Панель управления → Сетевые подключения.
- Найдите созданное VPN-подключение (IKEv2), кликните правой кнопкой → Свойства.
- Перейдите на вкладку Безопасность.
- В разделе Проверка подлинности установите флажок Использовать сертификаты компьютеров.
- Нажмите ОК.
- Шаг 4: Подключение к VPN и проверка статуса
- Вернитесь в Параметры Windows → Сеть и Интернет → VPN.
- Выберите подключение IKEv2 и нажмите Подключиться.
- После успешного подключения откройте RouterOS → IP → Firewall → Connections и убедитесь, что VPN-туннель активен.
Теперь ваш компьютер использует IKEv2 VPN, обеспечивая безопасное соединение с сервером MikroTik.
Далее, мы рассмотрим настройку подключения для Android.
Подключение и проверка VPN на Android
На Android-устройствах встроенная поддержка IKEv2 VPN зависит от версии операционной системы и производителя устройства. Чтобы избежать возможных проблем с совместимостью, самый простой и надежный способ подключения — использование приложения strongSwan VPN Client.
- Шаг 1: Установка приложения
- Откройте Google Play Маркет.
- Введите в поиск strongSwan VPN Client.
- Установите приложение и откройте его.
- Шаг 2: Копирование сертификата на телефон
Перед настройкой VPN необходимо перенести клиентский сертификат на Android-устройство.
- Подключите телефон к компьютеру или используйте облачное хранилище (Google Drive, Dropbox).
- Скопируйте экспортированный ранее сертификат в формате .p12 на устройство.
- Запомните папку, в которую поместили файл – он понадобится при настройке.
- Шаг 3: Добавление VPN-подключения
Перед настройкой VPN необходимо перенести клиентский сертификат на Android-устройство.
- В главном окне приложения нажмите Добавить VPN-профиль.
- Заполните параметры:
- Сервер → введите IP-адрес или доменное имя VPN-сервера (например, 77.228.150.130).
- Тип VPN → выберите IKEv2 Certificate.
- Шаг 4: Установка сертификата
- Нажмите Install User Certificate.
- Выберите файл сертификата, который был загружен на устройство на Шаге 1.
- Введите пароль, который был задан при экспорте сертификата (например, Qwerty123).
- В появившемся окне выберите Тип сертификата → Сертификат пользователя приложений и VPN.
- Нажмите OK.
- Введите имя сертификата (например, Pawel).
- Разрешите приложению strongSwan VPN Client использовать идентификатор сертификата (нажмите Разрешить).
- Шаг 5: Завершение настройки и подключе
- В поле Имя профиля можно указать удобное название (например, Мой VPN).
- Нажмите Сохранить.
- В списке появится созданное подключение.
- Для подключения просто нажмите на него.
- После успешного соединения в статусе появится Соединен.
Теперь ваше Android-устройство подключено к IKEv2 VPN, используя надёжное и защищённое соединение!
Заключение
В данной статье мы подробно разобрали процесс настройки IKEv2 VPN-сервера на MikroTik с использованием аутентификации по сертификатам. Такой подход обеспечивает высокий уровень безопасности и удобства, исключая необходимость использования логинов и паролей. Мы настроили центр сертификации, создали необходимые сертификаты, настроили IPsec и подключили клиентов на Windows и Android.
Теперь ваш MikroTik VPN-сервер готов к использованию, а клиенты могут безопасно подключаться из любой точки мира. Настроенный туннель позволяет защитить данные при передаче через интернет, обеспечивая конфиденциальность и надежность соединения. Если возникнут трудности, всегда можно проверить настройки на сервере и клиенте, убедившись, что сертификаты установлены корректно.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как сохранить и восстановить конфигурацию MikroTik.
Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в Телеграмм или Макс, чтобы узнавать обо всем первым!
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
