воскресенье, 22 июня 2014 г.

DMVPN HUB1(DualISP) SPOKE1(DualISP) SPOKE2(SingleISP)




Дано:
Блок одной из классических схем организации DMVPN типа HUB-and-SPOKE,
R20 -- HUB с двумя провайдерами
R21 и R22 -- SPOKE маршрутизаторы с двумя и одним провайдерами соответственно
Все линки на провайдеров даны типа default-gateway
R2...R11 -- имитируют интернет, типа OSPF area 0 процесс 77

Задача:
Построить DMVPN, типа mGRE с шифрацией трафика типа IPSec.
Динамической маршрутизацией типа EIGRP.
Свободный обмен данными между хостами xp_http_ftp_cisco, xp_http_ftp_cisco1, xp_http_ftp_cisco2 (здесь проверен icmp, http и ftp трафик)





Решение:

Использованное оборудование и IOS

R1, R3, R4 первоначально были развернуты как CISCO 7200 серия ( позднее заменена на 7600 серию ).
Использованный IOS Version 12.4(11)T1 и не ниже, поскольку команда типа route-via была введена только в этой версии.
http://www.cisco.com/c/en/us/td/docs/ios/12_4t/12_4t11/ht_trsel.html
Вначале этой версии хватило для их текущего положения, а потом случился нежданчик и пришлось перетащить железки на фронт инфраструктуры в качестве подмены, вот тут и пришёл белЁк с рыжей лисицей.
В этой версии не нашлось команды crypto ipsec и isakmp. Пришлось в срочном порядке искать нужный релиз IOS.
В результате 15.1(4)M2 подошёл под все нужды.

Аналогами 7200/7600 могут быть устройства серии ISR 1800/2800
(сам не поднимал, но коллеги делали, впрочем, IOS -- он и в аФрике IOS)

Мощность железки определяем исходя из проектируемого трафика, с запасом разумеется, насколько бюджет даёт.
А IOS исходя их проектных потребностей. Ничего сложного, если есть хорошее тех задание.


1) Задаём IP адреса на интерфейсы

R20(config)#int fa 1/1
R20(config-if)#ip add 100.0.1.2 255.255.255.0
R20(config-if)#no sh

R20(config)#int fa 1/0
R20(config-if)#ip add 100.0.2.2 255.255.255.0
R20(config-if)#no sh

R20(config)#int fa 2/0
R20(config-if)#ip add 10.0.4.1 255.255.255.0
R20(config-if)#no sh
R20(config-if)#exit

-------

R21(config)#int f1/0
R21(config-if)#ip add 200.1.2.2 255.255.255.0
R21(config-if)#no sh

R21(config)#int fa 1/1
R21(config-if)#ip add 200.1.1.2 255.255.255.0
R21(config-if)#no sh
R21(config-if)#exit

R21(config)#int fa 2/0
R21(config-if)#ip add 10.0.2.1 255.255.255.0
R21(config-if)#no sh
R21(config-if)#exit

-------

R22(config)#int fa 1/0
R22(config-if)#ip add 200.2.1.2 255.255.255.0
R22(config-if)#no sh
R22(config-if)#exit

R22(config)#int fa 1/1
R22(config-if)#ip add 10.0.3.1 255.255.255.0
R22(config-if)#no sh
R22(config-if)#exit

--------------------------------------------------------------


2) Прописываем равновесную маршрутизацию

R20(config)#ip route 0.0.0.0 0.0.0.0 100.0.1.1
R20(config)#ip route 0.0.0.0 0.0.0.0 100.0.2.1

R20(config)#do sh ip ro

Gateway of last resort is 100.0.2.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 100.0.2.1
                [1/0] via 100.0.1.1
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.0.4.0/24 is directly connected, FastEthernet2/0
L        10.0.4.1/32 is directly connected, FastEthernet2/0
      100.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C        100.0.1.0/24 is directly connected, FastEthernet1/1
L        100.0.1.2/32 is directly connected, FastEthernet1/1
C        100.0.2.0/24 is directly connected, FastEthernet1/0
L        100.0.2.2/32 is directly connected, FastEthernet1/0

              
-------

