DMVPN со спицами за NAT

Я развертываю DMVPN. Основная сложность заключается в том, что некоторые лучи находятся за NAT и не могут передавать трафик напрямую друг другу, поэтому требуется передавать его через концентратор. Тем не менее, это не работает, как ожидалось. Трафик по-прежнему отправляется непосредственно на другие спицы.

Топология - одно облако, двойной концентратор. В тестовой лаборатории (GNS3) у меня есть четыре спицы: два из них имеют "прямой" доступ к лучу (без преобразования адреса), а два других находятся за другим маршрутизатором с NAT, у каждого луча есть свой (так что нет двух спиц, которые работают одиночный нат).

Динамическая маршрутизация выполняется с EIGRP, потому что Cisco явно рекомендует это в более поздних документах, связанных с DMVPN, и говорит, что OSPF не проходит чрезмерное тестирование. Однако я не уверен и мог бы использовать OSPF, если он может работать лучше.

(некоторые хосты показаны ниже на рисунке, эта картинка сделана после того, как я выполнил все описанные тесты и анализ)

Соответствующие конфиги: hub1:

!
interface Tunnel0
 bandwidth 1000000
 ip address 10.100.255.253 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 65000
 no ip split-horizon eigrp 65000
 ip nhrp map multicast dynamic
 ip nhrp network-id 65000
 ip nhrp holdtime 300
 ip nhrp redirect
 tunnel source Ethernet0/0
 tunnel mode gre multipoint
!
interface Ethernet0/0
 description internet.e0/0
 ip address 172.31.0.2 255.255.255.0
!
interface Ethernet0/3
 description service.e0/0
 ip address 10.100.200.253 255.255.255.240
 standby 1 ip 10.100.200.252
 standby 1 priority 110
 standby 1 preempt delay reload 60
 standby 1 name HSRP
!
router eigrp 65000
 network 10.100.200.176 0.0.0.15
 network 10.100.255.0 0.0.0.255
!
ip route 0.0.0.0 0.0.0.0 172.31.0.1
!

Hub2:

!
interface Tunnel0
 bandwidth 800000
 ip address 10.100.255.254 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 65000
 no ip split-horizon eigrp 65000
 ip nhrp map multicast dynamic
 ip nhrp map multicast 172.31.0.2
 ip nhrp map 10.100.255.253 172.31.0.2
 ip nhrp network-id 65000
 ip nhrp holdtime 300
 ip nhrp nhs 10.100.255.253
 ip nhrp shortcut
 ip nhrp redirect
 tunnel source Ethernet0/0
 tunnel mode gre multipoint
!
interface Ethernet0/0
 description internet.e0/1
 ip address 172.31.0.3 255.255.255.0
!
interface Ethernet0/3
 description service.e0/1
 ip address 10.100.200.254 255.255.255.240
 standby 1 ip 10.100.200.252
 standby 1 preempt delay reload 60
 standby 1 name HSRP
!
router eigrp 65000
 network 10.100.200.240 0.0.0.15
 network 10.100.255.0 0.0.0.255
!
ip route 0.0.0.0 0.0.0.0 172.31.0.1
!

spok1 (прямой интернет):

!
interface Loopback0
 ip address 10.100.200.5 255.255.255.252
!
interface Tunnel0
 bandwidth 100000
 ip address 10.100.255.1 255.255.255.0
 no ip redirects
 ip mtu 1400
 ip nhrp map 10.100.255.253 172.31.0.2
 ip nhrp map 10.100.255.254 172.31.0.3
 ip nhrp map multicast 172.31.0.2
 ip nhrp map multicast 172.31.0.3
 ip nhrp network-id 65000
 ip nhrp holdtime 300
 ip nhrp nhs 10.100.255.253
 ip nhrp nhs 10.100.255.254
 ip nhrp shortcut
 tunnel source Ethernet0/0
 tunnel mode gre multipoint
!
interface Ethernet0/0
 description internet.e1/0
 ip address 172.31.1.2 255.255.255.0
!
router eigrp 65000
 network 10.100.200.4 0.0.0.3
 network 10.100.255.0 0.0.0.255
!
ip route 0.0.0.0 0.0.0.0 172.31.1.1
!

Spy2 похож на 1, отличаются только адреса. lo0 имеет 10.100.200.9/30

spok3 (за NAT):

!
interface Loopback0
 ip address 10.100.200.13 255.255.255.252
!
interface Tunnel0
 bandwidth 100000
 ip address 10.100.255.3 255.255.255.0
 no ip redirects
 ip mtu 1400
 ip nhrp map 10.100.255.253 172.31.0.2
 ip nhrp map 10.100.255.254 172.31.0.3
 ip nhrp map multicast 172.31.0.3
 ip nhrp map multicast 172.31.0.2
 ip nhrp network-id 65000
 ip nhrp holdtime 300
 ip nhrp nhs 10.100.255.253
 ip nhrp nhs 10.100.255.254
 ip nhrp shortcut
 tunnel source Ethernet0/0
 tunnel mode gre multipoint
