Инструкция по настройке IpSec VPN туннеля между двумя роутерами MikroTik. Поддержка аппаратного шифрования, совместимость с другими производителями.
Краткое описание: Руководство по созданию шифрованного канала связи между офисами — MikroTik IpSec VPN. Будут рассмотрены конфигурации для двух версий прошивок, до и после RouterOS 6.43, а также после RouterOS 6.44. Принцип построения VPN туннелей не изменился, разница касается только в расположении настроек.
Для чего нужен VPN IpSec и какой роутер MikroTik выбрать
Одна из самых популярных опций в роутере для бизнес сегмента. Позволяет объединить в локальную сеть удаленные офисы. Масштабирование такой сети ограничивается прошивкой RouterOS:
- 4 level — до 200 подключений;
- 5 level — до 500 подключений;
- 6 level — без ограничений.
ну а практическая реализация от быстродействия самого Mikrotik. В первую очередь стоит обращать внимание на аппаратную поддержку IpSec, отсутствие которой сопровождается обработкой всего блока шифрования через CPU маршрутизатора. Это характеристика в первую очередь влияет на количество пропускаемого трафика. Если ваш маршрутизатор(роутер) MikroTik начинает тормозить от передачи файлов к примеру 200-300Мб по каналу IpSec, стоит задуматься над переходом на маршрутизатор, который имеет аппаратную поддержку IpSec. Из актуальных моделей это может быть:
Как было указано выше, в зависимости от версии RouterOS визуальное расположение разделов для настройки VPN IpSec будет отличаться. Чтобы привести оба примера, первым будет рассмотрен вариант для версии RouterOS 6.44 и старше, а за ним последует зеркальная настройка второго маршрутизатора(роутера) MikroTik, только с прошивкой RouterOS 6.43 и младше. Схема будут состоять их двух подключений, будет введено наименование маршрутизаторов: MikroTik-1 и MikroTik-2.
Настройка MikroTik VPN IpSec для прошивки 6.44 и выше для роутера MikroTik-1
VPN туннель Ipsec состоит из двух фаз:
- PHASE-1 — идентификация устройств между собой, по заранее определенному IP адресу и ключу.
- PHASE-2 — определение политики для трафика между туннелей: шифрование, маршрутизация, время жизни туннеля.
Создание профиля для IpSec phase-1
Настройка находится в IP→IPsec→Profile
Создание Peer для IpSec phase-1
Настройка находится в IP→IPsec→Peers
Определение ключа IpSec phase-1
Настройка находится в IP→IPsec→Identities
Настройка параметров Proposal IpSec phase-2
Настройка находится в IP→IPsec→Proposals
Создание политики(Policies) IpSec phase-2
Настройка находится в IP→IPsec→Policies
/ip ipsec profile add dh-group=modp1024 enc-algorithm=3des hash-algorithm=md5 lifetime=8h name=Profile-IpSec /ip ipsec peer add address=10.10.10.10/32 name=10.10.10.10 profile=Profile-IpSec /ip ipsec proposal add auth-algorithms=md5 enc-algorithms=3des lifetime=8h name=Proposal-IpSec /ip ipsec policy add dst-address=192.168.0.0/24 peer=10.10.10.10 proposal=Proposal-IpSec \ src-address=192.168.1.0/24 tunnel=yes /ip ipsec identity add peer=10.10.10.10 secret=12345678
Создание правил NAT
Данное правило нужно для того, чтобы трафик IpSec не направляется к провайдеру. Для решении есть два способа:
Создать правило с цепочкой srсnat
/ip firewall nat add action=accept chain=srcnat dst-address=192.168.0.0/24 src-address=192.168.0.0/24
Исключить IpSec трафик из правила masquerade
/ip firewall nat add action=masquerade chain=srcnat ipsec-policy=out,none out-interface=ether6
Настройка MikroTik VPN IpSec для прошивки 6.43 и ниже для роутера MikroTik-2
Настройка находится в IP->IPsec->Proposlas
/ip ipsec proposal add auth-algorithms=md5 enc-algorithms=3des lifetime=8h name=proposal-1
/ip ipsec peer add address=11.11.11.11/32 dh-group=modp1024 enc-algorithm=aes-128 \ hash-algorithm=md5 lifetime=8h nat-traversal=no secret=12345678
/ip ipsec policy add dst-address=192.168.0.0/24 proposal=md5-3des-8h-gr2 sa-dst-address=\ 11.11.11.11 sa-src-address=10.10.10.10 src-address=192.168.1.0/24 \ tunnel=yes
Для того, чтобы трафик мог перемещаться по каналу нужно добавить правило в NAT, которое в обязательно нужно поднять выше максардинга, иначе пакеты будут пересылаться провайдеру.
Настройка находится в IP->Firewall->NAT
/ip firewall nat add action=accept chain=srcnat dst-address=192.168.0.0/24 src-address=192.168.0.0/24
Проблемы при настройке и работе IpSec в MikroTik
Ниже будут рассмотрены самые частые проблемы, которые не относятся к прямой настройке VPN туннеля типа IpSec, но косвенно могут повлиять на его работу: соединение может
- Не устанавливаться;
- Устанавливаться но не работать;
- Роутер MikroTik не имеет статического маршрута для out пакетов. Другими словами, со стороны MikroTik нет PING-а на удалённую подсеть.
Если соединение не принимает статус ESTABLISHED, кроме корректности настроек следует обратить внимание на Firewall.
Настройка Firewall в MikroTik для IpSec
/ip firewall filter add action=accept chain=input comment="Port Access" dst-port=500,1701,4500 \ in-interface=WAN-ether1 protocol=udp
Следующей проблемой может быть нелегитимные ключи IpSec SA, срок действия которых закончился, но новый ключ не был сгенерирован и согласован. Тут стоит обратить внимание на время жизни туннеля, на обоих роутерах, IpSec Profile и IpSec Proposals должны быть идентичными. Для исправления это ситуации нужно:
Очистить соответствующие ключи IpSec SA
Проконтролировать статус IpSec туннеля
после регенерации ключей он должен быть в статусе ESTABLISHED.
И последнее дополнение в сторону диагностики работы IpSec туннеля через роутер MikroTik.
Добавить статический маршрут для IpSec
/ip route add distance=1 dst-address=192.168.0.0/24 gateway=Bridge-LAN
Ниже представлен пример, до и после включение приведенного статического маршрута.
Как настроить VPN IpSec в MikroTik, если и вас 2(и более) провайдеров
Если на маршрутизаторе(роутере) MikroTik заведено несколько провайдеров, то может возникнуть ситуация, когда нужно явно указать через какого провайдера будут устанавливаться VPN туннель IpSec. Этот параметр должен указываться в первой фазе(phase-1) и определяет параметром Local Address.
Скорость передачи данных через VPN туннель IpSec в маршрутизаторах(роутерах) MikroTik
Этим вопросом часто задаются интеграторы VPN решений, когда нужно пропустить прогнозируемый трафик через VPN туннель или VPN туннель не справляется даже с незначительной нагрузкой 2-3Мб\с. Как правило это зависит от устройств, между которыми поднят VPN туннель IpSec. В качестве примера того, что VPN IpSec кроме высокого уровня защищенности данных обеспечивает высокую скорость будет продемонстрирован тест:
В качестве маршрутизаторов(роутеров) выступают MikroTik RB4011iGS+RM и MikroTik RB1100AHx4.
Почему в настройках профиля для IpSec phase-1 вы не сняли галочку обхода NAT(Traversal)для первого роутера,а во втором роутере она стоит /ip ipsec peer
add address=11.11.11.11/32 dh-group=modp1024 enc-algorithm=aes-128 \
hash-algorithm=md5 lifetime=8h nat-traversal=no secret=12345678
Будут ли доходить пакеты между сетями при такой настройке(при тунельном уровне IpSec ведь изменяет пакет как я понимаю и обход NAT должен быть включен).
Поясните, если не трудно.
Отвечу сразу решением, вам нужен раздел, который называется Создание правил NAT(в этой же статье). Там описано 2 метода для обхода NAT-а.
Указанный чек бокс nat-traversal относится к phase-1, а вы на сколько я понял имеете в виду все что будет уже в phase-2.
Есть ли какие-то методы для увеличения скорости внутри туннеля ipsec? У меня на tplink-ах средняя скорость 2-3Мб, причём интернет канал 50Мб
Вы бы хоть описывали, что за адреса в инструкции. Откуда взялся адрес 10.10.10.10 ? Что за адреса подсети 192.168.0.0 и 1.0 ? Не очевидная для многих инструкция.
И да, peers теперь создаются автоматом. То что было вбито руками работать не будет.
Ipsec у микротика довольно таки стабильная штука. В нашей сети больше 10 роутеров работают по такому VPN туннелю. При стабильном интернете и электропитании вообще не заметно, что это географически удаленные между собой точки. Микротик респект!
Сделал настройки по инструкции но Ipsec не поднялся. Сбросил Микротик до заводских настроек и теперь VPN = established, а до это писал «no phase2»
Подскажите пожалуйста, при настройке IPSEC Policy можно добавлять несколько Peer’ов. Когда и как это можно использовать? Скажем, если я имею подключение к одному dst IP с разных src IP (два провайдера), при добавлении двух пиров в один Policy и падении одного из каналов, будет ли он пытаться установить соединение через другой Peer?
На Peer у вас ограничений нету, а вот Policy в рамках туннеля может быть один. Второй должен быть неактивным, а переключение удобно сделать через Netwatch.
Под вашу задачу ещё лучше подходит L2TP+Ipsec, оба туннеля будут активны одновременно и переключение будет происходить проще и быстрее. Само переключение можно настроить через разное значение distance в таблице маршрутизации.
Да, такие тунели я использую. Но вот незадача, один из подрядчиков хочет просто IPSEC. На их стороне стоит не микротик, а какой-то фаервол, вроде Fortigat’а, который кроме IPSEC ничего не поддерживает. Подружить их удалось. Но переключать policy NetWatch’ем не очень. Как-то не стабильно это работает. Бывает пакет пропадет и он начинает дергать каналы. Посмотрел в сторону скриптов и уже пару написал. Но как-то все замороченно. Потом увидел что на 1 Policy можно несколько ПИРов накинуть. И подумал, а не оно ли это, то что мне нужно? Как это работает? Если там 2а пира. Подсеть одна ведь src\dst. Хотелось бы понимания, но что-то пока не нашел информации по этому вопросу.
Под ваш ответ нужно собирать тестовый стенд, готового решения на сейчас нету. В дополнение схемы нужно отметить, что зеркальная настройка должна быть со стороны подрядчика. Или он может принимать подключения с любого адреса(0.0.0.0/0) для туннелей с динамическим IP. Так а если просто взять и попробовать у вас будет результат на руках и соответствующие выводы.
Добрый вечер. у меня давно настроен ipsec между 2 микториками, все работает ок. Но тут появился на 1 из микротиков 2 провайдер. Когда включаю интерфейс отваливается микротик и не поднимается. Прописал local addres внешний ip адрес. не помогает. Логи вот?
1. Микротик-2 также должен знать, что у вас на Микротик-1 может быть другой IP.
2. Контроль firewall для вашего ipsec.
3. Или у вас IKEv2, где определены или IP или DNS
причины под вашу ошибку конечно могут быть другие, нужно видеть конфигурацию с разделов ipsec, firewall(rules+nat) для обоих Микротиков.
Простите логи не прикрепил
phase1 negotiation failed due to time up localip[500]remoteip[500]
respond new phase 1 (Identity Protection): localip[500]remoteip[500]
the packet is retransmitted by remoteip[500].
the packet is retransmitted by remoteip[500].
the packet is retransmitted by remoteip[500].
the packet is retransmitted by remoteip[500].
Такая же проблема, не нашли решения?
Самое удивительное что у меня на данном микротике, 2 ipsec и один из них обрывается а второй нет. Из того что нашел, это вроде как связанно с маршрутом динамическим который создается при включении 2 интерфейса на котором 2 провайдер.
Фазы согласовались, пинги проходят до другого микротика, а вот сами машины внутри сети не пингуются, подскажите куда копать.
Стоит перепроверить NAT, чтобы пакеты не улетали к провайдеру. А дальше пересмотреть firewall-ы на всех узлах
Добрый день, а если присутствует требования дополнительной смс авторизации.
Есть ли возможность куда-то вбить эту смс?
При авторизации туннеля на клиентском микротике, смс приходит, то есть попытка соединения есть. Но вот куда вбить код из нее в конфигурацию?
Как в этом соединение пропустить DNS?
Указать IP с диапазона удаленного офиса, на котором работает DNS сервер
Добрый день.
Есть локальной сетью №1 со шлюзом — микротик1.
Локальная сеть №2 порезанная на VLan-ы со шлюзом — микротик2.
В одном из VLan есть Микротик3.
IPsec настраивается между микротик1 и Микротик3
Делал все по Вашим рекомендациям. Соединение не устанавливаться — No phase-2
На микротике2 сделан проброс.
Подскажите что смотреть, куда копать?
Не уверен что могу что-то дельное подсказать, учитывая ваш набор технологий и навыков. Но обычно в таких схемах я начиню с упрощения схемы и по нарастающей её усложнять.
Спасибо за оперативный ответ.
Добился на микротиках статуса ESTABLISHED
Но другая проблема: подсети не пингуются, трафик не идет.
В Route List маршрут прописан на «чужую сеть» через Wan-интерфейс.
Похоже трафик пытается идти не через туннель, а напрямую в инет.
Как его завернуть в IPSec не понятно.
В базовой конфигурации обычно
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface=ether1
что исключает попадание ipsec трафика к провайдеру. Если отправлять ICMP с самого роутера, то нужно добавить /ip route add distance=1 dst-address=192.168.0.0/24 gateway=Bridge-LAN. Это все есть в описании. Для частных случаев нужно смотреть настройки ipsec и смежных разделов.
Сколько времени не проходит, а Ipsec держит уровень надёжного VPN туннеля. Настройка на Микротике правда специфическая
а с разными подсетями ipsec в туннельном режиме сработает(например в филиалле1-подсеть a,b;филлиал2-c,d —обьединить a-c;b—d)
да, это будет работать. Определяете правила для IP→IPsec→Policies для каждой из подсетей. Вот пример:
/ip ipsec policy
add dst-address=192.168.36.0/24 peer=176.36.112.173 proposal=Proposal-IpSec \
sa-dst-address=176.36.XXX.YYY sa-src-address=94.45.XXX.YY src-address=\
10.224.1.0/24 tunnel=yes
add dst-address=192.168.36.0/24 peer=176.36.112.173 proposal=Proposal-IpSec \
sa-dst-address=176.36.XXX.YYY sa-src-address=94.45.XXX.YY src-address=\
192.168.12.0/24 tunnel=yes
я так и сделал статус в policies established,добавил также правила в nat разрешение одной подсети в другую, но пинга нет;
возможно ли одновременная маршрутизация с несколькими подсетями при условии что пира всего 2?
Добрый день.
При подключении с телефона (андроид 13) кроме «сертификата пользователя» и «сертификата ЦС», просит индентификатор IPSec
В IP -> IPSec -> Identities его нет
Где его посмотреть или назнаить?
Сторонней программой подключаюсь, там такого вопроса не возникает. Видимо, параметр несущественный, но без него никак.
Модель «RBD52G-5HacD2HnD-TC» поддерживает функции ВПН l2tp ? Заходил на сайт ДНС там пишут «Функции VPN OpenVPN, IPSec»
Любой роутер MikroTik поддерживает VPN L2TP
есть проблемма странного характера с подключением клиентов по l2tp — есть два микротика в двух удвленных офмсах пара десятков клиентов настроено подключение VPN по l2tp к каждому микротику. Почти у всех все работает нормально но есть 7-мь клиетов кторые Нормально работают с микротик.1 но не работают с микротик.2 Windows пишет что невозможно подключение а в гогах микротика пишет что не получен ключ ipsec который обязателен. При этом этот же клиент с бругим микротиком работает нормально. Каие есть идеи где копать?
Ошибка как бы и даёт подсказку, нужно проверить включили ли вы шифрование на клиенте и указали ли ipsec_key