R21(config)#ip route 0.0.0.0 0.0.0.0 200.1.2.1
R21(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.1

R21(config)#do sh ip ro
Gateway of last resort is 200.1.2.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 200.1.2.1
                [1/0] via 200.1.1.1
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.0.2.0/24 is directly connected, FastEthernet2/0
L        10.0.2.1/32 is directly connected, FastEthernet2/0
      200.1.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        200.1.1.0/24 is directly connected, FastEthernet1/1
L        200.1.1.2/32 is directly connected, FastEthernet1/1
      200.1.2.0/24 is variably subnetted, 2 subnets, 2 masks
C        200.1.2.0/24 is directly connected, FastEthernet1/0
L        200.1.2.2/32 is directly connected, FastEthernet1/0

-------

R22(config)#ip route 0.0.0.0 0.0.0.0 200.2.1.1

R22(config)#do sh ip ro
Gateway of last resort is 200.2.1.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 200.2.1.1
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.0.3.0/24 is directly connected, FastEthernet1/1
L        10.0.3.1/32 is directly connected, FastEthernet1/1
      200.2.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        200.2.1.0/24 is directly connected, FastEthernet1/0
L        200.2.1.2/32 is directly connected, FastEthernet1/0

--------------------------------------------------------------
 
3) Настраиваем mGRE

 
Разворачивать сеть mGRE интерфейсов будем на 192.168.101.0/24 и 192.168.102.0/24 подсетях, на облаке 1 и 2 соответственно

R20(config)#int Tunnel 1
R20(config-if)#ip add 192.168.101.1 255.255.255.0

R20(config-if)#ip mtu 1400
R20(config-if)#ip nhrp map multicast dynamic
R20(config-if)#ip nhrp network-id 1
R20(config-if)#ip tcp adjust-mss 1360

R20(config-if)#tunnel source fa1/1
R20(config-if)#tunnel mode gre multipoint
R20(config-if)#tunnel key 1
R20(config-if)#tunnel route-via fa 1/1 mandatory
R20(config-if)#tunnel path-mtu-discovery

R20(config)#interface Tunnel 2
R20(config-if)#ip add 192.168.102.1 255.255.255.0

R20(config-if)#ip mtu 1400
R20(config-if)#ip nhrp map multicast dynamic
R20(config-if)#ip nhrp network-id 2
R20(config-if)#ip tcp adjust-mss 1360

R20(config-if)#tunnel source fa 1/0
R20(config-if)#tunnel mode gre multipoint
R20(config-if)#tunnel key 2
R20(config-if)#tunnel route-via Fa 1/0 mandatory
R20(config-if)#tunnel path-mtu-discovery

-------

R21(config)#int Tunnel1
R21(config-if)#ip add 192.168.101.101 255.255.255.0

R21(config-if)#ip mtu 1400
R21(config-if)#ip nhrp map 192.168.101.1 100.0.1.2
R21(config-if)#ip nhrp map multicast 100.0.1.2
R21(config-if)#ip nhrp network-id 1
R21(config-if)#ip nhrp nhs 192.168.101.1
R21(config-if)#ip tcp adjust-mss 1360

R21(config-if)#tunnel source fa1/1
R21(config-if)#tunnel mode gre multipoint
R21(config-if)#tunnel key 1
R21(config-if)#tunnel route-via fa 1/1 mandatory
R21(config-if)#tunnel path-mtu-discovery


R21(config)#interface Tunnel2
R21(config-if)#ip add 192.168.102.101 255.255.255.0

R21(config-if)#ip mtu 1400
R21(config-if)#ip nhrp map 192.168.102.1 100.0.2.2
R21(config-if)#ip nhrp map multicast 100.0.2.2
R21(config-if)#ip nhrp network-id 2
R21(config-if)#ip nhrp nhs 192.168.102.1
R21(config-if)#ip tcp adjust-mss 1360

R21(config-if)#tunnel source fa1/0
R21(config-if)#tunnel mode gre multipoint
R21(config-if)#tunnel key 2
R21(config-if)#tunnel route-via fa1/0 mandatory
R21(config-if)#tunnel path-mtu-discovery