!
interface Ethernet0/0
 description spoke3-gw.e0/3
 ip address 192.168.1.2 255.255.255.0
!
router eigrp 65000
 network 10.100.200.12 0.0.0.3
 network 10.100.255.0 0.0.0.255
!
ip route 0.0.0.0 0.0.0.0 192.168.1.1
!

spok3-gw (тот, который делает NAT для spok3):

!
interface Ethernet0/0
 description internet.e1/2
 ip address 172.31.3.2 255.255.255.0
 ip nat outside
 ip virtual-reassembly in
!
interface Ethernet0/3
 description spoke3.e0/0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly in
!
ip nat inside source list 1 interface Ethernet0/0 overload
ip route 0.0.0.0 0.0.0.0 172.31.3.1
!
access-list 1 permit 192.168.1.0 0.0.0.255
!

Пара spok4 и spok4-gw аналогична, lo0 имеет 10.100.200.17/30. "серые" адреса такие же 192.168.1.0/24. Cisco явно заявляет, что это допустимый случай и должен работать.

Интернет имеет все эти адреса 172.31.{0,1,2,3,4}.1 и просто пересылает пакеты между.2-с и.0.3; Служба - это просто система, которая имеет адрес 10.100.200.241 и по умолчанию 10.100.200.252 (управляемый HSRP).

IPSEC не настроен. Я пытаюсь делать что-то постепенно, это невероятно, пытаться делать все правильно с первого выстрела.

Я провел тесты с такими командами, как "ping 10.100.200.13 источник 10.100.200.17" (от лучей от 3 до 4) и так далее.

Это, кажется, работает. Т.е. указанный пинг работает. Но захват пакетов по ссылке "internet.e1/3 - spok4-gw.e0/0" показал, что у нас по-прежнему есть прямые пакеты от лучей spok3-gw до лучей 4 и наоборот. "show ip nhrp" на spok3 и spok4 показывает именно это (преобразуется в "белый" адрес другого -gw). Проверка NAT "переводы ip nat" на -gw показала, что да, есть перевод GRE с spok3 на spok4-gw на spok3-gw (и аналогичный на spok4-gw). Именно так работает пинг. Мне просто повезло в этой лаборатории, что Cisco делает NAT, который делает это правильно.

В диком мире NAT коробки будут чем угодно. Я не могу требовать использования какого-то конкретного оборудования (это незаконно). Я только могу требовать, чтобы он делал NAT GRE для концентраторов и обратно правильно (что является минимальным для запуска DMVPN).

Если я заблокирую прямой трафик между spok3-gw и spok4-gw (в интернет-системе, установив запрещающие правила доступа с 172.31.4.2 по 172.31.3.2 и наоборот), я ожидаю, что система увидит это и перенаправит все значения между лучами 3 и говорил 4 через концентратор. Тем не менее, это не работает.

sh ip nhrp на spok3 на этот раз показывает, что он не может решить 10.100.200.17:

10.100.200.12/30 via 10.100.255.3
   Tunnel0 created 00:00:39, expire 00:04:33
   Type: dynamic, Flags: router unique local 
   NBMA address: 192.168.1.2 
    (no-socket) 
10.100.200.17/32
   Tunnel0 created 00:00:39, expire 00:02:25
   Type: incomplete, Flags: negative 
   Cache hits: 2
10.100.255.3/32 via 10.100.255.3
   Tunnel0 created 00:01:34, expire 00:04:20
   Type: dynamic, Flags: router unique local 
   NBMA address: 192.168.1.2 
    (no-socket) 
10.100.255.4/32 via 10.100.255.4
   Tunnel0 created 00:00:39, expire 00:04:33
   Type: dynamic, Flags: router implicit used nhop 
   NBMA address: 172.31.4.2 
    (Claimed NBMA address: 192.168.1.2) 
10.100.255.253/32 via 10.100.255.253
   Tunnel0 created 03:24:10, never expire 
   Type: static, Flags: used 
   NBMA address: 172.31.0.2 
10.100.255.254/32 via 10.100.255.254
   Tunnel0 created 03:24:10, never expire 
   Type: static, Flags: used 
   NBMA address: 172.31.0.3 

Почему в этом случае он не направляет пакеты через концентратор? Этот путь все еще открыт.

1 ответ

Разговорный DMVPN считается DMVPN Фаза II. Разговорный проект считается DMVPN Фаза I.

Я предлагаю внести следующие изменения, чтобы изменить ваше поведение на DMVPN Phase I.

HUB1

interface Tunnel0
 ip next-hop-self eigrp 65000
 no ip nhrp redirect

Hub2

interface Tunnel0
 ip next-hop-self eigrp 65000
 no ip nhrp shortcut
 no ip nhrp redirect

Spoke1

interface Tunnel0
 no ip nhrp shortcut

Spoke2

interface Tunnel0
 no ip nhrp shortcut

Spoke3

interface Tunnel0
 no ip nhrp shortcut

Более подробную информацию о конфигурации, а также о проверке поведения можно найти здесь.

Другие вопросы по тегам