Network: DMVPN

https://blog.vyos.io/using-dmvpn-and-bgp-to-interconnect-multiple-sites
- VyOS makes use of OpenNHRP. OpenNHRP implements NBMA Next Hop Resolution Protocol (as defined in the RFC 2332). It makes it possible to create dynamic multipoint VPN Linux router using NHRP, GRE and IPsec.
- We will use a BGP peer-group for the DMPN spokes at the hub so in case we change something on our configuration we do it for all our DMVPN remote sites at once.
  • Кейс DMPVN активно заменяется на FlexVPN с одной стороны и на SD-WAN с другой
  • В случае DMVPN чаще всего используется именно EIGRP т.к. обоснованно считается, что distance vector протоколы лучше себя показывают в топологии hub-and-spoke, а EIGRP – самый прокачанный distance vector. Хотя есть инициативы работать в DMVPN с использованием OSPF.
Reliably Scaling OSPF over Hub/Spoke with Cisco DMVPN technical whitepaper by Nicholas Russo

Link-state protocols are not well suited to most hub/spoke network designs. In these designs, spokes only form routing adjacencies with the hubs and thus receive all their routing updates from said hubs. There is little value in one spoke learning all of the routing information from all other spokes. Short of deploying a variety of network segmentation techniques (different hub/spoke networks in different OSPF areas, etc.), scaling OSPF over these designs has historically been challenging.

 

DMVPN – dynamic VPN. Изначально разработка Cisco. Поддерживает NAT-T (NAT traversal) – spoke роутеры могут располагаться за NAT.

 

 Два основных плюса использования DMVPN:

    • Позволяет уменьшить конфигурацию spoke router: подразумевается, что каждый spoke может установить динамический ipsec туннель с другим spoke напрямую при необходимости обмена трафиком с ним, без какой либо конфигурации касающейся удаленного spoke. При этом туннель с hub у всех постоянный. Взаимодействие напрямую крайне важно для delay sensitive applications (VoIP, VideoConf).
Despite not directly exchanging control-plane information, spokes can form dynamic, on-demand tunnels between each other. This is particularly useful for latency sensitive applications such as voice over IP (VoIP) as it removes the hub as a transit node.

    • Позволяет уменьшить конфигурацию hub router: при деплое DMVPN на hub для всех spoke используется единый конфиг – единый ipsec profile без crypto ACL, единый mGRE интерфейс. В legacy cryptomap конфигурации каждый spoke требовал отдельный конфиг на hub для построения ipsec site-to-site туннеля (cryptomap, gre tunnel interface, acl).

Стек используемых протоколов/технологий DMVPN:

    • IPSec (IKE),
    • mGRE – multipoint GRE, основа DMVPN. Один интерфейс на hub или spoke может терминировать все статические или динамические туннели. Настраивается командой tunnel mode gre multipoint.

 

    • NHRP – Next Hop Resolution Protocol. Протокол решает задачу разрешения туннельного адреса другого spoke для установки dynamic туннеля. Hub (NHRP server, NHRP NHS – next hop server) хранит информацию по каждому mGRE endpoint public адресу (NBMA, non-broadcast multiple access address) каждого spoke (NHRP client) и по сути является name server для NHRP запросов spoke. Spoke регистрируются на hub.

    • EIGRP (в туннеле)

 

Конфигурация DMVPN

Облегчения в сравнения с классическим site-to-site туннелем на базе cryptomaps.

  1. (Не нужно в DMVPN) Создаем ACL по выборке трафика, который будет шифроваться
  2. (Нужно в DMVPN) Для связи с удаленным хостом настраиваем ISAKMP policy (ipsec phase 1) и симметричный ключ до remote site (при настройке ISAMP policy как PSK pre-share)
  3. Для шифрования настраиваем transform-set и crypto map
    1. (Нужно в DMVPN) transform-set (ipsec phase 2) – определяем как шифруется трафик (AES, SHA, HMAC)
    2. (Не нужно в DMVPN) crypto map – определяем какой трафик шифруется (определяем адрес remote site, ACL по выборке трафика и transform-set)
  4. (Нужно в DMVPN в другом виде – применяем ipsec политику с transform-set к интерфейсу, не cryptomap с transform-set) Применяем crypto map на интерфейс, через который доступен remote site. Это может быть как физический интерфейс, так и туннельный.
  5. Настройка специфичных для DMVPN вещей
    • Tunnel: mgre, source/destination
    • NHRP: network id (совпадает между hub-spoke), адрес NHS на spoke, аутентификация с симметричным ключем
    • EIGRP

 

 

 

 

 

 

 

 

 

 

Leave a Reply