-------

R22(config)#int Tunnel 1
R22(config-if)#ip add 192.168.101.102 255.255.255.0

R22(config-if)#ip mtu 1400
R22(config-if)#ip nhrp map 192.168.101.1 100.0.1.2
R22(config-if)#ip nhrp map multicast 100.0.1.2
R22(config-if)#ip nhrp network-id 1
R22(config-if)#ip nhrp nhs 192.168.101.1
R22(config-if)#ip tcp adjust-mss 1360

R22(config-if)#tunnel source fa 1/0
R22(config-if)#tunnel mode gre multipoint
R22(config-if)#tunnel key 1
R22(config-if)#tunnel route-via fa 1/0 mandatory
R22(config-if)#tunnel path-mtu-discovery

R22(config)#int Tunnel2
R22(config-if)#ip add 192.168.102.102 255.255.255.0

R22(config-if)#ip mtu 1400
R22(config-if)#ip nhrp map 192.168.102.1 100.0.2.2
R22(config-if)#ip nhrp map multicast 100.0.2.2
R22(config-if)#ip nhrp nhs 192.168.102.1
R22(config-if)#ip nhrp network-id 2
R22(config-if)#ip tcp adjust-mss 1360
R22(config-if)#
R22(config-if)#tunnel source fa 1/0
R22(config-if)#tunnel mode gre multipoint
R22(config-if)#tunnel key 2
R22(config-if)#tunnel route-via fa 1/0 mandatory
R22(config-if)#tunnel path-mtu-discovery

--------------------------------------------------------------


4) Настраиваем маршрутизацию EIGRP 77 на виртуальных подсетях 

192.168.101.0/24 и 192.168.102.0/24
R*(config)#int Tunnel 1
R*(config-if)#no ip next-hop-self eigrp 77
R*(config-if)#no ip split-horizon eigrp 77
R*(config-if)#exit

R*(config)#int tunnel 2
R*(config-if)#no ip next-hop-self eigrp 77
R*(config-if)#no ip split-horizon eigrp 77
R*(config-if)#exit   

R*(config)#router eigrp 77
R*(config-router)#no auto-summary
R*(config-router)#network 10.0.0.0
R*(config-router)#network 192.168.0.0 0.0.255.255

Можно(и нужно) ещё использовать stub зоны

R*(config-router)#eigrp stub connected summary

--------------------------------------------------------------

5) Настраиваем IPSec

Поскольку присутствует два логических облака, на каждое облако делать свой полный профиль ipsec
за исключением isakmp policy ( подробнее смотри мат часть по метке IPSec )

И вот тут при использовании IOS Version 12.4(11)T1 вас застигает нежданчик :)
R20(config)#crypto ?
  ca      Certification authority
  engine  Enter a crypto engine configurable menu
  key     Long term key operations
  pki     Public Key components
R20(config)#
Обновляемся до 15.1(4)M2, делаем морду кирпичом и продолжаем настройку.

Создаём две ключницы -- по одной на каждое облако и строго определяем интерфейс использования

