Ссылки
https://interface31.ru/tech_it/2020/04/nastraivaem-ikev2-vpn-server-na-routerah-mikrotik.html
Настройка
Настройка Mikrotik IKEv2 VPN Server
Настройка сертификатов на VPN-Сервере Mikrotik
При создании сертификатов с использованием доменного имени подключиться с клиента по IP-адресу будет невозможно
Сервер IKEv2-VPN для подключения по внешнему IP-адресу сделать можно, но при изменении внешнего IP на микротике использовать этот VPN сервер будет невозможно
cloud.cless.pro — доменное имя, привязанное к внешнему IP-адресу микротика-впн-сервера, к которому будут подключаться VPN-клиенты
Создадим корневой центр сертификации
/certificate add name=ikev2_ca common-name=ikev2_ca days-valid=3650 key-usage=crl-sign,key-cert-sign key-size=2048
Подписываем корневой центр сертификации
192.168.17.8 — локальный адрес микрота как идентификатор
/certificate sign ikev2_ca ca-crl-host=192.168.17.8
Выпустим и подпишем сертификат сервера
/certificate add name=cloud.cless.pro common-name="cloud.cless.pro" subject-alt-name=DNS:"cloud.cless.pro" key-size=2048 days-valid=3650 key-usage=tls-server
/certificate sign cloud.cless.pro ca=ikev2_ca
Выпустим и подпишем сертификат клиента (пользователя VPN)
/certificate add name=SmirnovaMV common-name="SmirnovaMV" key-size=2048 days-valid=3650 key-usage=tls-client
/certificate sign SmirnovaMV ca=ikev2_ca
Экспортируем сертификат клиента в файл ОБЯЗАТЕЛЬНО С ПАРОЛЕМ
При экспорте сертификата без пароля ошибок не будет, при импорте файла сертификата без пароля в Windows ошибок тоже не будет, НО VPN-клиент на Windows при подключении будет выдавать ошибку
/certificate export-certificate SmirnovaMV type=pkcs12 export-passphrase=12345678
Получили файл сертификата «cert_export_SmirnovaMV.p12», который будем использовать далее на Windows машине для создания VPN-туннеля
Настройка Firewall Для разрешения трафика IPSec на VPN-Сервере Mikrotik
Разрешаем порты IPSEC udp/500,4500 на INPUT с внешнего интерфейса
/ip firewall filter add action=accept chain=input comment=IPSEC-IKEV2 dst-port=500,4500 in-interface=ether3-wan1 ipsec-policy=in,ipsec protocol=udp
Настройка IP-POOL для клиентов VPN на VPN-Сервере Mikrotik
Пул IP для клиентов VPN, подключающихся с Windows-машин
/ip pool add name=vpn_from_out ranges=172.16.17.10-172.16.17.254
Настройка IPSEC+IKEv2 на VPN-Сервере Mikrotik
/ip ipsec profile add dh-group=modp2048,modp1024 dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=aes-128,3des hash-algorithm=sha1 lifetime=1d name=ikev2 nat-traversal=yes proposal-check=obey
/ip ipsec proposal add auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m name=ikev2 pfs-group=none
vpn_from_out — пул IP для клиентов VPN, подключающихся с Windows-машин
split-include=192.168.17.0/24 — подсеть офиса за микротом с VPN-сервером, маршрут до этой сети появится на клиенте для доступа к сети за микротиком-впн-сервером
/ip ipsec mode-config add address-pool=vpn_from_out address-prefix-length=32 name=ikev2-cfg split-include=192.168.17.0/24 system-dns=yes
/ip ipsec policy group add name=ikev2-policies
/ip ipsec peer add disabled=no exchange-mode=ike2 name=ikev2-peer passive=yes profile=ikev2 send-initial-contact=yes
172.16.17.0/24 — подсеть для клиентов впн, подключающихся с Windows-машин
/ip ipsec policy add disabled=no dst-address=172.16.17.0/24 group=ikev2-policies proposal=ikev2 protocol=all src-address=0.0.0.0/0 template=yes
cloud.cless.pro — сертификат сервера
/ip ipsec identity add auth-method=digital-signature certificate=cloud.cless.pro disabled=no generate-policy=port-strict mode-config=ikev2-cfg peer=ikev2-peer policy-template-group=ikev2-policies
Настройка Windows 10 IKEv2 VPN Client
Копируем файл сертификата «cert_export_SmirnovaMV.p12» из микрота на Windows машину
Настраиваем клиент VPN
Статус подключения на Mikrotik VPN сервере
После успешного подключения с Windows смотрим статус пира на микроте
/ip ipsec active-peers print
... # ID STATE UPTIME PH2-TOTAL REMOTE-ADDRESS DYNAMIC-ADDRESS 0 RN SmirnovaMV established 1m23s 1 78.132.136.195 172.16.17.13 ...
Нерешенные проблемы
Клиенту на Windows отдается маршрут до внутренней подсети за микротиком 192.168.17.0/24, с клиента 17 подсеть пингуется норм,
НО с микротика-впн-сервера IP адрес клиента на Windows из пула (например, 172.16.17.13) не пингуется.
Пробовал создать бридж с адресом сервера 172.16.17.1 — безрезультатно.
Возможно проблема из-за того, что клиенту выдается адрес с префиксом маски /32:
IPv4-адрес. . . . . . . . . . . . : 172.16.17.13
Маска подсети . . . . . . . . . . : 255.255.255.255
Не нашел как отдать префикс /24 клиенту из настроек IPsec на микроте.
Разобраться.
Время на прочтение7 мин
Количество просмотров103K
Эта статья о том, как перестать мучиться с сертификатами для IKEv2-RSA и их установкой.
В Интернете есть множество статей и видео по настройке аутентификации IKEv2 с использованием сертификатов. Главная проблема такой конфигурации — необходимость генерации множества сертификатов, доставки и установки их на каждое клиентское устройство. Довольно замороченный процесс, согласитесь?
Вместе с тем, протокол IKEv2 предоставляет быстрый, защищенный доступ к локальной сети с возможностью автоматической передачи маршрутов и параметров DNS VPN‑клиенту.
Но схему доступа можно существенно упростить используя аутентификацию по логину и паролю. Полученную схему можно масштабировать на прочие VPN‑протоколы — l2tp, pptp, sstp, ovpn. Для этого необходимо VPN‑сервер MikroTik перевести на седьмую версию RouterOS. И нам потребуется сгенерировать всего один сертификат — для VPN‑сервера.
В седьмой версии RouterOS появились очень полезные функции, которые позволяют превратить MikroTik в полноценный VPN‑сервер. Среди того, что существенно облегчает жизнь админу для нашей задачи очень подходят два новшества:
-
Работа с сертификатами Let’s Encrypt
-
Встроенный Radius‑сервер
Теперь, для отдельно взятого vpn‑сервера MikroTik больше не требуется сторонний генератор и установщик сертификатов. Механизм запроса и установки действительного сертификата от Let’s Encrypt позволяет сделать это за несколько секунд. Встраиваемый Radius‑сервер решает проблему отсутствия такового в небольшой локальной сети или невозможности использования по иным причинам.
Важное уточнение по сертификатам от Let’s Encrypt в составе ОС.
Необходимо убедиться, правильно ли на клиенте установлены действующие сертификаты от Let’Encrypt. Это важно не только для нашей задачи, но и для корректной работы других служб и приложений использующих сертификаты.
Дело в том, что цепочка доверия Let’s Encrypt выглядит на сегодня так:
https://letsencrypt.org/certificates/
Все автоматически выдаваемые клиентам‑микротикам сертификаты подписаны от имени R3.
В клиентской ОС Windows сертификат R3 обязательно должен быть установлен как «промежуточный доверенный центр сертификации» в хранилище КОМПЬЮТЕРА (Local Machine). Самая распространенная проблема при импорте сертификата обычно находится в метре от ПК и кликает «мышкой». ОС Windows по‑умолчанию пытается данный сертификат установить в хранилище пользователя, что ведет к проблемам доступа.
Итак. Убедитесь, что сертификат R3 присутствует в хранилище «промежуточные доверенные центры сертификации» КОМПЬЮТЕРА. Если нет — скачайте по ссылке https://letsencrypt.org/certs/lets‑encrypt‑r3.pem и установите сертификат правильно.
Начальные условия:
-
Внешний IP (FQDN): gw1.mt-courses.ru
-
Локальная сеть: 10.10.4.0/24
-
Адреса для ikev2-клиентов: 192.0.2.0/24
-
Маршрутизатор под управлением MikroTik RouterOS версии 7.x
Настройка MikroTik RouterOS. Подготовка
1. Генерация запроса и установка сертификата на сервер
Необходимые условия: на роутере должен быть открыт и доступен извне порт http (tcp:80). По‑умолчанию, на этом порту работает служба webfig. Доступ к ней извне всем подряд оставлять крайне НЕ рекомендуется, так что можно открывать порт только в момент генерации/обновления сертификата.
Также желательно наличие FQDN связанного с внешним IP вашего MikroTik. Например, gw1.mt‑courses.ru.
Скрипт получения сертификата:
/ip/firewall/filter add chain=input protocol=tcp dst-port=80 action=accept comment="temporary filter rule" place-before=1
/certificate/enable-ssl-certificate dns-name=gw1.mt-courses.ru
/ip/firewall/filter remove [find comment="temporary filter rule"]
Если в результате работы команды вы увидели сообщение «progress: [success] ssl certificate updated«, значит сертификат успешно сгенерирован и установлен в хранилище. Проверяем:
/certificate/print
Результат:
Flags: K — PRIVATE‑KEY; A — AUTHORITY; I, R — REVOKED; T — TRUSTED
Columns: NAME, COMMON‑NAME
0 K T letsencrypt‑autogen_2023–xx–xxThh:mm:ssZ gw1.mt‑courses.ru
2. Получение и установка дополнительного пакета user-manager на MikroTIk
Для этого Вам потребуется зайти на сайт https://www.mikrotik.com в раздел «Software» и скачать оттуда архив «extra packages» соответствующий аппаратной архитектуре Вашего роутера MikroTik.
Обратите внимание, чтобы номер версии пакета точно соответствовал установленной версии RouterOS! Невозможно установить пакеты версии, отличающейся от версии установленной на роутере операционной системы.
Из архива Вам потребуется единственный файл «user‑manager-7.x.npk»
Данный файл необходимо извлечь из архива, скопировать в корень файловой системы маршрутизатора MikroTik и произвести перезагрузку (/system reboot ).
В случае, если пакет успешно установлен, в корневом меню WinBox появится новый пункт «User Manager» (если нет — читайте LOG. В начале будет описана причина ошибки)
Настройка IKEv2
Теперь переходим к самому основному, собственно настройке VPN‑сервера доступа по протоколу IKEv2. Поскольку при подключении клиента, ему выделяется некий виртуальный IP‑адрес, то сначала нам необходимо создать пул адресов для подключаемых клиентов:
/ip/pool add name=vpn-pool ranges=192.0.2.1–192.0.2.254
Переходим непосредственно к настройке IPSec. Настройка IPSec требует создания нескольких сущностей:
-
Profile
-
Proposal
-
Group
-
Policy Template
-
Peer (шаблон)
-
Modeconf
-
Identity
Group используется как тег для связывания Identity и Policy Template для генерации индивидуальных Policy из шаблона (template) при подключении клиента. По сути, Identity, это то, что собирает во едино все настройки, когда клиент подключится к серверу. По этому Identity настраивается в последнюю очередь, когда остальные параметры созданы.
Здесь хочу дать вам совет: Никогда. Н‑и-к‑о-г‑д-а, без острой необходимости не изменяйте в RouterOS профили с названием «Default», если точно НЕ знаете, как это повлияет на дальнейшую работу. В Winbox всегда есть возможность создать копию профиля и проводить эксперименты с копией. В консоли тоже есть такая возможность — ключевое слово «copy‑from=».
1,2) Для наглядности создадим копии имеющихся Proposal и Profile. При этом отключим в Proposal PFS:
/ip/ipsec/proposal
print
add copy-from=0 name=proposal-ike2 pfs-group=none
/ip/ipsec/profile
print
add copy-from=0 name=profile-ike2
3) Создадим отдельную Group для Policy:
/ip ipsec policy group add name=ike2
4) Создаем шаблон Policy Template для подключенных пиров, получивших адрес из пула 192.0.2.0/24:
/ip/ipsec/policy add dst-address=192.0.2.0/24 group=ike2 proposal=proposal-ike2 src-address=0.0.0.0/0 template=yes
5) Создаем шаблон пира (клиента):
/ip/ipsec/peer add exchange-mode=ike2 name=peerike2 passive=yes profile=profile-ike2
6) Создаём mode‑config. Это набор параметров, которые будут переданы клиенту, включая адрес DNS‑сервера и маршруты до локальных сетей. В примере клиенту передается маршрут до локальной сети 10.10.4.0/24:
/ip/ipsec/mode-config
add address-pool=vpn-pool name=ike2-modconf split-include=10.10.4.0/24 system-dns=yes
7) Создаем итоговый identity. В нем мы также будем использовать ссылку на полученный сертификат от Let’s Encrypt:
/ip/ipsec/identity
add auth-method=eap-radius certificate=letsencrypt-autogen_2023-xx-xxThh:mm:ssZ generate-policy=port-strict mode-config=ike2-modconf peer=peerike2 policy-template-group=ike2
UPD: по рекомендации товарища @modnyman лучше сразу скачать на микротик и указать также сертификат R3 от Let’s Encrypt. Тогда не придется устанавливать его на клиентские устройства в дальнейшем для избежания ошибки IKE с кодом 13801 (см.последний абзац)
Параметр «auth-method=eap-radius» говорит микротику, что запросы аутентификации надо пересылать на Radius-сервер. Осталось его настроить прямо на MikroTik. Наш встроенный radius (UserManager) будет использовать пароль «MySuperPass1234» и, кроме клиентов IPSec IKEv2, будет дополнительно обрабатывать запросы обычных ppp-клиентов (pptp/l2tp/sstp…)
/radius
add address=127.0.0.1 secret=MySuperPass1234 service=ppp,ipsec
/radius incoming
set accept=yes
Минимальная, самая примитивная настройка user-manager состоит из команд включения, разрешения взаимодействия с локальным сервером доступа используя пароль «1234» и добавления пользователя с логином «user1@gw» и паролем «1234567890»:
/user-manager
set enabled=yes
/user-manager router
add address=127.0.0.1 name=router1 shared-secret=MySuperPass1234
/user-manager user
add name=user1@gw1 password=1234567890
Код для RouterOS целиком
/ip/firewall/filter add chain=input protocol=tcp dst-port=80 action=accept comment="temporary filter rule" place-before=1
/certificate/enable-ssl-certificate dns-name=gw1.mt-courses.ru
/ip/firewall/filter remove [find comment="temporary filter rule"]
/ip/pool add name=vpn-pool ranges=192.0.2.1–192.0.2.254
/ip/ipsec/proposal
print
add copy-from=0 name=proposal-ike2 pfs-group=none
/ip/ipsec/profile
print
add copy-from=0 name=profile-ike2
/ip/ipsec/policy group add name=ike2
/ip/ipsec/policy add dst-address=192.0.2.0/24 group=ike2 proposal=proposal-ike2 src-address=0.0.0.0/0 template=yes
/ip/ipsec/peer add exchange-mode=ike2 name=peerike2 passive=yes profile=profile-ike2
/ip/ipsec/mode-config add address-pool=vpn-pool name=ike2-modconf split-include=10.10.4.0/24 system-dns=yes
/ip/ipsec/identity add auth-method=eap-radius certificate=letsencrypt-autogen_2023-xx-xxThh:mm:ssZ generate-policy=port-strict mode-config=ike2-modconf peer=peerike2 policy-template-group=ike2
/radius add address=127.0.0.1 secret=MySuperPass1234 service=ppp,ipsec
/radius incoming set accept=yes
/user-manager set enabled=yes
/user-manager router add address=127.0.0.1 name=router1 shared-secret=MySuperPass1234
/user-manager user add name=user1@gw1 password=1234567890
Подключаем клиента windows.
Создаем новое подключение к VPN.
Имя/адрес сервера: указываем FQDN, своё, на которое выдан сертификат (у меня это gw1.mt-courses.ru)
Логин в примере: user1@gw1 Пароль: 1234567890
Если всё сделано правильно, то должно произойти успешное подключение в VPN.
Если же возникает ошибка IKE с кодом 13801 то, скорее всего, неправильно или не туда в системе установлен сертификат R3.
Сейчас, когда многие настраивают VPN для работы удаленных сотрудников, выбор протокола становится как никогда актуальным. С одной стороны стоят поддерживаемые современными ОС протоколы PPTP и L2TP, которые имеют ряд существенных недостатков и ограничений, с другой OpenVPN, который всем хорош, но требует установки стороннего ПО. При этом как-то забывают о быстром и безопасном IKEv2, основанном на IPsec новом протоколе, также поддерживаемом всеми современными ОС.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Почему именно IKEv2? Данный протокол входит в группу протоколов IPsec и обеспечивает высокий уровень безопасности, включая аутентификацию клиента с использованием сертификата, а также проверку подлинности сервера клиентом, что исключает атаки типа «человек посередине». При поддержке аппаратного ускорения IPsec со стороны оборудования показывает хорошую скорость соединения относительно других типов VPN в RouterOS и весьма прост в настройке с клиентской стороны, не требует добавления маршрутов.
К недостаткам можно отнести достаточную сложность настройки серверной части, которая требует выполнения определенных условий и наличия базового объема знаний о работе IPsec. В данной статье мы не будем углубляться в теорию, сделав упор на практическую сторону вопроса, ограничившись краткими пояснениями необходимости тех или иных настроек.
Создание центра сертификации и выпуск сертификатов
Когда мы говорим об использовании сертификатов для аутентификации, то подразумеваем наличие инфраструктуры открытых ключей (PKI), образующей область доверия, за счет чего появляется возможность проверки подлинности любого субъекта инфраструктуры без привлечения третьих служб и списков пользователей. В основе PKI лежит центр сертификации — CA, выпускающий сертификаты и дающий возможность убедиться в их подлинности при помощи корневого публичного сертификата.
В нашем случае центр сертификации будет создан средствами RouterOS прямо на маршрутизаторе. Для этого перейдем в System — Certificate и выпустим корневой сертификат нашего CA.
Красным указаны обязательные к заполнению поля. Name — видимое имя сертификата и Common Name — имя субъекта, которому выдан сертификат, в нашем случае это ca. Key Size — размер ключа, ключи размером менее 2048 байт не считаются безопасными, Days Valid — время действия сертификата, в нашем случае 10 лет.
Выделенный зеленым блок не является обязательным, но мы советуем его заполнять, дабы в дальнейшем не пришлось угадывать, что это за сертификат и кому и кем он выдан.
Затем перейдем на закладку Key Usage и оставим только crl sign и key cert. sign, затем нажмем Apply, чтобы применить изменения, после чего подпишем сертификат. нажав кнопку Sign, в открывшемся окне укажем CA CRL Host, в качестве которого следует использовать один из IP-адресов роутера.
В терминале эти же действия можно выполнить командой:
/certificate
add name=ca country="RU" state="31" locality="BEL" organization="Interface LLC" common-name="ca" key-size=2048 days-valid=3650 key-usage=crl-sign,key-cert-sign
sign ca ca-crl-host=192.168.103.1
Следующим шагом выпустим сертификат сервера. Обратите внимание, что сервер обязательно должен иметь выделенный IP адрес и, желательно, доменное имя. Последнее условие не является обязательным, но предпочтительно, так как позволит отвязаться от использования адреса и в случае изменения IP вам не придется перевыпускать сертификаты и менять настройки клиентских подключений.
Заполнение полей в целом повторяет предыдущий пример, за исключением Common Name и Subject Alt. Name. Здесь мы указываем IP-адрес или FQDN по которому клиенты будут подключаться к серверу. Если вы используете IP-адрес, то тип записи в поле Subject Alt. Name нужно сменить на IP.
Обратите внимание, если вы выпустили сертификат с указанием FQDN, а подключить клиента попытаетесь по IP-адресу, либо наоборот, то такое соединение окажется невозможным.
На закладке Key Usage укажем единственное значение tls server и подпишем наш сертификат закрытым ключом центра сертификации CA.
Эти же действия в терминале:
/certificate
add name=vpn.interface31.lab country="RU" state="31" locality="BEL" organization="Interface LLC" common-name="vpn.interface31.lab" subject-alt-name=DNS:"vpn.interface31.lab" key-size=2048 days-valid=3650 key-usage=tls-server
sign vpn.interface31.lab ca="ca"
Теперь можно выпускать клиентские сертификаты, это можно сделать как сразу, так и потом. Никаких особых требований здесь нет, в качестве имени указывайте максимально понятное значение, скажем, ФИО сотрудника или наименование офиса. Потому как понять кому принадлежит сертификат с CN IvanovIA не составит особого труда, в отличие от какого-нибудь безликого client3. Также обратите внимание на опцию Days Valid, не следует выдавать клиентские сертификаты на большой срок.
В Key Usage также указываем единственное назначение сертификата — tls client и подписываем его закрытым ключом CA.
Команды для терминала:
/certificate
add name=SmirnovaMV country="RU" state="31" locality="BEL" organization="Interface LLC" common-name="SmirnovaMV" key-size=2048 days-valid=365 key-usage=tls-client
sign SmirnovaMV ca="ca"
Для использования на клиентских устройствах сертификаты следует экспортировать, наиболее удобно использовать для этого формат PKCS12, который в одном файле содержит закрытый ключ клиента, его сертификат и корневой сертификат CA. Для этого выберите сертификат в списке и в меню правой кнопки мыши укажите действие Export. В поле Type укажите PKCS12, а в Export Passphrase следует указать пароль (не менее 8 символов), в противном случае закрытый ключ выгружен не будет.
Это же можно сделать командой:
/certificate
export-certificate SmirnovaMV type=pkcs12 export-passphrase=0123456789
Скачать экспортированные сертификаты можно из раздела Files.
Настройка IKEv2 VPN-сервера
Здесь мы вступаем в достаточно сложную область настройки IPsec, объем статьи не позволяет подробно останавливаться на назначении каждой настройки, поэтому если вы не уверены в своих действиях, то мы не рекомендуем отклоняться от указанных ниже настроек.
Перейдем в IP — IPsec — Profiles и создадим новый профиль, который задает параметры для установления соединения. Все параметры оставляем по умолчанию, кроме наименования, которому следует дать осмысленное имя.
Либо выполните команду в терминале:
/ip ipsec profile
add name=IKEv2
Затем перейдем на закладку Proposals — предложения, который содержит параметры криптографии предлагаемые для соглассования подключающимся клиентам. Создадим новое предложение, которое сформировано с учетом используемых современными ОС алгоритмов и изменение его состава может либо ослабить безопасность, либо сделать подключение некоторых клиентов невозможным.
Параметры по умолчанию нам не подойдут, поэтому в блоке Encr. Algorithms убираем 3des и добавляем aes-128-cbc, aes-192-cbc, aes-256-cbc.
В терминале достаточно простой команды:
/ip ipsec proposal
add name=IKEv2 pfs-group=none
Здесь мы сталкиваемся с одной особенностью: создаваемые через терминал и Winbox предложения содержат различный набор параметров. То, что создается в терминале полностью соответствует приведенным выше на скриншоте требованиям.
Для выдачи VPN-клиентам нам потребуется отдельный диапазон адресов, перейдем в IP — Pool и создадим новый пул, в нашем случае будет использован диапазон адресов 10.20.0.100 — 10.20.0.199:
Снова вернемся к настройкам IPsec и создадим конфигурацию, передаваемую клиенту для настройки его сетевых параметров, для этого перейдем на в IP — IPsec — Mode Configs. При создании новой конфигурации установим флаг Responder, в поле Address Pool укажем имя созданного нами пула, в поле Address Prefix Lenght укажем префикс адреса — 32, поле Split Include указываем подсети, запросы к которым следует направлять в туннель, здесь следует указать одну или несколько внутренних сетей, доступ к которым должны получать удаленные клиенты. В нашем случае это сеть условного офиса — 192.168.111.0/24. Наконец флаг System DNS предписывает клиенту использовать DNS сервера указанные в IP — DNS роутера. Если передавать DNS-сервера не требуется, то данный флаг следует снять.
Это же действие в терминале:
/ip ipsec mode-config
add address-pool=ikev2-pool address-prefix-length=32 name=IKEv2-cfg split-include=192.168.111.0/24
Если же вам нужно, чтобы клиенты использовали внутренние сервера имен, например, в Active Directory, то флаг System DNS также следует снять и указать адреса требуемых DNS-серверов.
Команда для терминала будет выглядеть так:
/ip ipsec mode-config
add address-pool=ikev2-pool address-prefix-length=32 name=IKEv2-cfg split-include=192.168.111.0/24 static-dns=192.168.111.101,192.168.111.201 system-dns=no
На закладке Groups создадим новую группу, никаких настроек здесь нет, просто укажите уникальное имя:
/ip ipsec policy group
add name=ikev2-policies
Затем на закладке Policices создадим шаблон политики, которая будет указывать какой именно трафик будет подвергаться обработке IPsec и отправляться в туннель. В поле Src. Address оставляем 0.0.0.0/0, в поле Dst. Address указываем выделенный для VPN-сети диапазон: 10.20.0.0/24, устанавливаем флаг Template и указываем созданную нами ранее группу в поле Group.
На закладке Action в поле Proposal укажите созданный нами ранее набор предложений.
Эти же действия в терминале:
/ip ipsec policy
add dst-address=10.20.0.0/24 group=ikev2-policies proposal=IKEv2 src-address=0.0.0.0/0 template=yes
После чего перейдем в IP — IPsec — Peers создадим новый пир для приема подключений. Сразу установим флаг Passive, в поле Address указываем 0.0.0.0/0 (разрешаем подключаться из любого места), в поле Profile указываем созданный нами профиль, а в поле Exchange Mode укажем протокол обмена ключами — IKE2.
В терминале для получения аналогичного результата выполните:
/ip ipsec peer
add exchange-mode=ike2 name=IKEv2-peer passive=yes profile=IKEv2
На закладке Identities создадим новую настройку идентификации подключающихся клиентов. Здесь много настраиваемых полей и нужно быть предельно внимательными, чтобы ничего не упустить и не перепутать. В поле Peer — указываем созданный нами пир, Auth. Method — способ аутентификации — digital signature, Certificate — сертификат сервера. Policy Template Group — группа шаблонов политик — выбираем созданную нами группу, Mode Configuration — указываем созданную нами конфигурацию для клиентов, Generate Policy — port strict.
Команда для терминала:
/ip ipsec identity
add auth-method=digital-signature certificate=vpn.interface31.lab generate-policy=port-strict mode-config=IKEv2-cfg peer=IKEv2-peer policy-template-group=ikev2-policies
На этом настройка сервера завершена, осталось лишь добавить правила брандмауэра, разрешающие работу с ним. Для того, чтобы клиенты могли подключаться к серверу перейдем в IP — Firewall — Filter Rules и добавим правило: Chain — input, Protocol — udp, Dst. Port — 500, 4500, In. Interface — ваш внешний интерфейс (в нашем случае это ether1). Действие не указываем, так как по умолчанию применяется accept.
Для добавления правила в терминале:
/ip firewall filter
add action=accept chain=input dst-port=500,4500 in-interface=ether1 protocol=udp
Но это еще не все, чтобы VPN-клиенты могли получить доступ к внутренней сети, следует добавить еще одно правило. На закладке General укажите Chain — forward и Interface — внешний интерфейс, затем на Advanced: IPsec Policy — in:ipsec.
/ip firewall filter
add action=accept chain=forward in-interface=ether1 ipsec-policy=in,ipsec
Оба правила следует расположить выше, чем запрещающие в каждой из цепочек.
Настройка подключения клиента в Windows
Прежде всего импортируем сертификат, для этого можно просто выполнить двойной клик на файле сертификата, в открывшемся Мастере импорта в качестве Расположения хранилища укажите Локальный компьютер, остальные параметры принимаются по умолчанию.
Затем создадим новое подключение штатными инструментами. А качестве Типа VPN укажем IKEv2, а в качестве Типа данных для входа — Сертификат. Также обратите внимание, что в строка Имя или адрес сервера должно совпадать с Common Name сертификата сервера, в противном случае подключение установить не удастся.
После чего откроем свойства созданного подключения и перейдем на закладку Безопасность, где установим переключатель Проверка подлинности в положение Использовать сертификаты компьютеров.
Теперь можно подключаться, если все сделано правильно — подключение будет успешно. Проверим таблицу маршрутов:
Как видим, маршрут к нашей внутренней сети 192.168.111.0/24 был добавлен автоматически и никаких ручных настроек клиента не требуется.
Настройка подключения клиента в Linux
Точно также начнем с сертификата, но в данном случае нам потребуется немного больше действий. Будем считать, что сертификат находится в корневой директории пользователя, для которого мы настраиваем подключение. Все последующие команды также следует выполнять от его имени.
Перейдем в домашнюю директорию и создадим скрытую папку для хранения ключей и сертификатов:
cd ~
mkdir .ikev2
Теперь нам нужно экспортировать из PKCS12 файла корневой сертификат CA, а также ключ и сертификат пользователя. Начнем с корневого сертификата:
openssl pkcs12 -in cert_export_SmirnovaMV.p12 -out .ikev2/IKEv2_CA.crt -nodes -nokeys -cacerts
Затем экспортируем сертификат клиента:
openssl pkcs12 -in cert_export_SmirnovaMV.p12 -out .ikev2/SmirnovaMV.crt -nodes -nokeys
И его закрытый ключ. При экспорте закрытого ключа нас попросят установить для него пароль, минимальная длинна пароля 8 символов. Пропустить этот шаг нельзя.
openssl pkcs12 -in cert_export_SmirnovaMV.p12 -out .ikev2/SmirnovaMV.pass.key -nocerts
На каждом из этих этапов нам нужно будет вводить парольную фразу, указанную при экспорте сертификата пользователя на роутере.
И наконец уберем пароль с закрытого ключа пользователя:
openssl rsa -in .ikev2/SmirnovaMV.pass.key -out .ikev2/SmirnovaMV.key
Во время этого действия вы должны будете ввести пароль, который указали при создании ключа.
Для того, чтобы иметь возможность создавать VPN-подключения в графическом интерфейсе установим необходимый плагин для Network Manager:
sudo apt install network-manager-strongswan
После чего вам станут доступны настройки VPN IKEv2 соединения.
Настройки соединения достаточно просты. В секции Gateway указываем адрес сервера и путь к корневому сертификату CA. В секции Client устанавливаем Authentication: Certificate/private key и указываем пути к сертификату и закрытому ключу клиента. И в секции Option обязательно устанавливаем флаг Request an inner IP address. На этом настройка соединения окончена, можно подключаться.
Если мы после подключения проверим таблицу маршрутизации, то не обнаружим маршрута к офисной сети, но при этом она будет доступна:
Но никакой ошибки здесь нет. Просто Linux в данной ситуации поступает более правильно, вместо маршрута в системе создается соответствующая политика IPsec, которая направляет трафик к внутренней сети в туннель согласно тому, что мы указали в конфигурации клиента (Mode Configs) на роутере.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Не так давно к нам обратились с просьбой реализовать подключение к корпоративной сети максимально простым и нативным способом с разных устройств.
Протоколы типа PPTP, SSTP, L2TP+IPSec отпали сразу, т.к. современные устройства, за исключением Windows, прекратили их поддержку. Устанавливать OpenVPN клиенты, передавать и импортировать сертификаты для пользователей, зачастую, достаточно сложно.
Выбор был сделан в пользу протокола IKEv2+EAP, т.к. пользователю придётся ввести только адрес сервера, логин и пароль. К тому же, у заказчика уже имелся в сети роутер Mikrotik и на нём реализовать данный тип подключения возможно.
Итак, что необходимо для реализации данного способа подключения:
- Роутер от компании Mikrotik, подключенный напрямую в интернет с RouterOS 7й версии (крайне желательно, чтобы он поддерживал аппаратное шифрование, чтобы не становиться узким местом при передаче данных)
- Внешний «белый» ip-адрес от провайдера
- Публичное доменное имя, для нашего роутера (A-запись указывающая на внешний IP-адрес роутера, сделанная в DNS-зоне вашего домена)
- Установленный пакет User Manager на роутере Mikrotik (скачивается с официального сайта, находится в архиве Extra Packages для вашей модели роутера). Для установки пакета достаточно закачать его в роутер и выполнить перезагрузку.
Наконец, приступим к установке.
0. Подключаемся к роутеру
1. Разбираемся с сертификатами
Автоматически выпускаем Let’s Encrypt сертификат для нашего роутера
Открываем окно New Terminal и вводим команду
certificate/enable-ssl-certificate dns-name=”полное доменное имя нашего роутера”
Дожидаемся, когда процесс выпуска, верификации и установки завершится (на слабых роутерах может длиться до 3 минут)
Проверяем что сертификат успешно установился в разделе System->Certificates
После этого скачиваем сертификаты R3 и X1 в формате .der, они необходимы нам для формирования полной цепочки доверия для нашего сертификата.
R3 – https://letsencrypt.org/certs/lets-encrypt-r3.der
X1 – https://letsencrypt.org/certs/isrgrootx1.der
Загружаем их в наш роутер Mikrotik и в разделе System->Certificates импортируем их на роутер
Проверяем, что у всех присутствует флаг Trusted (буква T в первой колонке), если нет, открываем сертификат и ставим соответствующую галку.
2. Создадим пул ip-адресов для наших VPN клиентов
Раздел IP->Pool, нажимаем «+» и добавляем новый пул адресов
/ip pool add name=ikev2 ranges=172.16.1.20-172.16.1.30
3. Переходим в раздел IP->IPSec на вкладку Groups и добавляем новую группу
/ip ipsec policy group add name=ikev2-group
4. На вкладке Proposals добавляем новый.
Обратите внимание на необходимые галки и значение PFS Group, если допустить в них ошибку, клиент не сможет подключиться. Данный конфиг не является истиной в последней инстанции, но проверен и работает на всех устройствах, до которых мне удалось дотянуться.
/ip ipsec proposal add auth-algorithms=sha256,sha1 enc-algorithms=”aes-256-cbc,aes-256-ctr,aes-256-gcm,aes-192-ctr,aes-192-gcm,aes-128-ctr,aes-128-gcm” name=IKEv2-prop pfs-group=none
5. На вкладке Policies добавляем новую политику
Обязательно ставим галку Template, выбираем нашу созданную группу.
На вкладке Action выбираем
Action: encrypt
IPSec Protocols: esp
Proposal: ранее созданный Proposal (в моём случае IKEv2-prop)
/ip ipsec policy add group=ikev2-group proposal=IKEv2-prop template=yes
6. На вкладке Mode Configs создаём новый конфиг
Выбираем наш созданный пул ip-адресов
Длину префикса можно не менять, но для нашего примера это было необходимо
Значение поля Split include можно не заполнять, тогда весь трафик клиента будет направляться в туннель, либо можно указать подсети, маршруты до которых должны передаться клиенту.
По умолчанию стоит галка System DNS, она передаёт клиенту те DNS сервера, которые указаны у нашего роутера. У нас сеть доменная и в ней есть 2 контроллера домена с ролью DNS, соответственно, снимаем галку и указываем адреса наших контроллеров домена.
/ip ipsec mode-config add address-pool=ikev2 address-prefix-length=32 name=IKEv2-cfg split-include=172.16.0.0/16 static-dns=172.16.1.200,172.16.1.203 system-dns=no
7. Вкладка Profiles, добавляем новый профиль
Внимательно смотрим на галки и параметры, в случае ошибки, подключение не установится.
/ip ipsec profile add dh-group=ecp256,modp2048,modp1024 enc-algorithm=aes-256 hash-algorithm=sha256 name=IKEv2
8. На вкладке Peers создаём нового
/ip ipsec peer add exchange-mode=ike2 name=IKEv2-peer passive=yes profile=IKEv2
9. Вкладка Identities тут будем собирать всю магию в кучу.
Добавляем новый.
Peer – выбираем созданный ранее peer
Auth. Method – eap radius
Certificate – добавляем 3 поля:
– в первом указываем наш автоматически выпущенный сертификат
– во втором сертификат r3
– в третьем сертификат x1
Policy Template Group – ранее созданный шаблон политики
Mode Configuration – ранее созданный Mod. Config
Generate Policy – port strict
/ip ipsec identity add auth-method=eap-radius certificate=”letsencrypt-autogen_2024-04-02T16:46:17Z,lets-encrypt-r3.der_0,isrgrootx1.der_0″ generate-policy=port-strict mode-config=IKEv2-cfg peer=IKEv2-peer policy-template-group=ikev2-group
10. Добавляем RADIUS сервер
В левом меню выбираем RADIUS и добавляем новый RADIUS сервер:
Service – ipsec
Address – локальный адрес роутера, в моём случае, loopback адрес 127.0.0.1
Secret – задаём пароль
/radius add address=127.0.0.1 service=ipsec secret=”SuPeR$ECRetP@s$w0rD”
11. Раздел User Manager
В левом меню выбираем User Manager, на вкладке Routers добавляем новую запись:
Shared Secret – указываем пароль RADIUS
Address – указываем локальный адрес роутера, в моём случае, это, опять же, loopback адрес 127.0.0.1
/user-manager router add address=127.0.0.1 name=router1 shared-secret=”SuPeR$ECRetP@s$w0rD”
По кнопке Settings ставим галку Enabled
/user-manager set enabled=yes
12. Создаём пользователя
На вкладке Users добавляем нового пользователя, задаём ему имя и пароль
/user-manager user add name=test password=”$tr0ngUSerP@$sw0rd”
На этом всё, настройка нашего VPN-сервера завершена. Мы можем передавать нашему пользователю:
адрес сервера для подключения – публичное доменное имя нашего роутера
логин – в нашем случае test
пароль – в нашем случае $tr0ngUSerP@$sw0rd
Как видим, в целом, не очень сложная настройка, но требует внимательности.
Сертификат Let’s Encrypt действует всего 3 месяца, чтобы он продлевался автоматически, нужно добавить в Scheduler следующий скрипт:
#Указываем в кавычках публичное имя вашего роутера
:global commName “публичное-имя-вашего-роутера”
#Указываем имя peer которое вы создали в разделе IP->IPSec, вкладка peers
:global peerName “IKEv2-peer”
ip service/enable www
certificate/enable-ssl-certificate dns-name=$commName
:delay 180s;
:global certName [certificate/get [find where common-name=$commName] name]
:global R3 [certificate/get [find where common-name=R3] name]
:global X1 [certificate/get [find where common-name=”ISRG Root X1″] name]
ip/ipsec/identity/set [find where peer=$peerName] certificate=”$certName,$R3,$X1″
ip service/disable www
:set commName
:set peerName
:set certName
:set R3
:set X1
Настройка подключения с Windows 10 выглядит следующим образом:
Настройка подключения для iphone осуществляется штатными средствами
Настройка подключения для Android
К сожалению, каждый производитель смартфонов на Android по-своему реализует штатный клиент VPN в своих оболочках, поэтому, рекомендую использовать клиент StrongSwan из Play Market (https://play.google.com/store/apps/details?id=org.strongswan.android&hl=en)
Настройка подключения в нём тривиальна:
Более подробная настройка IKEv2-EAP доступна в видео: https://youtu.be/hSy39PvxOgA
Если у вас всё равно не получилось настроить VPN-сервер для подключения к корпоративной сети, вы всегда можете обратиться за помощью в нашу компанию, квалифицированные специалисты помогут вам с настройкой любого сетевого или серверного оборудования.
Свяжитесь с нами
Автор: Артем Гавриш
Продолжаю прибиваться по «Микроту», спасибо Станиславу, что подкидывает интересные задачки по нему и разъясняет не ясные моменты (а их не мало), если это необходимо. Но сейчас времени на изучение «Микрота» снова нет, поэтому, это уже дела прошлых дней…
На примере LAB1, решил сразу посмотреть еще и VPN IKEv2, который вроде как умеет правильно отдавать маршруты подключившимся клиентам, но как это на самом деле, я увижу далее.
До сего момента, познакомиться с таким вариантом VPN мне еще не удалось.
Еще раз моя текущая схема для понимания:
Подключаться буду через интерфейс управления, через ether4 на R1 (в оригинале это должно быть через ether1) .
Для этого чуть подготовим его.
Через DHCP Client получим IP с дефлотным маршрутом, чтобы сразу обновить роутер до более новой прошивки.
Чуть увеличим метрику основного маршрута (до 10), чтоб обновление состоялось и у нас был инет:
Обновим роутер (пока не до последней версии, а вот так):
Больше нам маршрут не нужен, уберем его на DHCP Client:
Добавлю разрешающее правило на firewall:
Теперь видно, что пинг пошел:
По настройке будет полезен вот этот пост:
https://interface31.ru/tech_it/2020/04/nastraivaem-ikev2-vpn-server-na-routerah-mikrotik.html
https://mum.mikrotik.com/presentations/RU19K/presentation_6870_1554991099.pdf
Когда мы говорим об использовании сертификатов для аутентификации, то подразумеваем наличие инфраструктуры открытых ключей (PKI), образующей область доверия, за счет чего появляется возможность проверки подлинности любого субъекта инфраструктуры без привлечения третьих служб и списков пользователей. В основе PKI лежит центр сертификации — CA, выпускающий сертификаты и дающий возможность убедиться в их подлинности при помощи корневого публичного сертификата.
В нашем случае центр сертификации будет создан средствами RouterOS прямо на маршрутизаторе. Для этого перейдем в System — Certificate и выпустим корневой сертификат нашего CA.
Создам сертификат.
Apply-Sign
Это мой адрес, который я получил по DHCP Client на интерфейсе ether4.
Проставлю галку Trusted
Следующим шагом выпустим сертификат сервера. Обратите внимание, что сервер обязательно должен иметь выделенный IP адрес и, желательно, доменное имя. Последнее условие не является обязательным, но предпочтительно, так как позволит отвязаться от использования адреса и в случае изменения IP вам не придется перевыпускать сертификаты и менять настройки клиентских подключений.
Apply-Sign
Теперь можно выпускать клиентские сертификаты
Apply-Sign
Для использования на клиентских устройствах сертификаты следует экспортировать, наиболее удобно использовать для этого формат PKCS12, который в одном файле содержит закрытый ключ клиента, его сертификат и корневой сертификат CA. Для этого выберите сертификат в списке и в меню правой кнопки мыши укажите действие Export. В поле Type укажите PKCS12, а в Export Passphrase следует указать пароль (не менее 8 символов), в противном случае закрытый ключ выгружен не будет.
Скачать экспортированные сертификаты можно из раздела Files.
Download
Настройка IKEv2 VPN-сервера.
Здесь мы вступаем в достаточно сложную область настройки IPsec, объем статьи не позволяет подробно останавливаться на назначении каждой настройки, поэтому если вы не уверены в своих действиях, то мы не рекомендуем отклоняться от указанных ниже настроек.
Перейдем в IP — IPsec — Profiles и создадим новый профиль, который задает параметры для установления соединения. Все параметры оставляем по умолчанию, кроме наименования, которому следует дать осмысленное имя.
Затем перейдем на закладку Proposals — предложения, который содержит параметры криптографии предлагаемые для соглассования подключающимся клиентам. Создадим новое предложение, которое сформировано с учетом используемых современными ОС алгоритмов и изменение его состава может либо ослабить безопасность, либо сделать подключение некоторых клиентов невозможным.
Параметры по умолчанию нам не подойдут, поэтому в блоке Encr. Algorithms убираем 3des и добавляем aes-128-cbc, aes-192-cbc, aes-256-cbc.
Здесь мы сталкиваемся с одной особенностью: создаваемые через терминал и Winbox предложения содержат различный набор параметров. То, что создается в терминале полностью соответствует приведенным выше на скриншоте требованиям.
Для выдачи VPN-клиентам нам потребуется отдельный диапазон адресов, перейдем в IP — Pool и создадим новый пул, в нашем случае будет использован диапазон адресов: 172.16.50.100-172.16.50.199
Снова вернемся к настройкам IPsec и создадим конфигурацию, передаваемую клиенту для настройки его сетевых параметров, для этого перейдем на в IP — IPsec — Mode Configs. При создании новой конфигурации установим флаг Responder, в поле Address Pool укажем имя созданного нами пула, в поле Address Prefix Lenght укажем префикс адреса — 32, поле Split Include указываем подсети, запросы к которым следует направлять в туннель, здесь следует указать одну или несколько внутренних сетей, доступ к которым должны получать удаленные клиенты. В нашем случае это сеть условного офиса — 192.168.10.0/24, 192.168.20.0/24, 192.168.30.0/24 . Наконец флаг System DNS предписывает клиенту использовать собственные DNS сервера.
Если же вам нужно, чтобы клиенты использовали внутренние сервера имен, например, в Active Directory, то флаг System DNS следует снять и указать адреса требуемых DNS-серверов.
На закладке Groups создадим новую группу, никаких настроек здесь нет, просто укажите уникальное имя
Затем на закладке Policices создадим шаблон политики, которая будет указывать какой именно трафик будет подвергаться обработке IPsec и отправляться в туннель. В поле Src. Address оставляем 0.0.0.0/0, в поле Dst. Address указываем выделенный для VPN-сети диапазон: 172.16.50.0/24, устанавливаем флаг Template и указываем созданную нами ранее группу в поле Group.
На закладке Action в поле Proposal укажите созданный нами ранее набор предложений.
После чего перейдем в IP — IPsec — Peers создадим новый пир для приема подключений. Сразу установим флаг Passive, в поле Address указываем 0.0.0.0/24 (разрешаем подключаться из любого места), в поле Profile указываем созданный нами профиль, а в поле Exchange Mode укажем протокол обмена ключами — IKE2.
На закладке Identities создадим новую настройку идентификации подключающихся клиентов. Здесь много настраиваемых полей и нужно быть предельно внимательными, чтобы ничего не упустить и не перепутать. В поле Peer — указываем созданный нами пир, Auth. Method — способ аутентификации — digital signature, Certificate — сертификат сервера. Policy Template Group — группа шаблонов политик — выбираем созданную нами группу, Mode Configuration — указываем созданную нами конфигурацию для клиентов, Generate Policy — port strict.
На этом настройка сервера завершена, осталось лишь добавить правила брандмауэра, разрешающие работу с ним. Для того, чтобы клиенты могли подключаться к серверу перейдем в IP — Firewall — Filter Rules и добавим правило: Chain — input, Protocol — udp, Dst. Port — 500, 4500, In. Interface — ваш внешний интерфейс (в нашем случае это ether1). Действие не указываем, так как по умолчанию применяется accept.
Но это еще не все, чтобы VPN-клиенты могли получить доступ к внутренней сети, следует добавить еще одно правило. На закладке General укажите Chain — forward и Interface — внешний интерфейс, затем на Advanced: IPsec Policy — in:ipsec.
В моем текущем случае меняем внешний WAN (ether1) на ether4, так как коннекчусь я к нему.
Настройка подключения клиента в Windows.
Прежде всего импортируем сертификат, для этого можно просто выполнить двойной клик на файле сертификата, в открывшемся Мастере импорта в качестве Расположения хранилища укажите Локальный компьютер, остальные параметры принимаются по умолчанию.
Затем создадим новое подключение штатными инструментами. А качестве Типа VPN укажем IKEv2, а в качестве Типа данных для входа — Сертификат. Также обратите внимание, что в строка Имя или адрес сервера должно совпадать с Common Name сертификата сервера, в противном случае подключение установить не удастся.
После чего откроем свойства созданного подключения и перейдем на закладку Безопасность, где установим переключатель Проверка подлинности в положение Использовать сертификаты компьютеров.
Пробую подключится…
Неприемлемые учетные данные для проверки… Все как обычно.. С первого раза ничего не работает ☹
Надо понять, что не так…
Еще раз
Затем создадим новое подключение штатными инструментами. А качестве Типа VPN укажем IKEv2, а в качестве Типа данных для входа — Сертификат. Также обратите внимание, что в строка Имя или адрес сервера должно совпадать с Common Name сертификата сервера, в противном случае подключение установить не удастся.
Неправильно назвал адрес сервера. Должен быть обязательно: vpn.mikrot.lab
Теперь другая ошибка: Не удалось подключиться, так как не удалось разрешить имя сервера, поправлю это в своем hosts файле.
192.168.10.167 vpn.mikrot.lab
После этого подключение благополучно установилось.
Посмотрел, что с маршрутами, все вроде не плохо, а нужные маршруты моих vlan-ов, не прилетают.
Обратился к знающим людям (Стас, в очередной раз, спасибо за разъяснения и алгоритм дебагинга).
System-Logging добавим IPSEC-Debug
В логах стало видно, что маршруты отдаются
Но их нет на компе.
Вот тут в одну сторону пакеты идут а обратно нет
Стало понятно, что что-то с маршрутами.
И действительно, все оказалось именно так. Проблема оказалась в одном и маршрутов blackhole, который я добавил ранее: Выключаем его:
И все сразу заколосилось: Нужные маршруты стали прилетать.
Пинг до вланов тоже пошел.
А это говорит мне о том, что все работает, как надо.
Сохраню конфиг на всякий случай: /export file=ready_conf
На клиентской части, несколько больше настроек, чем при установке той же Cisco AnyConnect, но тем не менее, этот вариант тоже достаточно не плох, например если «запилить» тот же инсталлер msi или exe, чтоб не делать манипуляций руками.
Всем хорошей работы!!!
26.08.2020 —
Опубликовал: |
network and wi-fi: cisco, mikrotik, huawei, tp-link, d-link, zyxel и другое…
Sorry, the comment form is closed at this time.