Тестирование маршрутизаторов Maipu: встраиваемся в существующую DMVPN-сеть Cisco

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Команда департамента телекоммуникаций КРОК не сидит сложа ноутбуки (вдруг у вас были сомнения?). Мы ищем способы помочь нашим заказчикам сохранить работоспособность их сетей и обеспечить возможность дальнейшего развития. В ходе этих поисков обрели новую жизнь наши отношения с китайским вендором Maipu Communication Technology. Сейчас, когда общение с вендором налажено на всех уровнях, мы, инженеры, исследуем их решения на предмет надёжности и применимости к самым распространённым кейсам заказчика.

Сегодня я расскажу об одном из таких кейсов.

Что это за вендор?

Maipu это часть крупного производителя телеком-оборудования China Electronic Corporation. В 1993 году компания выпустила своё первое телеком-устройство, в 2000 - первый роутер, а в 2006 - коммутатор. Затем, разогнавшись на внутрекитайском рынке, Maipu вышла на рынок мировой и к настоящему времени успела реализовать множество проектов в Юго-восточной Азии, Африке и Латинской Америке. Основными потребителями продуктов и решений являются банки, госструктуры и операторы связи.

Нашим коллегам уже удалось побывать на производстве оборудования Maipu и оценить процесс контроля качества. Кроме того, наш опыт взаимодействия с вендором показал, что его небольшой, в сравнении лидерами рынка, размер имеет и свои плюсы: компания готова оперативно расширять и корректировать функционал своих решений под конкретные проекты, причём проекты для этого не обязательно должны быть масштаба страны.

В последние 10 лет компания активно инвестирует в разработку собственной элементной базы, что уже позволило ей выпустить ряд моделей коммутаторов и маршрутизаторов целиком на китайских компонентах.

Ситуация

У вас есть сеть филиалов, соединённых с центральными площадками с помощью VPN-туннелей. Самый распространённый вариант реализации такой сети - пограничные маршрутизаторы Cisco и технология Dynamic Multipoint VPN (DMVPN). Работает отлично, но рано или поздно на каких-то филиалах существующие маршрутизаторы либо перестают удовлетворять возросшим требованиям по производительности, либо просто ломаются. Их нужно менять. Можно ли на замену использовать маршрутизаторы Maipu?

 Мы проверили это в нашей лаборатории вот на таких устройствах:

Maipu MP1800X-40E
Maipu MP1800X-40E
Maipu MP7300X
Maipu MP7300X

Этап 1. Cisco в роли DMVPN-Hub, Maipu в роли DMVPN-Spoke

Задача — встроить филиальный маршрутизатор Maipu в существующую DMVPN-сеть Cisco. Конфигурация со стороны Cisco стандартная. Underlay-сеть спрятана в отдельный VRF — это распространённая ситуация, её хотелось отработать сразу.

Настроить DMVPN на маршрутизаторе Maipu совсем несложно, если хорошо понимаешь технологию и то, какие компоненты обязательно должны присутствовать в конфиге. На Cisco всё выглядит примерно так:

Следующая задача — понять, как всё это настраивается в Maipu. Беглое исследование показало, что параметры распределяются по разделам конфига немного иначе. Вот так:

Ниже пример конфигов с соответствием разделов друг другу.

Cisco

Maipu

ip vrf UNDERLAY

 rd 2:2

ip vrf UNDERLAY

 rd 2:2

interface GigabitEthernet0/1

 description -= WAN =-

 ip vrf forwarding UNDERLAY

 ip address 192.168.255.4 255.255.255.0

interface gigabitethernet0/1

 no switchport

 description -= WAN =-

 ip vrf forwarding UNDERLAY

 ip address 192.168.255.3 255.255.255.0

crypto isakmp policy 100

 encr aes 256

 authentication pre-share

 group 16

crypto ike proposal CROCLAB_IKP

 encryption aes256

 group group16

 

crypto keyring vpn1 vrf UNDERLAY

  pre-shared-key address 0.0.0.0 0.0.0.0 key ### KEY ###

crypto ike key ### KEY ### address 192.168.255.4

crypto isakmp profile CROCLAB_IP

   vrf UNDERLAY

   keyring vpn1

   self-identity address

   match identity address 0.0.0.0 UNDERLAY

   local-address GigabitEthernet0/1

 

crypto ipsec transform-set CROCLAB-TS esp-aes 256

 mode transport

crypto ipsec proposal CROCLAB_IPP

 esp aes256

 mode transport

 lifetime seconds 3600

 lifetime kbytes 4608000