R20(config)#crypto keyring DMVPN-CLOUD1
R20(conf-keyring)#local-address fa 1/1
R20(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123

R20(config)#crypto keyring DMVPN-CLOUD2
R20(conf-keyring)#local-address fa 1/0
R20(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key cisco321

Создаём политику служебного туннеля ( можно создать и два, если это требует регламент безопасности )

R20(config)#crypto isakmp policy 10
R20(config-isakmp)#encryption 3des
R20(config-isakmp)#authentication pre-share
R20(config-isakmp)#group 2

Создаём профиль isakmp для создания служебного тоннеля, по одному на каждое облако

R20(config)#crypto isakmp profile DMVPN-CLOUD1
% A profile is deemed incomplete until it has match identity statements
R20(conf-isa-prof)#keyring DMVPN-CLOUD1
R20(conf-isa-prof)#match identity address 0.0.0.0
R20(conf-isa-prof)#local-address fa 1/1

R20(config)#crypto isakmp profile DMVPN-CLOUD2
% A profile is deemed incomplete until it has match identity statements
R20(conf-isa-prof)#keyring DMVPN-CLOUD2
R20(conf-isa-prof)#match identity address 0.0.0.0
R20(conf-isa-prof)#local-address fa 1/0

Задаём трансформу-шифрование основного туннеля

R20(config)#crypto ipsec transform-set ESP-DES-MD5-HMAC esp-des esp-md5-hmac

Создаём профили ipsec на каждое облако
R20(config)#crypto ipsec profile DMVPN-CLOUD1
R20(ipsec-profile)#set transform-set ESP-DES-MD5-HMAC
R20(ipsec-profile)#set isakmp-profile DMVPN-CLOUD1

R20(config)#crypto ipsec profile DMVPN-CLOUD2
R20(ipsec-profile)#set transform-set ESP-DES-MD5-HMAC
R20(ipsec-profile)#set isakmp-profile DMVPN-CLOUD2

И променяем профили к тоннелям

R20(config)#int Tunnel 1
R20(config-if)#tunnel protection ipsec profile DMVPN-CLOUD1

R20(config)#interface Tunnel 2
R20(config-if)#tunnel protection ipsec profile DMVPN-CLOUD2

-------

R21(config)#crypto keyring DMVPN-CLOUD1
R21(conf-keyring)#local-address fa 1/1
R21(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123

R21(config)#crypto keyring DMVPN-CLOUD2
R21(conf-keyring)#local-address fa 1/0
R21(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key cisco321

R21(config)#crypto isakmp policy 10
R21(config-isakmp)#encryption 3des
R21(config-isakmp)#authentication pre-share
R21(config-isakmp)#group 2


R21(config)#crypto isakmp profile DMVPN-CLOUD1
% A profile is deemed incomplete until it has match identity statements
R21(conf-isa-prof)#keyring DMVPN-CLOUD1
R21(conf-isa-prof)#match identity address 0.0.0.0
R21(conf-isa-prof)#local-address fa 1/1

R21(config)#crypto isakmp profile DMVPN-CLOUD2
% A profile is deemed incomplete until it has match identity statements
R21(conf-isa-prof)#keyring DMVPN-CLOUD2
R21(conf-isa-prof)#match identity address 0.0.0.0
R21(conf-isa-prof)#local-address fa 1/0

R21(config)# crypto ipsec transform-set ESP-DES-MD5-HMAC esp-des esp-md5-hmac

R21(config)#crypto ipsec profile DMVPN-CLOUD1
R21(ipsec-profile)#set transform-set ESP-DES-MD5-HMAC
R21(ipsec-profile)#set isakmp-profile DMVPN-CLOUD1

R21(config)#crypto ipsec profile DMVPN-CLOUD2
R21(ipsec-profile)#set transform-set ESP-DES-MD5-HMAC
R21(ipsec-profile)#set isakmp-profile DMVPN-CLOUD2

R21(config)#int Tunnel 1
R21(config-if)#tunnel protection ipsec profile DMVPN-CLOUD1

R21(config)#interface Tunnel 2
R21(config-if)#tunnel protection ipsec profile DMVPN-CLOUD2

-------

на R22 для настроек указываем один и тот же интерфейс

R22(config)#crypto keyring DMVPN-CLOUD1
R22(conf-keyring)#local-address fa 1/0
R22(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123

R22(config)#crypto keyring DMVPN-CLOUD2
R22(conf-keyring)#local-address fa 1/0
R22(conf-keyring)#pre-shared-key address 0.0.0.0 0.0.0.0 key cisco321

R22(config)#crypto isakmp policy 10
R22(config-isakmp)#authentication pre-share
R22(config-isakmp)#encryption 3des
R22(config-isakmp)#group 2
R22(config-isakmp)#exit

R22(config)#crypto isakmp profile DMVPN-CLOUD1
% A profile is deemed incomplete until it has match identity statements
R22(conf-isa-prof)#keyring DMVPN-CLOUD1
R22(conf-isa-prof)#match identity address 0.0.0.0
R22(conf-isa-prof)#local-address fa 1/0

R22(config)#crypto isakmp profile DMVPN-CLOUD2
% A profile is deemed incomplete until it has match identity statements
R22(conf-isa-prof)#keyring DMVPN-CLOUD2
R22(conf-isa-prof)#match identity address 0.0.0.0
R22(conf-isa-prof)#local-address fa 1/0
R22(conf-isa-prof)#exit

R22(config)#crypto ipsec transform-set ESP-DES-MD5-HMAC esp-des esp-md5-hmac

R22(config)#crypto ipsec profile DMVPN-CLOUD1
R22(ipsec-profile)#set transform-set ESP-DES-MD5-HMAC
R22(ipsec-profile)#set isakmp-profile DMVPN-CLOUD1

R22(config)#crypto ipsec profile DMVPN-CLOUD2
R22(ipsec-profile)#set transform-set ESP-DES-MD5-HMAC
R22(ipsec-profile)#set isakmp-profile DMVPN-CLOUD2

R22(config)#int tun 1
R22(config-if)#tunnel protection ipsec profile DMVPN-CLOUD1

R22(config)#int Tun 2
R22(config-if)#tunnel protection ipsec profile DMVPN-CLOUD2

--------------------------------------------------------------

6) Разборки за сценой, или процент выживших


В логе теперь постоянно плавает сообщение:
 %CRYPTO-4-RECVD_PKT_MAC_ERR: decrypt: mac verify failed for connection бла-бла-бла

Технически -- это означает, что пришедшая часть пакетов из туннеля не может пройти встроенную проверку и считается битыми, кто бы там что ни говорил.
Подтверждение вот http://www.cisco.com/c/en/us/support/docs/security-vpn/ipsec-negotiation-ike-protocols/116085-troubleshooting-pingloss-00.html

Решаться может разными способами:
а) Например сменой шифрования основного тоннеля, иногда помогает иногда нет
зависит от версии IOS и самой железяки (можно даже свалить на кривую релизацию механизма в текущей версии IOS)
Реализация: перейти с des на aes

R20(config)#crypto ipsec transform-set ESP-DES-MD5-HMAC esp-aes esp-md5-hmac
....
R22(config)#crypto ipsec transform-set ESP-DES-MD5-HMAC esp-aes esp-md5-hmac

либо сама cisco советует вот так

Router (config)# crypto ipsec transform transform-1 esp-aes 256 esp-md5-hmac

б) Оставить сообщение в логе, но убедиться что сам тоннель работает с приемлемым процентом потерь ( не больше 5% )
R22#show crypto ipsec sa detail

interface: Tunnel1
    Crypto map tag: Tunnel1-head-0, local addr 200.2.1.2

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (200.2.1.2/255.255.255.255/47/0)
   remote ident (addr/mask/prot/port): (100.0.1.2/255.255.255.255/47/0)
   current_peer 100.0.1.2 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 728, #pkts encrypt: 728, #pkts digest: 728
    #pkts decaps: 700, #pkts decrypt: 700, #pkts verify: 700
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #pkts no sa (send) 283, #pkts invalid sa (rcv) 0
    #pkts encaps failed (send) 0, #pkts decaps failed (rcv) 0
    #pkts invalid prot (recv) 0, #pkts verify failed: 34


Если смена шифрования не исправит положения, рекомендую оставить сообщение в логе,
дабы проверять периодически и вести статистику -- как там дела с потерями.

в) убрать сообщения
тут сразу возникает вопрос чем вы пользуетесь для управления
Справочка по уровням такая
        0   Emergencies   Система не работоспособна
        1   Alerts        Необходимо срочное вмешательство
        2   Critical      Критические события
        3   Errors        Сообщения о ошибках
        4   Warning       Всевозможные предупреждения
        5   Notifications Различные важные уведомления
        6   Informational Информационные сообшения
        7   Debugging     Отладочые сообщения
--------------------------------------------------------------

Если реально мешает в консоли настраивать убирается так:
R20(config)#logging console 3
на 4 уже будет писать этот warning

Потом в централизованно собранных логах, нужно отстраивать игнорирование этого собщения с выводом его в "топ", чтобы не забывать. Или дописать соответствующий модуль.


--------------------------------------------------------------
 
7) И, наконец, отчётные логи

