Создание VPN между Микротик (RouterOS) и виртуальной сетью Облакотеки
В этой статье рассмотрим построение межсетевого VPN Site-2Site между Микротик на земле и сетью HNV в облаке «Облакотеки».
Для общего ознакомления с IPSec применительно к Микротик рекомендую посмотреть материал Обзор IPSec в Микротик
Немного теории:
В Облакотеке используются сети поколения SDN2. Для создания виртуальной сети внутри облака используется HNV. Это позволяет создать виртуальную локальную сеть, виртуальный граничный маршрутизатор со статическим IP адресом, который смотрит в интернет и локальным адресом, который подключен к локальной облачной сети и к ней же могут быть подключены облачные виртуальные машины.
Маршрутизаторы Микротик класса SOHO и более старшие модели получили достаточно широкое применение в сетях различного масштаба и сложности и успешно справляются с широким спектром задач.
Наиболее удобным и безопасным способом связать сеть на земле с облачной – является использование VPN. Не всегда удобно поднимать VPN с каждого узла локальной сети на земле до облака, Более удобно и правильно сделать единый VPN от граничного маршрутизатора, обслуживающего локальную сеть, и таким образом все узлы сети получат доступ к облачным ресурсам в прозрачном для пользователей режиме.
Существует много способов реализации VPN канала по различным протоколам. В рамках нашей статьи рассмотрим реализацию VPN на базе IKev2 c IPSec в режиме туннеля. Именно такой VPN реализован в сетях HNV в Облакотеке.
Сценарий
Ниже приведена схема сценария, которая будет описанная пошагово.
Построение VPN туннеля состоит из 3х частей
1 – создание HNV сети и настройка VPN со стороны Облакотеки
2 – Настройка оборудования на земле (Mikrotik)
3 – проверка работоспособности туннеля и IPSeс.
1 – выполняем настройки со стороны Облакотеки.
У нас имеется: облако, созданная в нем ВМ.
1. В панели управления облаком (CP) Переходим на вкладку «Сеть» -> Виртуальные сети HNV и нажимаем кнопку «Создать сеть»
2. Вводим дружественное название сети в поле «Описание виртуальной сети» и в поле «Описание подсети» также вводим наименование для подсети. В нашем случае укажем HNV1 и HNV1_subnet1. Вы указываете значения которые удобны Вам
3. в поле «IP сеть» указываем диапазон IP адресов внутренней подсети. Для нашего стенда это 10.128.16.0/24
4. поля ДНС1 и ДНС2 можно оставить без изменения. Жмем «Сохранить»
5. Настраиваем сетевой адаптер внутри ВМ. IP адрес, назначим ему 10.128.16.2, остальные параметры сетевого подключения
Gate: 10.128.16.1
DNS1: 37.230.152.10
DNS2: 37.230.153.10
Если настройки выполнены правильно то изнутри ВМ должны открываться web сайты. (ping через протокол ICMP в сетях HNV может не работать)
6. создаем VPN подключение. Нужно нажать на кнопку «Редактирование» в колонке VPN на этой же вкладке CP
Далее, кнопка «Создать VPN»
Далее, заполняем поля
Указываем:
- Имя туннеля
- VPN Endpoint – Внешний IP адрес у микротика на земле.
- Удаленная подсеть – локальная подсеть на земле за микротиком до которой строится VPN туннель
- PresharedKey - секретная фраза PSK для шифрования. Указываем посложнее.
Остальные параметры можно оставить по умолчанию
Сохраняем изменения
VPN тоннель создан но пока не работает, состояние – красный значок
Флажок состояние отражает состояние туннеля
Параметры в колонке «Дополнительные параметры» будем использовать при настройке туннеля на микротике
2 – выполняем настройки на микротике.
Замечание: Одним из важных моментов является то, что IKEv2 был представлен в версии RouterOS 6.38. Поэтому убедитесь, что у вас есть совместимая версия, чтобы иметь возможность продолжить настройку. Мы использовали: RouterBoard 951Ui и версию программного обеспечения: RouterOS 6.45.5.
Настройки для MikroTik приводим для интерфейса утилиты Winbox.
- сначала подготовим файрвол.
IP->Firewall добавляем правила для IPsec
У этого правила Action – accept
И правила для VPN
Action – accept
2. Открываем окно IPSec. IP->IPSec->вкладка Profiles и нажимаем “+”, создаем новый профиль. В настройках микротика уже есть дефолтный профиль, но его лучше не использовать, лучше создать для нашего подключения свой.
3. Присваиваем имя профилю, и устанавливаем чекбоксы как показано на рисунке
В этом окне мы установили параметры шифрования поддерживаемые HNV сетью «Облакотеки» и указанные в настройках VPN канала выполненных нами ранее, в облаке
Время жизни Life time указываем 8 часов. DPD Interval (интервал обнаружения залипших, мертвых, пиров) оставляем 120, NAT Traversal устанавливаем в зависимости от того как подключен. Настраиваемый микротик. В нашем случае, раутер находится в серой сети провайдера. Поэтому чекбокс установлен
4. Открываем вкладку Peers и нажимаем “+”, создаем новый peer. Даем ему имя, и указываем профиль, созданный нами ранее в поле “Profile”
В поле Address указываем внешний ip адрес нашего облачного HNV Gateway. Его значение можно найти в настройках облачного VPN в поле «VM network endpoint IP address»
В поле «Exchange mode» указываем метод обмена ключами, в нашем случае это IKE (IKEv2).
Не забываем поставить чекбокс Send INITIAL_CONTACT
5. Открываем вкладку Identities и нажимаем “+”, создаем новый.
- В созданном идентификаторе указывает peer для которого он действует
- Auth. Method указываем значение Pre Shared Key в соответствии с тем методом что выбрали при настройке VPN в облаке
- В Поле Secret - Указываем значение что ввели как секретную фразу PSK в настройках облачного VPN
6. Открываем вкладку Prorposals и нажимаем “+”, создаем новый. Тут мы создаем и настраиваем предложение для согласования SA. Этот элемент (proposal) в дальнейшем будет использоваться политикой IPsec.
Значения полей для алгоритмов аутентификации и шифрования берем из настроек VPN канала в Облакотеке. Чтобы наши VPN раутеры в облаке и на земле работали согласованно и точно знали какими алгоритмами пользоваться при шифровании и расшифровке данных. Поле LifeTime установим на 7 часов 30 минут.
7. Открываем вкладку Policies и нажимаем +, создаем новую политику
8. В этой политике на вкладке General устанавливаем:
- В поле peer – указываем созданный нами peer
- Указываем чекбокс tunnel т.к. делаем туннель
- В поле Src. Address указываем локальную сеть на земле, к которой подключены узлы за микротиком
- В поле Dst. Address указываем локальную сеть в облаке за облачным HNV раутером. К ней подключены облачные ВМ
На вкладке Action
- В поле Action Указываем значение encrypt (шифровать)
- В поле Level - Указываем значение require (Желательно)
- Указываем IPSec протокол, в нашем случае esp
- В поле Proposal указываем на наш proposal, созданный на предыдущих шагах настройки.
Если всё сделали без ошибок, то все должно заработать сразу. Первый признак что туннель поднят это зелененький флажок на подключении VPN в CP
Мы помним, что мы используем route based VPN поэтому не настраиваем маршруты к виртуальным интерфейса
- для Микротика а выполняем настройки NAT в Firewall
ip->firewall вкладка NAT создаем правило:
srcnat где указываем Src address – адрес сети на земле, за микротиком
dst address адрес локальной сети в облаке, за облачным HNV раутером
на вкладке Action созданного правила указываем значение accept
ВАЖНО!
Созданное выше правило должно располагаться выше правила, выпускающего трафик наружу в интернет.
Просто перетащите созданное правило мышкой выше правила masquerade, как на примере ниже
В противном случае, трафик будет отправляться наружу, а не в туннель.
3 – проверка работоспособности туннеля и IPSeс.
Если ВМ на платформе 2012 в Облакотеке, то между компьютером на земле и облачным будет ходить ping по протоколу icmp
- На стороне микротика, в нашей политике на вкладке status увидим:
Что Фаза 2 нашего IPSec работает
- В окне IPSec, на вкладке Active peers, Увидим наш peer в статусе established с адресами которые мы указывали для земли и для облака.
В нашем случае Local адрес взят автоматически с внешнего интерфейса микротика, т.к. он находится в серой сети провайдера то адрес 192.168.2.2
- В окне IPSec, На вкладке Installed SA’s, увидим текущие ассоциации безопасности ля нашего соединения
Наши ассоциации видно по ip адресам, можно увидеть по каким алгоритмам произошла аутентификация, и выполняется шифрование.
Поиск неполадок IPSec
Если что-то не работает по какой-либо причине – можно обратиться к логам для выяснения причин. MikroTik обеспечивает хороший интерфейс для протоколирования и поиска неполадок IPSec. События связанные с IPSec можно визуализировать в меню журнала. Для того, этого в конфигурацию ведения журнала (System Logging) нужно добавить IPSec в качестве темы:
Создание межсетевого VPN (IPSec IKEv2) с помощью Azure и MikroTik (RouterOS)
После добавления нового правила ведения журнала для IPSec вы увидите следующие подробные события IPSec:
Заключение
В этой статье мы продемонстрировали, как настроить IPSec межсетевой VPN, используя IKEv2 (Route-based) между Облачными сервисами Облакотеки и MikroTik RouterBoard. Эти инструкции также могут помочь вам настроить любое устройство IPSec, которое совместимо с настройками шлюза HNV VPN.