crypto ipsec profile CROCLAB_IPSP

 set transform-set CROCLAB-TS

 set isakmp-profile CROCLAB_IP

 tunnel protection ipsec profile CROCLAB_IPSP

crypto profile CROCLAB_CPP

 set authentication preshared

 set ike proposal CROCLAB_IKP

 set ipsec proposal CROCLAB_IPP

interface Tunnel3860

 bandwidth 5000

 ip address 10.0.0.1 255.255.0.0

 no ip redirects

 ip mtu 1410

 ip nhrp authentication ### KEY ###

 ip nhrp network-id 64

 ip tcp adjust-mss 1360

 tunnel source GigabitEthernet0/1

 tunnel mode gre multipoint

 tunnel key 6464

 tunnel vrf UNDERLAY

 tunnel protection ipsec profile CROCLAB_IPSP

interface tunnel402

 ip address 10.0.0.200 255.255.0.0

 mtu 1410

 ip tcp adjust-mss 1360

 tunnel mode dvpn mgre

 tunnel source gigabitethernet0/1

 tunnel key 6464

 tunnel encapsulation-vrf UNDERLAY

 dvpn nhrp-entry 10.0.0.1 192.168.255.4 register

 crypto-profile CROCLAB_CPP

 dvpn authentication key ### KEY ###

 dvpn area-id 0.0.0.64

 dvpn client spoke

Из тонкостей: здесь нужно обязательно проверять сочетания параметров защиты — алгоритмов шифрования, хэширования и групп Диффи-Хеллмана, которые поддерживаются с обеих сторон. Кроме этого, в IPSec Proposal на Maipu потребовалось подкрутить значения lifetime так, чтобы они совпали с теми, что установлены по умолчанию в Cisco.

Этап 2. Maipu в роли DMVPN-Hub, Cisco в роли DMVPN-Spoke

Здесь, ожидаемо, всё тоже заработало. 

Cisco

Maipu

ip vrf UNDERLAY

 rd 2:2

ip vrf UNDERLAY

 rd 2:2

interface GigabitEthernet0/1

 description -= WAN =-

 ip vrf forwarding UNDERLAY

 ip address 192.168.255.4 255.255.255.0

interface gigabitethernet0/1

 no switchport

 description -= WAN =-

 ip vrf forwarding UNDERLAY

 ip address 192.168.255.3 255.255.255.0

crypto isakmp policy 100

 encr aes 256

 authentication pre-share

 group 16

crypto ike proposal CROCLAB_IKP

 encryption aes256

 group group16

 

crypto keyring vpn1 vrf UNDERLAY

  pre-shared-key address 192.168.255.3 key ### KEY ###

crypto ike key ### KEY ### address 0.0.0.0

crypto isakmp profile CROCLAB_IP

   vrf UNDERLAY

   keyring vpn1

   self-identity address

   match identity address 0.0.0.0 UNDERLAY

   local-address GigabitEthernet0/1

 

crypto ipsec transform-set CROCLAB-TS esp-aes 256

 mode transport

crypto ipsec proposal CROCLAB_IPP

 esp aes256

 mode transport

 lifetime seconds 3600

 lifetime kbytes 4608000

crypto ipsec profile CROCLAB_IPSP

 set transform-set CROCLAB-TS

 set isakmp-profile CROCLAB_IP

 tunnel protection ipsec profile CROCLAB_IPSP

crypto profile CROCLAB_CPP

 set authentication preshared

 set ike proposal CROCLAB_IKP

 set ipsec proposal CROCLAB_IPP

interface Tunnel3860

 bandwidth 5000

 ip address 10.0.0.1 255.255.0.0

 no ip redirects

 ip mtu 1410

 ip nhrp authentication ### KEY ###

 ip nhrp map 10.0.0.200 192.168.255.3

 ip nhrp nhs 10.0.0.200

 ip nhrp network-id 64

 ip tcp adjust-mss 1360

 tunnel source GigabitEthernet0/1

 tunnel mode gre multipoint

 tunnel key 6464

 tunnel vrf UNDERLAY

 tunnel protection ipsec profile CROCLAB_IPSP

interface tunnel402

 ip address 10.0.0.200 255.255.0.0

 mtu 1410

 ip tcp adjust-mss 1360

 tunnel mode dvpn mgre

 tunnel source gigabitethernet0/1

 tunnel key 6464

 tunnel encapsulation-vrf UNDERLAY

 crypto-profile CROCLAB_CPP

 dvpn authentication key ### KEY ###

 dvpn area-id 0.0.0.64

 dvpn client hub