R20#sh run
Building configuration...

Current configuration : 3031 bytes
!
version 15.1
!
crypto keyring DMVPN-CLOUD1
  local-address FastEthernet1/1
  pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123
crypto keyring DMVPN-CLOUD2
  local-address FastEthernet1/0
  pre-shared-key address 0.0.0.0 0.0.0.0 key cisco321
!
crypto isakmp policy 10
 encr 3des
 authentication pre-share
 group 2
crypto isakmp profile DMVPN-CLOUD1
   keyring DMVPN-CLOUD1
   match identity address 0.0.0.0
   local-address FastEthernet1/1
crypto isakmp profile DMVPN-CLOUD2
   keyring DMVPN-CLOUD2
   match identity address 0.0.0.0
   local-address FastEthernet1/0
!
!
crypto ipsec transform-set ESP-DES-MD5-HMAC esp-aes esp-md5-hmac
!
crypto ipsec profile DMVPN-CLOUD1
 set transform-set ESP-DES-MD5-HMAC
 set isakmp-profile DMVPN-CLOUD1
!
crypto ipsec profile DMVPN-CLOUD2
 set transform-set ESP-DES-MD5-HMAC
 set isakmp-profile DMVPN-CLOUD2
!
interface Tunnel1
 ip address 192.168.101.1 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 77
 ip nhrp map multicast dynamic
 ip nhrp network-id 1
 ip tcp adjust-mss 1360
 no ip split-horizon eigrp 77
 tunnel source FastEthernet1/1
 tunnel mode gre multipoint
 tunnel key 1
 tunnel route-via FastEthernet1/1 mandatory
 tunnel path-mtu-discovery
 tunnel protection ipsec profile DMVPN-CLOUD1
