DMVPN Phase I. Практика. Part 1.

2021.09.20. Kurapov Alexey.

DMVPN Phase I

Dynamic Multipoint VPNs (DMVPN) - это объединение multipoint GRE (mGRE) + NHRP.

mGRE — протокол туннелирования, отличающийся от традиционного GRE возможностью установления туннелей с несколькими соседями на одном интерфейсе. В основе лежит использование Next-Hop Resolution Protocol (NHRP), который позволяет динамически устанавливать такие соединения.

NHRP использует Hub или NHS (Next-Hop Server), указанный для всех spoke статически. Каждый spoke регистрируется динамически (т.е. изначально NHS не знает адресов spoke), устанавливает постоянный туннель с NHS и NHS вносит соответствие его туннельного и реально адреса (mapping) в базу соседей.

Фазы DMVPN. Под фазами понимается тип (или характер) взаимодействия spoke-to-spoke или spoke-to-hub. Всего существует три фазы.

Рассмотрим первую фазу.

Phase 1. Реализованы только туннели hub-to-spoke, туннели spoke-to-spoke не устанавливаются и весь трафик течет через хаб.

Рассмотрим топологию:


Настройка опорной (underlay) сети: 

Настройка интерфейсов Hub_1:

 

Настройка маршрутизации на Hub_1:

 

Настройка интерфейсов Spoke_1:

Настройка маршрутизации на Spoke_1:

 

Настройка интерфейсов Spoke_2:

 

Настройка маршрутизации на Spoke_2:

 

Настройка интерфейсов коммутатора Switch:

 

Таблица маршрутизации опорной (underlay) сети на Hub_1:

 

Таблица маршрутизации опорной (underlay) сети на Spoke_1:

 

Таблица маршрутизации опорной (underlay) сети на Spoke_2:

 

Проверка связности опорной (underlay) сети:

 

Настроим multipoint gre туннель на Hun_1:

Рассмотрим некоторые настройки туннеля mGRE подробнее:

- требуется указать, если разные mGRE туннели строим с одного Loopback интерфейса,


- требуется для NHRP пакетов, для связи NHRP Registration Request  с туннелем.

 

 tunnel key требуется для передачи, непосредственно пользовательского трафика,

ip nhrp network-id  - для работы протокола NHRP.

 

Сейчас в Wireshark нет сообщений протокола NHRP:

               Настроим туннель на Spoke_1:

Данный туннель является GRE P2P.

 

Рассмотрим подробнее настройки:

 

 - адрес nex-hop nhrp сервера - overlay адрес,

 

- maping между физическим (underlay, NBMA) и логическим (overlay) адресами NHRP NHS,

172.0.0.1 - логический (overlay)  адрес у nhrp nhs сервера,

1.1.1.1 – физический адрес (underlay или NBMA) адрес у nhrp nhs сервера в опорной (underlay) сети

 

В Wireshark:

И позже:

 

Первый пакет – Spoke_1 пытается зарегистрироваться на Hub_1.

 

               Рассмотрим эти пакеты подробнее:

 

-         Все просто: 6 х 16 + 15 = 111 =  


-  - физический (underlay) адрес Spoke_1,

-    - логический (overlay) адрес Spoke_1,

-   - логический (overlay) адрес Hub_1.


NAT Address Extension:

В случае если между Hub и Spoke есть NAT, Hub сравнивает ip destination адреса из  ip заголовков и Client NBMA Address и Client Protocol Address из секции Cisco NAT Address Extension. Если совпадают, то следовательно, NAT отсутствует. Если разные, то следует, что  NAT есть, но все равно Hub знает реальный адрес клиента (Spoke.)

 

В Wireshark:

Hub_1 отвечает об успешной регистрации Spoke_1:

 

Hub_1 знает о Spoke_1 через tunnel100:


    Т.о. для передачи данных на 172.0.0.2, Hub_1 должен поместить пакет в tunnel100 и инкапсулировать в gre туннель с ip destination 2.2.2.2.

 

  На Hub записи о Spoke динамические, указанно время устаревания,          

 на Spoke запись о Hub статическая  - никогда не устаревает - never expire ,

          

Комментарии

Популярные сообщения из этого блога