Единственная проблема встретилась нам уже после, при настройке динамической маршрутизации. Оказалось, что маршрутизатор Maipu не поддерживает BGP Dynamic Neighbors. Когда Hub-маршрутизатор с включённым BGP принимает запросы от определённой подсети и устанавливает соединения с любыми маршрутизаторами из неё без наличия статически настроенного neighbor. На Cisco это выглядит вот так:

router bgp 65500

 bgp router-id 10.0.0.1

 bgp log-neighbor-changes

 bgp listen range 10.0.0.0/16 peer-group SPOKE

 neighbor SPOKE peer-group

 neighbor SPOKE remote-as 65500

 !

 address-family ipv4

  neighbor SPOKE activate

  neighbor SPOKE default-originate

 exit-address-family

R&D Maipu обещал оперативно реализовать данный функционал при наличии потребности у конкретного заказчика. А такая потребность обязательно появится.

Этап 3. Переход на сертификаты

Перевести DMVPN на сертификаты также удалось достаточно быстро.

Cisco

Maipu

ip domain name croc.lab

!

crypto ca identity RootCA

 ca type other

 subject-name CN=Spoke-MP1800X.croc.lab

  key-type rsa key-size 2048

!

crypto profile CROCLAB_CPP

 set ike proposal CROCLAB_IKP

 set ipsec proposal CROCLAB_IPP

ip domain name croc.lab

!

crypto pki trustpoint RootCA

 enrollment terminal

 usage ike

 serial-number none

 fqdn HUB1-C2911.croc.lab

 ip-address none

 subject-name CN=HUB1-C2911.croc.lab

 subject-alt-name HUB1-C2911.croc.lab

 revocation-check none

!

crypto isakmp profile LABVPN-IP

   ca trust-point RootCA

   match certificate certmap

!

crypto pki certificate map certmap 1

 issuer-name co croc.lab

Выводы

Инженер, который хочет строить надёжные и корректно работающие сети должен быть пессимистом. Инженеру-оптимисту будет лень проверять все нюансы настройки QoS, тонкости работы динамической маршрутизации и прочее. Всё это вылезет потом, при внедрении. Поэтому, будучи умеренным пессимистом, делать из проведённых нами тестов выводы о том, что маршрутизаторы Maipu можно покупать и устанавливать сотнями в DMVPN-сети Cisco, я бы не стал. Заключение, которое на мой взгляд по итогам наших тестов, можно сделать смело, звучит так: в текущих условиях маршрутизаторы Maipu — это то оборудование, которое вероятнее любого другого из доступных заработает корректно в DMVPN от Cisco. Перед закупкой и запуском в продуктив, его стоит тестировать применительно к вашей конкретной сети. Сделать это можно двумя способами. Первый: взять реальную конфигурацию работающего на данный момент маршрутизатора Cisco и на лабораторном стенде и подстроить под неё конфигурацию Maipu. Так мы получим подтверждение работоспособности связки устройств и готовый к внедрению шаблон конфига. Второй: поставить маршрутизатор Maipu в реальную сеть, настроить и посмотреть, как это будет работать не только с реальным конфигом, но и под реальной нагрузкой.

 С такими тестами, мы как раз можем помочь.

Тоже самое, кстати, касается и работы в DSVPN-сети Huawei. DSVPN совместим с DMVPN от Cisco и такая конфигурация уже неплохо задокументирована. А раз работают связки Huawei-Cisco и Cisco-Maipu, то и Huawei-Maipu есть смысл пробовать. Чем мы в ближайшее время и займёмся.

Другое интересное направление — работа BGP/EVPN/VXLAN-фабрики Maipu. Об этом расскажем в ближайших материалах.

Источник: https://habr.com/ru/company/croc/blog/675512/


Интересные статьи

Интересные статьи

Привет, Хабр! Вам наверняка знакома ситуация, когда обновления, которые необходимо выкатить, — это россыпь отдельных файлов, которую надо соединить, протестировать на всех видах продуктов и поддержив...
Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 с ЗУП без 1С-ника.В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и ...
Несколько дней назад в базах результатов комплексного бенчмарка PassMark засветились показатели тестирования анонсированного в рамках CES 2021 семейства Rocket Lake-S в лице топового пред...
Часто при попытке войти в IT-индустрию встает вопрос выбора направления: разработка или тестирование. В этой статье мы расскажем, кому и почему стоит выбирать то или иное...
«Битрикс» — кошмар на костылях. Эта популярная характеристика системы среди разработчиков и продвиженцев ныне утратила свою актуальность.