!
interface Tunnel2
 ip address 192.168.102.1 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 77
 ip nhrp map multicast dynamic
 ip nhrp network-id 2
 ip tcp adjust-mss 1360
 no ip split-horizon eigrp 77
 tunnel source FastEthernet1/0
 tunnel mode gre multipoint
 tunnel key 2
 tunnel route-via FastEthernet1/0 mandatory
 tunnel path-mtu-discovery
 tunnel protection ipsec profile DMVPN-CLOUD2
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex half
!
interface FastEthernet1/0
 ip address 100.0.2.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet1/1
 ip address 100.0.1.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet2/0
 ip address 10.0.4.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet2/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
!
router eigrp 77
 network 10.0.0.0
 network 192.168.0.0 0.0.255.255
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip route 0.0.0.0 0.0.0.0 100.0.1.1
ip route 0.0.0.0 0.0.0.0 100.0.2.1

-------

R21#sh run

version 15.1
!
crypto keyring DMVPN-CLOUD1
  local-address FastEthernet1/1
  pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123
crypto keyring DMVPN-CLOUD2
  local-address FastEthernet1/0
  pre-shared-key address 0.0.0.0 0.0.0.0 key cisco321
!
crypto isakmp policy 10
 encr 3des
 authentication pre-share
 group 2
crypto isakmp profile DMVPN-CLOUD1
   keyring DMVPN-CLOUD1
   match identity address 0.0.0.0
   local-address FastEthernet1/1
crypto isakmp profile DMVPN-CLOUD2
   keyring DMVPN-CLOUD2
   match identity address 0.0.0.0
   local-address FastEthernet1/0
!
!
crypto ipsec transform-set ESP-DES-MD5-HMAC esp-aes esp-md5-hmac
!
crypto ipsec profile DMVPN-CLOUD1
 set transform-set ESP-DES-MD5-HMAC
 set isakmp-profile DMVPN-CLOUD1
!
crypto ipsec profile DMVPN-CLOUD2
 set transform-set ESP-DES-MD5-HMAC
 set isakmp-profile DMVPN-CLOUD2
