Траблшутинг DMVPN: настройка Phase 1, Phase 2, Phase 3 и протокола NHRP
При сбоях в топологиях Dynamic Multipoint VPN (DMVPN) возникают характерные проблемы:
- Spoke-маршрутизаторы не могут зарегистрироваться на Hub (
NHRP registration failure). - В DMVPN Phase 2/3 трафик между Spoke идет транзитом через Hub, а прямой динамический туннель Spoke-to-Spoke не поднимается.
- Асимметричная маршрутизация и дропы пакетов CEF (Cisco Express Forwarding) из-за отсутствия NHRP-кэша.
- Флапы EIGRP/BGP/OSPF соседств поверх интерфейса mGRE (Multipoint GRE).
1. Архитектурные различия фаз DMVPN
- Phase 1: Hub-and-Spoke. Весь трафик идет строго через Hub. Интерфейс Spoke работает в режиме
tunnel mode gre ip(p2p). - Phase 2: Spoke-to-Spoke. Динамические туннели строятся по запросу. Каждый Spoke знает маршруты к другим Spoke через routing protocol.
- Phase 3: Spoke-to-Spoke с масштабируемой иерархией. Использует механизмы
ip nhrp redirectна Hub иip nhrp shortcutна Spoke для перезаписи CEF таблицы 'на лету'.
2. Конфигурация Hub для DMVPN Phase 3 (Cisco IOS)
interface Tunnel0
ip address 10.255.255.1 255.255.255.0
no ip redirects
ip mtu 1400
ip tcp adjust-mss 1360
ip nhrp authentication DMVPN_SECRET
ip nhrp map multicast dynamic
ip nhrp network-id 10001
# Включение Phase 3 Redirect:
ip nhrp redirect
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
tunnel key 10001
tunnel protection ipsec profile DMVPN_IPSEC_PROFILE3. Конфигурация Spoke для DMVPN Phase 3
interface Tunnel0
ip address 10.255.255.2 255.255.255.0
no ip redirects
ip mtu 1400
ip tcp adjust-mss 1360
ip nhrp authentication DMVPN_SECRET
ip nhrp map 10.255.255.1 198.51.100.1
ip nhrp map multicast 198.51.100.1
ip nhrp network-id 10001
ip nhrp nhs 10.255.255.1
# Включение Phase 3 Shortcut:
ip nhrp shortcut
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
tunnel key 10001
tunnel protection ipsec profile DMVPN_IPSEC_PROFILE4. Команды отладки и проверки состояния
# Проверка таблицы кэша сопоставления NHRP (ищите флаги 'S' - Static, 'D' - Dynamic, 'T' - Tunnel shortcut):
show ip nhrp
show ip nhrp brief
# Проверка открытых IPsec сессий:
show crypto session detail
# Трассировка пакетов согласования NHRP:
debug nhrp
debug nhrp packet Частые вопросы (FAQ)
В чем главное преимущество DMVPN Phase 3 над Phase 2?
В Phase 2 каждый Spoke должен хранить полную таблицу маршрутизации от всех филиалов, что ограничивает масштабируемость. В Phase 3 Spoke хранит только суммарный маршрут по умолчанию от Hub, а детализированные маршруты подставляются механизмом NHRP Shortcut динамически.
Почему Spoke-to-Spoke туннель не может установиться за NAT?
Если оба Spoke находятся за NAT разных провайдеров, прямой обмен пакетами невозможен без проброса портов или специальных механизмов обхода NAT, таких как NHRP Extensions и NAT-Traversal (UDP 4500).
Зачем отключать 'ip redirects' на интерфейсе туннеля?
Команда no ip redirects предотвращает отправку стандартных ICMP Redirect сообщений операционной системы, заставляя маршрутизатор использовать проприетарные механизмы ip nhrp redirect.
Какой протокол динамической маршрутизации лучше всего подходит для DMVPN Phase 3?
BGP (с функционалом Dynamic Neighbors на Hub) или EIGRP (с отключенным split-horizon и summary-address). OSPF в Phase 3 работает плохо из-за жестких требований к топологии зон (Area) и DR/BDR.