!
interface Tunnel1
 ip address 192.168.101.101 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 77
 ip nhrp map 192.168.101.1 100.0.1.2
 ip nhrp map multicast 100.0.1.2
 ip nhrp network-id 1
 ip nhrp nhs 192.168.101.1
 ip tcp adjust-mss 1360
 no ip split-horizon eigrp 77
 tunnel source FastEthernet1/1
 tunnel mode gre multipoint
 tunnel key 1
 tunnel route-via FastEthernet1/1 mandatory
 tunnel path-mtu-discovery
 tunnel protection ipsec profile DMVPN-CLOUD1
!
interface Tunnel2
 ip address 192.168.102.101 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 77
 ip nhrp map 192.168.102.1 100.0.2.2
 ip nhrp map multicast 100.0.2.2
 ip nhrp network-id 2
 ip nhrp nhs 192.168.102.1
 ip tcp adjust-mss 1360
 no ip split-horizon eigrp 77
 tunnel source FastEthernet1/0
 tunnel mode gre multipoint
 tunnel key 2
 tunnel route-via FastEthernet1/0 mandatory
 tunnel path-mtu-discovery
 tunnel protection ipsec profile DMVPN-CLOUD2
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex half
!
interface FastEthernet1/0
 ip address 200.1.2.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet1/1
 ip address 200.1.1.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet2/0
 ip address 10.0.2.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet2/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
!
router eigrp 77
 network 10.0.0.0
 network 192.168.0.0 0.0.255.255
 eigrp stub connected summary
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip route 0.0.0.0 0.0.0.0 200.1.2.1
ip route 0.0.0.0 0.0.0.0 200.1.1.1
!

-------
 

R22#sh run

version 15.1
!
crypto keyring DMVPN-CLOUD2
  local-address FastEthernet1/0
  pre-shared-key address 0.0.0.0 0.0.0.0 key cisco321
crypto keyring DMVPN-CLOUD1
  local-address FastEthernet1/0
  pre-shared-key address 0.0.0.0 0.0.0.0 key cisco123
!
crypto isakmp policy 10
 encr 3des
 authentication pre-share
 group 2
crypto isakmp profile DMVPN-CLOUD1
   keyring DMVPN-CLOUD1
   match identity address 0.0.0.0
   local-address FastEthernet1/0
crypto isakmp profile DMVPN-CLOUD2
   keyring DMVPN-CLOUD2
   match identity address 0.0.0.0
   local-address FastEthernet1/0
!
!
crypto ipsec transform-set ESP-DES-MD5-HMAC esp-aes esp-md5-hmac
!
crypto ipsec profile DMVPN-CLOUD1
 set transform-set ESP-DES-MD5-HMAC
 set isakmp-profile DMVPN-CLOUD1
!
crypto ipsec profile DMVPN-CLOUD2
 set transform-set ESP-DES-MD5-HMAC
 set isakmp-profile DMVPN-CLOUD2
!
interface Tunnel1
 ip address 192.168.101.102 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 77
 ip nhrp map 192.168.101.1 100.0.1.2
 ip nhrp map multicast 100.0.1.2
 ip nhrp network-id 1
 ip nhrp nhs 192.168.101.1
 ip tcp adjust-mss 1360
 no ip split-horizon eigrp 77
 tunnel source FastEthernet1/0
 tunnel mode gre multipoint
 tunnel key 1
 tunnel route-via FastEthernet1/0 mandatory
 tunnel path-mtu-discovery
 tunnel protection ipsec profile DMVPN-CLOUD1
!
interface Tunnel2
 ip address 192.168.102.102 255.255.255.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 77
 ip nhrp map 192.168.102.1 100.0.2.2
 ip nhrp map multicast 100.0.2.2
 ip nhrp network-id 2
 ip nhrp nhs 192.168.102.1
 ip tcp adjust-mss 1360
 no ip split-horizon eigrp 77
 tunnel source FastEthernet1/0
 tunnel mode gre multipoint
 tunnel key 2
 tunnel route-via FastEthernet1/0 mandatory
 tunnel path-mtu-discovery
 tunnel protection ipsec profile DMVPN-CLOUD2
!
interface FastEthernet0/0
 no ip address
 shutdown
 duplex half
!
interface FastEthernet1/0
 ip address 200.2.1.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet1/1
 ip address 10.0.3.1 255.255.255.0
 duplex auto
 speed auto
!
!
router eigrp 77
 network 10.0.0.0
 network 192.168.0.0 0.0.255.255
 eigrp stub connected summary
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip route 0.0.0.0 0.0.0.0 200.2.1.1
!


И роутинги

R20#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is 100.0.2.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 100.0.2.1
                [1/0] via 100.0.1.1
      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
D        10.0.2.0/24 [90/26882560] via 192.168.102.101, 00:32:46, Tunnel2
                     [90/26882560] via 192.168.101.101, 00:32:46, Tunnel1
D        10.0.3.0/24 [90/26882560] via 192.168.102.102, 00:32:43, Tunnel2
                     [90/26882560] via 192.168.101.102, 00:32:43, Tunnel1
C        10.0.4.0/24 is directly connected, FastEthernet2/0
L        10.0.4.1/32 is directly connected, FastEthernet2/0
      100.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C        100.0.1.0/24 is directly connected, FastEthernet1/1
L        100.0.1.2/32 is directly connected, FastEthernet1/1
C        100.0.2.0/24 is directly connected, FastEthernet1/0
L        100.0.2.2/32 is directly connected, FastEthernet1/0
      192.168.101.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.101.0/24 is directly connected, Tunnel1
L        192.168.101.1/32 is directly connected, Tunnel1
      192.168.102.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.102.0/24 is directly connected, Tunnel2
L        192.168.102.1/32 is directly connected, Tunnel2


R21#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is 200.1.2.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 200.1.2.1
                [1/0] via 200.1.1.1
      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C        10.0.2.0/24 is directly connected, FastEthernet2/0
L        10.0.2.1/32 is directly connected, FastEthernet2/0
D        10.0.3.0/24 [90/28162560] via 192.168.102.1, 00:33:15, Tunnel2
                     [90/28162560] via 192.168.101.102, 00:33:15, Tunnel1
D        10.0.4.0/24 [90/26882560] via 192.168.102.1, 00:33:18, Tunnel2
                     [90/26882560] via 192.168.101.1, 00:33:18, Tunnel1
      192.168.101.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.101.0/24 is directly connected, Tunnel1
L        192.168.101.101/32 is directly connected, Tunnel1
      192.168.102.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.102.0/24 is directly connected, Tunnel2
L        192.168.102.101/32 is directly connected, Tunnel2
      200.1.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        200.1.1.0/24 is directly connected, FastEthernet1/1
L        200.1.1.2/32 is directly connected, FastEthernet1/1
      200.1.2.0/24 is variably subnetted, 2 subnets, 2 masks
C        200.1.2.0/24 is directly connected, FastEthernet1/0
L        200.1.2.2/32 is directly connected, FastEthernet1/0


R22#sh ip ro
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is 200.2.1.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 200.2.1.1
      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
D        10.0.2.0/24 [90/28162560] via 192.168.102.1, 00:33:32, Tunnel2
                     [90/28162560] via 192.168.101.101, 00:33:32, Tunnel1
C        10.0.3.0/24 is directly connected, FastEthernet1/1
L        10.0.3.1/32 is directly connected, FastEthernet1/1
D        10.0.4.0/24 [90/26882560] via 192.168.102.1, 00:33:32, Tunnel2
                     [90/26882560] via 192.168.101.1, 00:33:32, Tunnel1
      192.168.101.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.101.0/24 is directly connected, Tunnel1
L        192.168.101.102/32 is directly connected, Tunnel1
      192.168.102.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.102.0/24 is directly connected, Tunnel2
L        192.168.102.102/32 is directly connected, Tunnel2
      200.2.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        200.2.1.0/24 is directly connected, FastEthernet1/0
L        200.2.1.2/32 is directly connected, FastEthernet1/0


P.S. Скорее всего вы словите ещё один бажик косячной настройки с up-down EIGRP neighbor :) 

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




Комментариев нет:

Отправить комментарий