Tag: VPN

  • (K) Konfiguracja protokołu IPsec over DMVPN*

    (K) Konfiguracja protokołu IPsec over DMVPN*

    Konfiguracja polisy isakmp

    (config)# [no] crypto isakmp enable

    Wyłącza / Włącza

    (config)# crypto isakmp policy 1-10000(ID)

    Tworzy nową polisę ISAKMP o określonym numerze ID.

    (config-isakmp)# encryption {des / 3des / aes {128 / 192 / 256}}

    Określa wykorzystywany algorytm szyfrujący

    (config-isakmp)# authentication {pre-share / rsa-encr / rsa-sig}

    Określa metodę autentykacji.
    * pre-share
    * rsa-encr
    * rsa-sig

    (config-isakmp)# group {1 / 2 / 5 / 15 / 16 / 19 / 20 / 21 / 24}

    Określa numer grupy DH (Diffie-Hellman).

    (config-isakmp)# hash {md5 / sha / sha256 / sha384 / sha512}

    Określa algorytm haszujący (HASH).

    (config-isakmp)# lifetime 60-86400(sekundy)(86400)

    Określa czas życia połączenia IPsec.

    Konfiguracja kluczy isakmp

    Konfiguracja pojedynczego klucza keyring

    (config)# crypto isakmp key klucz address {adres-IP / 0.0.0.0 0.0.0.0 / nazwa-DNS}

    Określa adres IP bądź nazwę DNS sąsiedniego urządzenia, wraz z wstępnie współdzielonym kluczem (Preshared Keys). Adres 0.0.0.0 0.0.0.0 oznacza że podane hasło będzie przypisane do wszystkich połączeń IPsec.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja wielu kluczy keyring

    (config)# crypto keyring nazwa-keyring

    Tworzy nowy zestaw kluczy KeyRing.

    (conf-keyring)# local-address interfejs*

    Określa źródłowy adres IP (Przypisany do wskazanego interfejsu).

    (conf-keyring)# pre-shared-key address {adres-IP / 0.0.0.0 0.0.0.0} key klucz

    Definicje wstępnie współdzielony klucz.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja transform-set

    (config)# crypto ipsec transform-set nazwa-set {ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-des / esp-aes / esp-sha-hmac / esp-sha256-hmac / esp-sha384-hmac /  esp-sha512-hmac} {ah-md5-hmac / ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-aes / esp-des}

    (config)# mode {transport / tunnel}

    Określa rodzaj połączenia IPsec (Tunnel Mode / Transport Mode).

    Komendy Show, Debug, Clear

    Komendy show running-config

    # show running-config | section crypto isakmp

    Wyświetla konfigurację polisy ISAKMP.

    # show running-config | section crypto isakmp|crypto ipsec|crypto map|ip access-list

    Wyświetla konfiguracje IPsec.

    Komendy show IKE Phase 1

    # show crypto isakmp sa

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla wszystkie aktywne asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto isakmp sa [detail]

    Wyświetla

    # show crypto isakmp profile

    Wyświetla

    # show crypto isakmp policy

    Wyświetla skonfigurowane / domyślne polisy ISAKMP.

    # show crypto isakmp key

    Wyświetla

    # show crypto isakmp default policy

    Wyświetla

    # show crypto isakmp diagnose error count

    Wyświetla

    Komendy show IKE Phase 2

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations).

    # show crypto ipsec sa detail

    Wyświetla

    # show crypto map

    Wyświetla

    Inne komendy show

    # show crypto session [detail]

    Wyświetla wszystkie asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto ipsec security-association lifetime

    Wyświetla

    # show crypto ipsec security-association idle-time

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla

    Komendy debug

    # debug crypto isakmp

    Debaguje

    # debug crypto ipsec

    Debaguje

    Komendy clear

    # clear crypto isakmp

    Czyści

    # clear crypto sa

    Czyści

    Pozostałe tematy związane z protokołem IPSec

  • (K) Konfiguracja protokołu IPsec over GRE*

    (K) Konfiguracja protokołu IPsec over GRE*

    Konfiguracja polisy isakmp

    (config)# [no] crypto isakmp enable

    Wyłącza / Włącza

    (config)# crypto isakmp policy 1-10000(ID)

    Tworzy nową polisę ISAKMP o określonym numerze ID.

    (config-isakmp)# encryption {des / 3des / aes {128 / 192 / 256}}

    Określa wykorzystywany algorytm szyfrujący

    (config-isakmp)# authentication {pre-share / rsa-encr / rsa-sig}

    Określa metodę autentykacji.
    * pre-share
    * rsa-encr
    * rsa-sig

    (config-isakmp)# group {1 / 2 / 5 / 15 / 16 / 19 / 20 / 21 / 24}

    Określa numer grupy DH (Diffie-Hellman).

    (config-isakmp)# hash {md5 / sha / sha256 / sha384 / sha512}

    Określa algorytm haszujący (HASH).

    (config-isakmp)# lifetime 60-86400(sekundy)(86400)

    Określa czas życia połączenia IPsec.

    Konfiguracja kluczy isakmp

    Konfiguracja pojedynczego klucza keyring

    (config)# crypto isakmp key klucz address {adres-IP / 0.0.0.0 0.0.0.0 / nazwa-DNS}

    Określa adres IP bądź nazwę DNS sąsiedniego urządzenia, wraz z wstępnie współdzielonym kluczem (Preshared Keys). Adres 0.0.0.0 0.0.0.0 oznacza że podane hasło będzie przypisane do wszystkich połączeń IPsec.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja wielu kluczy keyring

    (config)# crypto keyring nazwa-keyring

    Tworzy nowy zestaw kluczy KeyRing.

    (conf-keyring)# local-address interfejs*

    Określa źródłowy adres IP (Przypisany do wskazanego interfejsu).

    (conf-keyring)# pre-shared-key address {adres-IP / 0.0.0.0 0.0.0.0} key klucz

    Definicje wstępnie współdzielony klucz.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja transform-set

    (config)# crypto ipsec transform-set nazwa-set {ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-des / esp-aes / esp-sha-hmac / esp-sha256-hmac / esp-sha384-hmac /  esp-sha512-hmac} {ah-md5-hmac / ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-aes / esp-des}

    (config)# mode {transport / tunnel}

    Określa rodzaj połączenia IPsec (Tunnel Mode / Transport Mode).

    Komendy Show, Debug, Clear

    Komendy show running-config

    # show running-config | section crypto isakmp

    Wyświetla konfigurację polisy ISAKMP.

    # show running-config | section crypto isakmp|crypto ipsec|crypto map|ip access-list

    Wyświetla konfiguracje IPsec.

    Komendy show IKE Phase 1

    # show crypto isakmp sa

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla wszystkie aktywne asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto isakmp sa [detail]

    Wyświetla

    # show crypto isakmp profile

    Wyświetla

    # show crypto isakmp policy

    Wyświetla skonfigurowane / domyślne polisy ISAKMP.

    # show crypto isakmp key

    Wyświetla

    # show crypto isakmp default policy

    Wyświetla

    # show crypto isakmp diagnose error count

    Wyświetla

    Komendy show IKE Phase 2

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations).

    # show crypto ipsec sa detail

    Wyświetla

    # show crypto map

    Wyświetla

    Inne komendy show

    # show crypto session [detail]

    Wyświetla wszystkie asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto ipsec security-association lifetime

    Wyświetla

    # show crypto ipsec security-association idle-time

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla

    Komendy debug

    # debug crypto isakmp

    Debaguje

    # debug crypto ipsec

    Debaguje

    Komendy clear

    # clear crypto isakmp

    Czyści

    # clear crypto sa

    Czyści

    Pozostałe tematy związane z protokołem IPSec

  • (K) Konfiguracja protokołu IPsec ISAKMP Profil*

    (K) Konfiguracja protokołu IPsec ISAKMP Profil*

    IPsec Crypto Map + ISAKMP Profil

    Konfiguracja polisy isakmp

    (config)# [no] crypto isakmp enable

    Wyłącza / Włącza

    (config)# crypto isakmp policy 1-10000(ID)

    Tworzy nową polisę ISAKMP o określonym numerze ID.

    (config-isakmp)# encryption {des / 3des / aes {128 / 192 / 256}}

    Określa wykorzystywany algorytm szyfrujący

    (config-isakmp)# authentication {pre-share / rsa-encr / rsa-sig}

    Określa metodę autentykacji.
    * pre-share
    * rsa-encr
    * rsa-sig

    (config-isakmp)# group {1 / 2 / 5 / 15 / 16 / 19 / 20 / 21 / 24}

    Określa numer grupy DH (Diffie-Hellman).

    (config-isakmp)# hash {md5 / sha / sha256 / sha384 / sha512}

    Określa algorytm haszujący (HASH).

    (config-isakmp)# lifetime 60-86400(sekundy)(86400)

    Określa czas życia połączenia IPsec.

    Konfiguracja kluczy isakmp

    Konfiguracja pojedynczego klucza keyring

    (config)# crypto isakmp key klucz address {adres-IP / 0.0.0.0 0.0.0.0 / nazwa-DNS}

    Określa adres IP bądź nazwę DNS sąsiedniego urządzenia, wraz z wstępnie współdzielonym kluczem (Preshared Keys). Adres 0.0.0.0 0.0.0.0 oznacza że podane hasło będzie przypisane do wszystkich połączeń IPsec.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja wielu kluczy keyring

    (config)# crypto keyring nazwa-keyring

    Tworzy nowy zestaw kluczy KeyRing.

    (conf-keyring)# local-address interfejs*

    Określa źródłowy adres IP (Przypisany do wskazanego interfejsu).

    (conf-keyring)# pre-shared-key address {adres-IP / 0.0.0.0 0.0.0.0} key klucz

    Definicje wstępnie współdzielony klucz.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja transform-set

    (config)# crypto ipsec transform-set nazwa-set {ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-des / esp-aes / esp-sha-hmac / esp-sha256-hmac / esp-sha384-hmac /  esp-sha512-hmac} {ah-md5-hmac / ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-aes / esp-des}

    (config)# mode {transport / tunnel}

    Określa rodzaj połączenia IPsec (Tunnel Mode / Transport Mode).

    Konfiguracja polisy isakmp

    (conf-keyring)# crypto isakmp profile nazwa-profilu

    Tworzy nową polisę ISAKMP.

    (conf-isa-prof)# keyring nazwa-keyring

    Przypisuje do polisy ISAKMP zestaw kluczy KeyRing.

    (conf-isa-prof)# match identity address {adres-IP / 0.0.0.0 0.0.0.0}

    (conf-isa-prof)# self-identity address

    (conf-isa-prof)# local-address interfejs

    Określa źródłowy adres IP (Przypisany do wskazanego interfejsu).

    Konfiguracja krypto mapy & listy acl

    (config)# ip access-list extended ACL

    (config-ext-nacl)# permit ip źródłowy-adres-IP dzika-maska docelowy-adres-IP dzika-maska

    (config-ext-nacl)# crypto map nazwa-mapy 1-65535(numer sekwencji) ipsec-isakmp

    (config-crypto-map)# match address ACL

    (config-crypto-map)# set peer adres-IP

    (config-crypto-map)# set transform-set nazwa-set

    Połączenie krypto mapy z interfejsem

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# crypto map nazwa-mapy

    Komendy Show, Debug, Clear

    Komendy show running-config

    # show running-config | section crypto isakmp

    Wyświetla konfigurację polisy ISAKMP.

    # show running-config | section crypto isakmp|crypto ipsec|crypto map|ip access-list

    Wyświetla konfiguracje IPsec.

    Komendy show IKE Phase 1

    # show crypto isakmp sa

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla wszystkie aktywne asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto isakmp sa [detail]

    Wyświetla

    # show crypto isakmp profile

    Wyświetla

    # show crypto isakmp policy

    Wyświetla skonfigurowane / domyślne polisy ISAKMP.

    # show crypto isakmp key

    Wyświetla

    # show crypto isakmp default policy

    Wyświetla

    # show crypto isakmp diagnose error count

    Wyświetla

    Komendy show IKE Phase 2

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations).

    # show crypto ipsec sa detail

    Wyświetla

    # show crypto map

    Wyświetla

    Inne komendy show

    # show crypto session [detail]

    Wyświetla wszystkie asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto ipsec security-association lifetime

    Wyświetla

    # show crypto ipsec security-association idle-time

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla

    Komendy debug

    # debug crypto isakmp

    Debaguje

    # debug crypto ipsec

    Debaguje

    Komendy clear

    # clear crypto isakmp

    Czyści

    # clear crypto sa

    Czyści

    Pozostałe tematy związane z protokołem IPSec

  • (T) Teoria protokołu IPsec**

    (T) Teoria protokołu IPsec**

    Wstęp do protokołu IPsec

    Standaryzacja protokołu IPsec

    • RFC 2408 – Definiuje podstawowe założenia protokołu IPsec.
    • RFC 2409 – Definiuje protokół IKEv1.
    • RFC 4306 – Definiuje protokół IKEv2.
    • RFC 3407 – Definiuje protokół IPsec DOI.
    • RFC 3947 – Definiuje protokół NAT-T.
    • RFC 3948 – Definiuje enkapsulację UDP względem protokołu ESP.

    Cechy protokołu IPsec

    • Zachowanie poufności / szyfrowanie (Confidentiality) –
    • Zachowanie integralności (Data Integrity) –
    • Uwierzytelnianie (Authentication) –
    • Zapobieganie powtórką (Anti-replay Protection) –

    Proces negocjowania połączenia IPsec

    • IKEv1 (Internet Key Exchange) (RFC 2409) – Negocjuje a następnie nawiązuje bezpieczne połączenie VPN.
    • IKEv2 (Internet Key Exchange) (RFC 4306) –
    • ISAKMP (Internet Security Association and Key Management Protocol) –

    Negocjacja połączenia IPsec

    Metody negocjacji połączenia IPsec

    Porównanie AH / ESP / Tunel / Transport Mode
    • ESP (Encapsulating Security Payload) – Zapewnia poufność osiąganą za pomocą szyfrowania, uwierzytelnienie drugiej strony połączenia oraz zapewnienia integralność danych.
    • AH (Authentication Header) – Zapewnia uwierzytelnienie, zachowanie integralności przesyłanych danych oraz ochronę przed powtórzeniami (Nie zapewniając przy tym szyfrowania). Protokół AH:
      • Zapewnia integralność przesyłanych danych oraz autentykację źródła komunikacji (Provides integrity and origin authentication).
      • Zapewnia autentykację części nagłówka AH (Authenticates portions of the IP header).
      • Zabezpiecza transmisje przed auto-powtarzaniem pakietów (Anti-replay service).
      • Nie zapewnia poufności, szyfrowania (No Confidentiality).
    • Tunelowany ESP (Tunneled Encapsulating Security Payload) –
    • Tunelowany AH (Tunneled Authentication Header) –
    • SA (Security Association) –
    • SA lifetime – Wartość czasu w czasie trwania którego, klucze wymienione pomiędzy urządzeniami są akceptowane przez konfigurowane urządzenie. Po upływie określonego w sekundach czasu lifetime, sąsiednie urządzenia muszą ponownie wymienić pomiędzy sobą nowe klucze. Wartość czasu nie musi zgadzać się pomiędzy dwoma urządzeniami, w przypadku niezgodności wykorzystywana będzie najmniejsza wartość skonfigurowana na sąsiednich urządzeniach.
    Zaleca się stosowanie tych samych wartości czasu SA lifetime.

    Proces negocjowania połączenia IPsec

    • IKE Phase 1 – Negocjuje nawiązanie bezpiecznego, uwierzytelnionego połączenia pomiędzy dwoma urządzeniami. Wykorzystując w tym celu wstępnie współdzielone klucze (Preshared Keys) bądź też certyfikaty cyfrowe (Digital Certificates). Klucze współdzielone są wykorzystywane w mniejszych implementacjach protokołu IPsec, natomiast certyfikaty cyfrowe są stosowane w dużych sieciach wymagających wysokiego poziomu bezpieczeństwa oraz mniejszej komplikacji związanej z konfiguracją. Faza pierwsza wymiany IKE definiuje następujące komponenty wykorzystywane podczas negocjacji protokołu IPSec:
      • DH (Diffie-Hellman) – Protokół wykorzystywany w celu bezpiecznej wymiany klucza współdzielonego.
    • Faza pierwsza wymiany IKE działa zgodnie z jednym, z poniższych trybów:
      • Main Mode – Domyślny tryb pracy protokołu IPSec, wymienia pomiędzy urządzeniami trzy dwukierunkowe wiadomości:
        • Pierwsza wymiana – Określa jakie algorytmy oraz jakie metody haszowania będą wykorzystywane.
        • Druga wymiana – Wykorzystuje protokół DH w celu wymiany klucza pomiędzy urządzeniami.
        • Trzecia wymiana – Weryfikuje tożsamość drugiej strony wykorzystując jako wartość identyfikacyjną adres IP sąsiada. Głównym celem trybu Main Mode jest stworzenie bezpiecznego połączenia za pomocą którego będą przesyłane informacje umożliwiające nawiązanie końcowego połączenia IPsec.
      • Aggressive Mode – Szybszy a tym samym mniej bezpieczny tryb pracy protokołu IPsec, prowadzący wymianę klucza bez wcześniejszego zestawienia bezpiecznego połączenia, przez co proces ten jest narażony na podsłuch.
    W trybie Main Mode wymiana druga jak i trzecia jest szyfrowana, natomiast w trybie Aggressive Mode szyfrowana może być (lecz zgodnie ze standardami RFC nie musi) jedynie ostatnia z wymienianych wiadomości.
    Faza pierwsza wymiany IKE wykorzystuje protokół UDP na porcie 500 (W sytuacji zastosowania protokołu NAT port zostaje zmieniony na 4500). Tymczasem druga Faza dziedziczy port po fazie pierwszej (500 bądź 4500).
    • IKE Phase 2 – Negocjuje wymianę danych protokołu SA, w celu nawiązania bezpiecznego połączenia IPsec, jak i:
      • Negocjuje parametry protokołu IPsec SA pod ochroną istniejącego tunelu fazy pierwszej.
      • Nawiązuje asocjację protokołu IPsec SA (IPSec security associations).
      • Okresowo renegocjuje połączenie IPsec SA w celu zapewnienia większego poziomu bezpieczeństwa.
      • Opcjonalnie dokonuje dodatkowej wymiany DH.
    • Faza druga wymiany IKE stosuje jedynie jeden tryb Quick Mode, aktywowany zaraz po nawiązaniu bezpiecznego połączenia w fazie pierwszej IKE. Umożliwia on wymianę informacji niezbędnych do nawiązania połączenia IPsec.

    Algorytmy protokołu IPsec

    Metody Autentykacji (Authentication metod)

    • Symetric Key Exchange
    • Asymetric Key Exchange
    • PSK (Pre Share Key) –
    • RSA (Rivest-Shamir Adelman Algorithm) –

    Certyfikaty podpisu cyfrowego

    • DSA (Digital Signature Algorithm) –
    • ECDSA (Elliptic Curve Digital Signature Algorithm) –

    Algorytmy szyfrujące (Encryption Algorithm)

    • DES (Data Encryption Standard) –
    • AES (Advanced Encryption Standard) –

    Algorytmy haszujące (Hash Algorithm)

    • SHA (Secure Hash Algorithm) –
    • MD5 (Message-Digest Algorithm) –

    Wymiana klucza (Diffie-Hellman Group)

    • DH (Diffie-Hellman)

    Pozostałe tematy związane z protokołem IPSec

  • (K) Konfiguracja protokołu IPsec Crypto Map*

    (K) Konfiguracja protokołu IPsec Crypto Map*

    Konfiguracja IPsec Crypto Map

    System Cisco IOS posiada szereg zdefiniowanych szablonów polis ISAKMP, które można wyświetlić za pomocą komendy [show crypto isakmp policy] (Po skonfigurowaniu własnej polisy, domyślne polisy nie są już wyświetlane).

    Konfiguracja polisy isakmp

    (config)# [no] crypto isakmp enable

    Wyłącza / Włącza

    (config)# crypto isakmp policy 1-10000(ID)

    Tworzy nową polisę ISAKMP o określonym numerze ID.

    (config-isakmp)# encryption {des / 3des / aes {128 / 192 / 256}}

    Określa wykorzystywany algorytm szyfrujący

    (config-isakmp)# authentication {pre-share / rsa-encr / rsa-sig}

    Określa metodę autentykacji.
    * pre-share
    * rsa-encr
    * rsa-sig

    (config-isakmp)# group {1 / 2 / 5 / 15 / 16 / 19 / 20 / 21 / 24}

    Określa numer grupy DH (Diffie-Hellman).

    (config-isakmp)# hash {md5 / sha / sha256 / sha384 / sha512}

    Określa algorytm haszujący (HASH).

    (config-isakmp)# lifetime 60-86400(sekundy)(86400)

    Określa czas życia połączenia IPsec.

    Konfiguracja kluczy isakmp

    Konfiguracja pojedynczego klucza keyring

    (config)# crypto isakmp key klucz address {adres-IP / 0.0.0.0 0.0.0.0 / nazwa-DNS}

    Określa adres IP bądź nazwę DNS sąsiedniego urządzenia, wraz z wstępnie współdzielonym kluczem (Preshared Keys). Adres 0.0.0.0 0.0.0.0 oznacza że podane hasło będzie przypisane do wszystkich połączeń IPsec.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja wielu kluczy keyring

    (config)# crypto keyring nazwa-keyring

    Tworzy nowy zestaw kluczy KeyRing.

    (conf-keyring)# local-address interfejs*

    Określa źródłowy adres IP (Przypisany do wskazanego interfejsu).

    (conf-keyring)# pre-shared-key address {adres-IP / 0.0.0.0 0.0.0.0} key klucz

    Definicje wstępnie współdzielony klucz.

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations), w tym informacje o pozostałym czasie życia klucza.

    Konfiguracja transform-set

    (config)# crypto ipsec transform-set nazwa-set {ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-des / esp-aes / esp-sha-hmac / esp-sha256-hmac / esp-sha384-hmac /  esp-sha512-hmac} {ah-md5-hmac / ah-sha-hmac / ah-sha256-hmac / ah-sha384-hmac / ah-sha512-hmac / esp-3des / esp-aes / esp-des}

    (config)# mode {transport / tunnel}

    Określa rodzaj połączenia IPsec (Tunnel Mode / Transport Mode).

    Konfiguracja krypto mapy & listy acl

    (config)# ip access-list extended ACL

    (config-ext-nacl)# permit ip źródłowy-adres-IP dzika-maska docelowy-adres-IP dzika-maska

    (config-ext-nacl)# crypto map nazwa-mapy 1-65535(numer sekwencyjny) ipsec-isakmp

    (config-crypto-map)# match address ACL

    (config-crypto-map)# set peer adres-IP

    (config-crypto-map)# set transform-set nazwa-set

    Połączenie krypto mapy z interfejsem

    (config-if)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# crypto map nazwa-mapy

    Komendy Show, Debug, Clear

    Komendy show running-config

    # show running-config | section crypto isakmp

    Wyświetla konfigurację polisy ISAKMP.

    # show running-config | section crypto isakmp|crypto ipsec|crypto map|ip access-list

    Wyświetla konfiguracje IPsec.

    Komendy show IKE Phase 1

    # show crypto isakmp sa

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla wszystkie aktywne asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto isakmp sa [detail]

    Wyświetla

    # show crypto isakmp profile

    Wyświetla

    # show crypto isakmp policy

    Wyświetla skonfigurowane / domyślne polisy ISAKMP.

    # show crypto isakmp key

    Wyświetla

    # show crypto isakmp default policy

    Wyświetla

    # show crypto isakmp diagnose error count

    Wyświetla

    Komendy show IKE Phase 2

    # show crypto ipsec sa

    Wyświetla szczegółowe informacje na temat asocjacji IPSec SA (Internet Protocol Security Security Assosations).

    # show crypto ipsec sa detail

    Wyświetla

    # show crypto map

    Wyświetla

    Inne komendy show

    # show crypto session [detail]

    Wyświetla wszystkie asocjacje IKE SA (Internet Key Exchange Security Assosations).

    # show crypto ipsec security-association lifetime

    Wyświetla

    # show crypto ipsec security-association idle-time

    Wyświetla

    # show crypto isakmp sa active

    Wyświetla

    Komendy debug

    # debug crypto isakmp

    Debaguje

    # debug crypto ipsec

    Debaguje

    Komendy clear

    # clear crypto isakmp

    Czyści

    # clear crypto sa

    Czyści

    Pozostałe tematy związane z protokołem IPSec

  • (Ts) Troubleshooting protokołu IPsec**

    (Ts) Troubleshooting protokołu IPsec**

    Stany komendy [show crypto isakmp sa / show crypto session detail]

    • Stany występujące w trybie Main Mode:
      • MM_NO_STATE – Proces ISAKMP został rozpoczęty ale nie mógł być kontynuowany z powodu problemów związanych z łącznością
      • MM_SA_SETUP – Obydwa urządzenia wynegocjowały warunki połączenia.
      • MM_KEY_EXCH – Obydwa urządzenia dokonały wymiany klucza DH, generując przy tym bezpieczne klucze (Secret Keys). Jeżeli stan ten trwa z byt długo, może oznaczać on problemy z poprawnością klucza.
      • MM_KEY_AUTH – Proces ISAKMP został zakończony, stan połączenia zostanie przeniesiony do (QM_IDLE).
    • Stany występujące w trybie Aggressive Mode:
      • AG_NO_STATE – Proces ISAKMP został rozpoczęty ale nie mógł być kontynuowany z powodu problemów z łącznością.
      • AG_INIT_EXCH – Urządzenia wymieniły pierwsze pakiety, ale nie zostały jeszcze uwierzytelniony.
      • AG_AUTH – Proces ISAKMP został zakończony, stan połączenia zostanie przeniesiony do (QM_IDLE).
    • Stany występujące w trybie Quick Mode:
      • QM_IDLE – Proces ISAKMP SA jest bezczynny jak i uwierzytelniony.
    • Status połączenia IPsec:
      • Up-Active – Połączenie IPsec jest podniesione (Up) oraz aktywne (Active), dane są przesyłane.
      • Up-IDLE – Połączenie IPsec jest podniesione (Up), jednak dane nie są przesyłane.
      • Down-Negotiating – Połączenie IPsec jest zamknięte (Down), trwa negocjacja parametrów.
      • Down – Połączenie IPsec jest zamknięte (Down).

    Pozostałe tematy związane z protokołem IPSec

  • (K) Konfiguracja protokołu DMVPN phase II**

    (K) Konfiguracja protokołu DMVPN phase II**

    Konfiguracja tunelu DMVPN (Phase 2)

    # Działanie fazy drugiej protokołu DMVPN zostało opisane w artykule: Fazy protokołu DMVPN.

    Faza druga protokołu DMVPN umożliwia nawiązanie bezpośredniego połączenia Spoke-to-Spoke. W topologii tej, wszystkie rutery Spoke nawiązują ze sobą bezpośrednią relację sąsiedztwa za pomocą protokołów routingu dynamicznego.

    Konfiguracja rutera pełniącego rolę HUB-a

    Podstawowa konfiguracja rutera HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany do enkapsulacji oraz dekapsulacji ruchu sieciowego, kierowanego na interfejs wirtualny. Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.
    Stosowanie interfejsów wirtualnych (Loopback) jako interfejsów źródłowych tunelu GRE, może stwarzać problemy z funkcją QoS.

    (config-if)# tunnel mode gre multipoint

    Określa tryb pracy tunelu GRE na mGRE (Multipoint GRE).

    (config-if)# tunnel key 0-4294967295(Klucz)*

    Umożliwia identyfikacje konfigurowanego tunelu, w sytuacji współdzielenia jednego interfejsu źródłowego, przez wiele interfejsów wirtualnych (Tuneli GRE). Wartość klucza musi się zgadzać pomiędzy urządzeniami aby mogły one nawiązać ze sobą połączenie wirtualne (Klucz dodaje 4 bajty do nagłówka protokołu GRE).

    (config-if)# ip nhrp network-id 1-4294967295

    Lokalna wartość identyfikująca określoną chmurę (Cloud) protokołu DMVPN. (Zaleca się stosowanie tej samej wartości Network-ID na wszystkich ruterach należących do tej samej sieci DMVPN).
    Chodź nie ma technicznej korelacji pomiędzy wartością Network-ID a kluczem tunelu DMVPN, to wartości te powinny być takie same w celu utrzymania przejrzystej konfiguracji, wspomagającej późniejsze wsparcie techniczne dla danej sieci.

    (config-if)# ip nhrp map multicast dynamic

    Umożliwia przenoszenie ruchu multicast poprzez tunel DMVPN.

    (config-if)# no ip split-horizon eigrp ASN

    Wyłącza funkcję podzielonego horyzontu „split-horizon”, względem protokołu EIGRP.

    (config-if)# no ip next-hop-self eigrp ASN

    Powoduje że ruter NHS nie będzie siebie traktował jako punktu następnego przeskoku.
    Tunele mGRE nie wspierają funkcji Keepalive.

    Opcjonalna konfiguracja rutera HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    (config-if)# ip tcp adjust-mss 500-1460(536)*

    TCP adjust zapewnia, że ruter dokona edycji segmentu TCP Three-way Handshake jeżeli przekroczy on skonfigurowaną, maksymalną wartość MSS (Maximum Segment Size). W przypadku tuneli DMVPN zaleca się stosowanie wartości 1360, aby pomieścić zawartość nagłówka rozszerzonego o dane protokołu IP, GRE oraz IPsec.

    (config-if)# ip nhrp authentication hasło*

    Tworzy hasło NHRP, uwierzytelniające strony komunikacji.

    (config-if)# ip nhrp registration no-unique*

    Blokuje proces domyślnego oznaczania ruterów NHC flagą “Unique”.
    Każdy ruter NHC zarejestrowany na serwerze NHS, posiada przypisany adres IP tunelu GRE, wraz z odpowiadającym mu adresem sieci NBMA. Wpisy te oznaczone flagą "Unique", są widoczne w wydruku komendy [show ip nhrp adres-IP], związku z tym nie mogą być zmienione, a wszelka ingerencja w skonfigurowany adres NBMA zarejestrowanego rutera NHC, spowoduje wystąpienie błędu [%NHRP-3-PAKREPLY: Recive Registration Reply packet with error - unique address registred already (14)] na ruterze NHC.

    Opcjonalna konfiguracja rutera HUB pod kontem protokołów routingu dynamicznego

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# no ip split-horizon eigrp ASN

    Wyłącza funkcję podzielonego horyzontu „split-horizon”, względem protokołu EIGRP.

    (config-if)# ip ospf network point-to-multipoint

    Zmienia domyślny rodzaj sieci protokołu OSPF (Point to Point), na sieć rozgłoszeni-ową Broadcast, względem połączenia wirtualnego DMVPN.

    Konfiguracja rutera pełniącego rolę SPOKE

    Podstawowa konfiguracja rutera SPOKE

    Konfiguracja rutera NHC (Spoke) w fazie DMVPN Phase 1 jest podobna do konfiguracji rutera NHS (Hub) z wyjątkiem: wykorzystania tunelu GRE zamiast mGRE oraz koniecznego mapowania do przynajmniej jednego z ruterów NHS (Hub-a DMVPN).

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany do enkapsulacji oraz dekapsulacji ruchu sieciowego, kierowanego na interfejs wirtualny. Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.
    Stosowanie interfejsów wirtualnych (Loopback) jako interfejsów źródłowych tunelu GRE, może powodować problemy z funkcją QoS.

    (config-if)# tunnel mode gre multipoint

    Określa tryb pracy tunelu GRE na mGRE (Multipoint GRE).

    (config-if)# tunnel key 0-4294967295(Klucz)*

    Umożliwia identyfikacje konfigurowanego tunelu, w sytuacji współdzielenia jednego interfejsu źródłowego, przez wiele interfejsów wirtualnych (Tuneli GRE). Wartość klucza musi się zgadzać pomiędzy urządzeniami aby mogły one nawiązać ze sobą połączenie wirtualne (Klucz dodaje 4 bajty do nagłówka protokołu GRE).

    (config-if)# ip nhrp network-id 1-4294967295

    Lokalna wartość identyfikująca określoną chmurę (Cloud) protokołu DMVPN. (Zaleca się stosowanie tej samej wartości Network-ID na wszystkich ruterach należących do tej samej sieci DMVPN).

    (config-if)# ip nhrp nhs adres-IP(Adres rutera NHS) nbma adres-IP(Adres NBMA) [multicast]

    Określa adres IP, przynajmniej jednego rutera pełniącego rolę NHS. Adres NHS odnosi się do adresu IP skonfigurowanego na interfejsie wirtualnym (GRE), natomiast adres NBMA określa adres IP sieci wielodostęp-owej (Przeważnie będącej siecią publiczną).
    * multicast – Umożliwia przenoszenie ruchu multicast poprzez tunel DMVPN, umożliwiając tym samym obsługę protokołów routingu dynamicznego.

    # show dmvpn [detail]

    Wyświetla szczegółowe informacje dotyczące statusu tuneli wirtualnych (DMVPN) w tym: status tuneli GRE, adres IP (NBMA) adres IP (GRE), tryb pracy Hub/Spoke, ilość podłączonych ruterów NHC (W przypadku rutera NHS) oraz szczegółowe informacje na tematach podłączonych ruterów NHS bądź NHC, w tym tryb pracy wybranego tunelu (Static/Dynamic).

    Opcjonalna konfiguracja rutera SPOKE

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    (config-if)# ip tcp adjust-mss 500-1460(536)*

    TCP adjust zapewnia, że ruter dokona edycji segmentu TCP Three-way Handshake jeżeli przekroczy on skonfigurowaną, maksymalną wartość MSS (Maximum Segment Size). W przypadku tuneli DMVPN zaleca się stosowanie wartości 1360, aby pomieścić zawartość nagłówka rozszerzonego o dane protokołu IP, GRE oraz IPsec.

    (config-if)# ip nhrp authentication hasło*

    Tworzy hasło NHRP, uwierzytelniające strony komunikacji.

    Alternatywna konfiguracja mapowania serwera nhs (SPOKE)

    Alternatywna konfiguracja mapowania serwera NHS zamiast komendy [ip nhrp nhs adres-IP nbma adres-IP [multicast]], wykorzystuje następującą konfigurację:

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip nhrp nhs adres-IP

    Określa adres rutera NHS (Hub) przypisując go do konfigurowanego tunelu (GRE).

    (config-if)# ip nhrp map adres-IP(Adres rutera NHS) adres-IP(Adres NBMA)

    Mapuje adres NBMA rutera NHS do adresu IP tunelu (GRE), należącego do tego samego rutera NHS.

    (config-if)# ip nhrp map multicast [adres-IP / dynamic]

    Określa adres IP tunelu (GRE), wykorzystywany w komunikacji Multicast.

    Dodatkowa konfiguracja rutera SPOKE pod kontem protokołów routingu dynamicznego

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# no ip split-horizon eigrp ASN

    Wyłącza funkcję podzielonego horyzontu „split-horizon”, względem protokołu EIGRP.

    (config-if)# ip ospf network point-to-multipoint

    Zmienia domyślny rodzaj sieci protokołu OSPF (Point to Point), na sieć rozgłoszeni-ową Broadcast, względem połączenia wirtualnego DMVPN.

    Komendy Show, Clear, Debug

    Komendy SHOW

    # show dmvpn [detail]

    Wyświetla podstawowe / szczegółowe informacje dotyczące statusu tuneli wirtualnych (DMVPN) w tym: status tuneli GRE, adres IP (NBMA) adres IP (GRE), tryb pracy Hub/Spoke, ilość podłączonych ruterów NHC (W przypadku rutera NHS) oraz szczegółowe informacje na tematach podłączonych ruterów NHS bądź NHC, w tym tryb pracy wybranego tunelu (Static/Dynamic).

    # show dmvpn peer {nbma adres-IP(Adres NBMA) [detail] / tunnel adres-IP(Adres GRE) [detail]}

    Wyświetla podstawowe / szczegółowe informacje na temat wskazanego w komendzie sąsiada protokołu DMVPN.

    # show ip nhrp [brief / detail]

    Wyświetla zawartość lokalnej bazy protokołu NHRP, w tym adres IP tunelu (GRE) wraz z przynależącym do niego adresem NBMA oraz interfejsem źródłowym.

    # show ip nhrp [purge / redirect / shortcut]

    Wyświetla zapisy bazy NHRP odnośnie wiadomości purge, redirect, shortcut.

    # show ip nhrp [dynamic / static]

    Wyświetla wszystkie statyczne / dynamiczne tunele protokołu DMVPN.

    # show ip nhrp nhs

    Wyświetla wszystkie tunele prowadzące do ruterów NHS.

    # show ip nhrp stats

    Wyświetla

    # show ip nhrp summary

    Wyświetla

    # show ip nhrp traffic

    Wyświetla

    # show ip route next-hop-override

    Wyświetla obecnie wykorzystywane adresy następnego przeskoku, dla tras wykorzystujących skrót protokołu NHRP (ip nhrp shortcut).

    Komendy CLEAR

    # clear dmvpn session [peer adres-IP]

    Czyści wszystkie / określone sesje protokołu DMVPN.

    # clear dmvpn statistics

    Czyści statystyki protokołu DMVPN.

    Komendy DEBUG

    # debug

    # debug

    # debug

    Pozostałe tematy związane z protokołem DMVPN

  • (K) Konfiguracja protokołu DMVPN phase III**

    (K) Konfiguracja protokołu DMVPN phase III**

    Konfiguracja tunelu DMVPN (Phase 3)

    # Działanie fazy trzeciej protokołu DMVPN zostało opisane w artykule: Fazy protokołu DMVPN.

    Faza trzecia protokołu DMVPN umożliwia nawiązanie bezpośredniego połączenia Spoke-to-Spoke. W topologii tej, rutery Spoke nie nawiązują ze sobą bezpośrednich relacji sąsiedztwa za pomocą protokołów routingu dynamicznego. Relacja Spoke-to-Spoke jest osiągana za pomocą protokół NHRP, który tworzy w tablicy routingu skróty (Shortcut) umożliwiające bezpośrednią komunikację pomiędzy ruterami Spoke.

    Konfiguracja rutera pełniącego rolę HUB-a

    Podstawowa konfiguracja rutera HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany do enkapsulacji oraz dekapsulacji ruchu sieciowego, kierowanego na interfejs wirtualny. Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.
    Stosowanie interfejsów wirtualnych (Loopback) jako interfejsów źródłowych tunelu GRE, może powodować problemy z funkcją QoS.

    (config-if)# tunnel mode gre multipoint

    Określa tryb pracy tunelu GRE na mGRE (Multipoint GRE).

    (config-if)# tunnel key 0-4294967295(Klucz)*

    Umożliwia identyfikacje konfigurowanego tunelu, w sytuacji współdzielenia jednego interfejsu źródłowego, przez wiele interfejsów wirtualnych (Tuneli GRE). Wartość klucza musi się zgadzać pomiędzy urządzeniami aby mogły one nawiązać ze sobą połączenie wirtualne (Klucz dodaje 4 bajty do nagłówka protokołu GRE).

    (config-if)# ip nhrp network-id 1-4294967295

    Lokalna wartość identyfikująca określoną chmurę (Cloud) protokołu DMVPN. (Zaleca się stosowanie tej samej wartości Network-ID na wszystkich ruterach należących do tej samej sieci DMVPN).
    Chodź nie ma technicznej korelacji pomiędzy wartością Network-ID a kluczem tunelu DMVPN, to wartości te powinny być takie same w celu utrzymania przejrzystej konfiguracji, wspomagającej późniejsze wsparcie techniczne dla danej sieci.

    (config-if)# ip nhrp map multicast dynamic

    Umożliwia przenoszenie ruchu multicast poprzez tunel DMVPN.
    Tunele mGRE nie wspierają funkcji Keepalive.

    (config-if)# ip nhrp redirect [timeout 2-30(sekundy)]

    Aktywuje funkcję redirect.

    Opcjonalna konfiguracja rutera HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    (config-if)# ip tcp adjust-mss 500-1460(536)*

    TCP adjust zapewnia, że ruter dokona edycji segmentu TCP Three-way Handshake jeżeli przekroczy on skonfigurowaną, maksymalną wartość MSS (Maximum Segment Size). W przypadku tuneli DMVPN zaleca się stosowanie wartości 1360, aby pomieścić zawartość nagłówka rozszerzonego o dane protokołu IP, GRE oraz IPsec.

    (config-if)# ip nhrp authentication hasło*

    Tworzy hasło NHRP, uwierzytelniające strony komunikacji.

    (config-if)# ip nhrp registration no-unique*

    Blokuje proces domyślnego oznaczania ruterów NHC flagą “Unique”.
    Każdy ruter NHC zarejestrowany na serwerze NHS, posiada przypisany adres IP tunelu GRE, wraz z odpowiadającym mu adresem sieci NBMA. Wpisy te oznaczone flagą "Unique", są widoczne w wydruku komendy [show ip nhrp adres-IP], związku z tym nie mogą być zmienione, a wszelka ingerencja w skonfigurowany adres NBMA zarejestrowanego rutera NHC, spowoduje wystąpienie błędu [%NHRP-3-PAKREPLY: Recive Registration Reply packet with error - unique address registred already (14)] na ruterze NHC.

    Opcjonalna konfiguracja rutera HUB pod kontem protokołów routingu dynamicznego

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# no ip split-horizon eigrp ASN

    Wyłącza funkcję podzielonego horyzontu „split-horizon”, względem protokołu EIGRP.

    (config-if)# ip ospf network point-to-multipoint

    Zmienia domyślny rodzaj sieci protokołu OSPF (Point to Point), na sieć rozgłoszeni-ową Broadcast, względem połączenia wirtualnego DMVPN.

    Konfiguracja rutera pełniącego rolę SPOKE

    Podstawowa konfiguracja rutera SPOKE

    Konfiguracja rutera NHC (Spoke) w fazie DMVPN Phase 1 jest podobna do konfiguracji rutera NHS (Hub) z wyjątkiem: wykorzystania tunelu GRE zamiast mGRE oraz koniecznego mapowania do przynajmniej jednego z ruterów NHS (Hub-a DMVPN).

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany do enkapsulacji oraz dekapsulacji ruchu sieciowego, kierowanego na interfejs wirtualny. Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.
    Stosowanie interfejsów wirtualnych (Loopback) jako interfejsów źródłowych tunelu GRE, może stwarzać problemy z funkcją QoS.

    (config-if)# tunnel mode gre multipoint

    Określa tryb pracy tunelu GRE na mGRE (Multipoint GRE).

    (config-if)# tunnel key 0-4294967295(Klucz)*

    Umożliwia identyfikacje konfigurowanego tunelu, w sytuacji współdzielenia jednego interfejsu źródłowego, przez wiele interfejsów wirtualnych (Tuneli GRE). Wartość klucza musi się zgadzać pomiędzy urządzeniami aby mogły one nawiązać ze sobą połączenie wirtualne (Klucz dodaje 4 bajty do nagłówka protokołu GRE).

    (config-if)# ip nhrp network-id 1-4294967295

    Lokalna wartość identyfikująca określoną chmurę (Cloud) protokołu DMVPN. (Zaleca się stosowanie tej samej wartości Network-ID na wszystkich ruterach należących do tej samej sieci DMVPN).

    (config-if)# ip nhrp nhs adres-IP(Adres rutera NHS) nbma adres-IP(Adres NBMA) [multicast]

    Określa adres IP, przynajmniej jednego rutera pełniącego rolę NHS. Adres NHS odnosi się do adresu IP skonfigurowanego na interfejsie wirtualnym (GRE), natomiast adres NBMA określa adres IP sieci wielodostęp-owej (Przeważnie będącej siecią publiczną).
    * multicast – Umożliwia przenoszenie ruchu multicast poprzez tunel DMVPN, umożliwiając tym samym obsługę protokołów routingu dynamicznego.

    (config-if)# ip nhrp shortcut

    Aktywuje funkcję shortcut, umożliwiającą nadpisywanie adresów następnego przeskoku dla tras znajdujących się w tablicy routingu, gdy krótsza trasa zostanie wykryta przez protokół NHRP. Informacje o obecnie wykorzystywanych adresach następnego przeskoku można wyświetlić za pomocą komendy [show ip route next-hop-override].

    # show dmvpn [detail]

    Wyświetla szczegółowe informacje dotyczące statusu tuneli wirtualnych (DMVPN) w tym: status tuneli GRE, adres IP (NBMA) adres IP (GRE), tryb pracy Hub/Spoke, ilość podłączonych ruterów NHC (W przypadku rutera NHS) oraz szczegółowe informacje na tematach podłączonych ruterów NHS bądź NHC, w tym tryb pracy wybranego tunelu (Static/Dynamic).

    Alternatywna konfiguracja mapowania serwera nhs (SPOKE)

    Alternatywna konfiguracja mapowania serwera NHS zamiast komendy [ip nhrp nhs adres-IP nbma adres-IP [multicast]], wykorzystuje następującą konfigurację:

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip nhrp nhs adres-IP

    Określa adres rutera NHS (Hub) przypisując go do konfigurowanego tunelu (GRE).

    (config-if)# ip nhrp map adres-IP(Adres rutera NHS) adres-IP(Adres NBMA)

    Mapuje adres NBMA rutera NHS do adresu IP tunelu (GRE), należącego do tego samego rutera NHS.

    (config-if)# ip nhrp map multicast [adres-IP / dynamic]

    Określa adres IP tunelu (GRE), wykorzystywany w komunikacji Multicast.

    Opcjonalna konfiguracja rutera SPOKE

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    (config-if)# ip tcp adjust-mss 500-1460(536)*

    TCP adjust zapewnia, że ruter dokona edycji segmentu TCP Three-way Handshake jeżeli przekroczy on skonfigurowaną, maksymalną wartość MSS (Maximum Segment Size). W przypadku tuneli DMVPN zaleca się stosowanie wartości 1360, aby pomieścić zawartość nagłówka rozszerzonego o dane protokołu IP, GRE oraz IPsec.

    (config-if)# ip nhrp authentication hasło*

    Tworzy hasło NHRP, uwierzytelniające strony komunikacji.

    Dodatkowa konfiguracja rutera SPOKE pod kontem protokołów routingu dynamicznego

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip ospf network point-to-multipoint

    Zmienia domyślny rodzaj sieci protokołu OSPF (Point to Point), na sieć rozgłoszeni-ową Broadcast, względem połączenia wirtualnego DMVPN.

    Komendy Show, Clear, Debug

    Komendy SHOW

    # show dmvpn [detail]

    Wyświetla podstawowe / szczegółowe informacje dotyczące statusu tuneli wirtualnych (DMVPN) w tym: status tuneli GRE, adres IP (NBMA) adres IP (GRE), tryb pracy Hub/Spoke, ilość podłączonych ruterów NHC (W przypadku rutera NHS) oraz szczegółowe informacje na tematach podłączonych ruterów NHS bądź NHC, w tym tryb pracy wybranego tunelu (Static/Dynamic).

    # show dmvpn peer {nbma adres-IP(Adres NBMA) [detail] / tunnel adres-IP(Adres GRE) [detail]}

    Wyświetla podstawowe / szczegółowe informacje na temat wskazanego w komendzie sąsiada protokołu DMVPN.

    # show ip nhrp [brief / detail]

    Wyświetla zawartość lokalnej bazy protokołu NHRP, w tym adres IP tunelu (GRE) wraz z przynależącym do niego adresem NBMA oraz interfejsem źródłowym.

    # show ip nhrp [purge / redirect / shortcut]

    Wyświetla zapisy bazy NHRP odnośnie wiadomości purge, redirect, shortcut.

    # show ip nhrp [dynamic / static]

    Wyświetla wszystkie statyczne / dynamiczne tunele protokołu DMVPN.

    # show ip nhrp nhs

    Wyświetla wszystkie tunele prowadzące do ruterów NHS.

    # show ip nhrp stats

    Wyświetla

    # show ip nhrp summary

    Wyświetla

    # show ip nhrp traffic

    Wyświetla

    # show ip route next-hop-override

    Wyświetla obecnie wykorzystywane adresy następnego przeskoku, dla tras wykorzystujących skrót protokołu NHRP (ip nhrp shortcut).

    Komendy CLEAR

    # clear dmvpn session [peer adres-IP]

    Czyści wszystkie / określone sesje protokołu DMVPN.

    # clear dmvpn statistics

    Czyści statystyki protokołu DMVPN.

    Komendy DEBUG

    # debug

    # debug

    # debug

    Pozostałe tematy związane z protokołem DMVPN

  • (K) Konfiguracja protokołu DMVPN**

    (K) Konfiguracja protokołu DMVPN**

    Konfiguracja tunelu GRE

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany przy enkapsulacji oraz dekapsulacji ruchu sieciowego, kierowanego na interfejs wirtualny (Tunel). Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.

    (config-if)# tunnel destination adres-IP

    Określa adres IP urządzenia docelowego (Końcówki tunelu GRE).

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# keepalive [0-32767] [1-255]*

    Tunel GRE domyślnie stanowi połączenie Point-to-Point wykrywane jako aktywne „Up”, w sytuacji w której urządzenie lokalne posiada trasę do docelowego adresu IP [tunnel destination adres-IP]. Jeżeli takowy adres nie znajduje się w tablicy routingu interfejs pozostaje nieaktywny „Down”. Funkcja Keepalive sprawdza ponadto stan połączenia „line protocol” aby ruter nie musiał polegać jedynie na czasach protokołów routingu dynamicznego.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    # show interface tunnel 0-2147483647(tunel-ID)

    Wyświetla szczegółowe informacje na temat interfejsu wirtualnego (Tunelu GRE).

    Konfiguracja tunelu DMVPN

    # Działanie fazy pierwszej protokołu DMVPN zostało opisane w artykule: Fazy protokołu DMVPN.

    Faza pierwsza protokołu DMVPN umożliwia nawiązanie połączenia Hub-to-Spoke.

    Konfiguracja rutera pełniącego rolę HUB-a

    Podstawowa konfiguracja rutera HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany do enkapsulacji oraz dekapsulacja ruchu sieciowego, kierowanego na interfejs wirtualny. Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.
    Stosowanie interfejsów wirtualnych (Loopback) jako interfejsów źródłowych tunelu GRE, może stwarzać problemy z funkcją QoS.

    (config-if)# tunnel mode gre multipoint

    Określa tryb pracy tunelu GRE na mGRE (Multipoint GRE).

    (config-if)# tunnel key 0-4294967295(Klucz)*

    Umożliwia identyfikacje konfigurowanego tunelu, w sytuacji współdzielenia jednego interfejsu źródłowego, przez wiele interfejsów wirtualnych (Tuneli GRE). Wartość klucza musi się zgadzać pomiędzy urządzeniami aby mogły one nawiązać ze sobą połączenie wirtualne (Klucz dodaje 4 bajty do nagłówka protokołu GRE).

    (config-if)# ip nhrp network-id 1-4294967295

    Lokalna wartość identyfikująca określoną chmurę (Cloud) protokołu DMVPN. (Zaleca się stosowanie tej samej wartości Network-ID na wszystkich ruterach należących do tej samej sieci DMVPN).
    Chodź nie ma technicznej korelacji pomiędzy wartością Network-ID a kluczem tunelu DMVPN, to wartości te powinny być takie same w celu utrzymania przejrzystej konfiguracji, wspomagającej późniejsze wsparcie techniczne dla danej sieci.

    (config-if)# ip nhrp map multicast dynamic

    Umożliwia przenoszenie ruchu multicast poprzez tunel DMVPN.
    Tunele mGRE nie wspierają funkcji Keepalive.

    Opcjonalna konfiguracja rutera HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config)# ip nhrp holdtime 1-65535(sekundy)*

    Definiuje okres czasu po jakim wygasa rejestracja tunelu Dynamic DMVPN (Spoke to Spoke) oraz (Hub to Spoke) (Tunel statyczny Spoke to Hub nie wygasa).

    (config)# ip nhrp registration timeout 1-65535(sekundy)*

    Definiuje odstępy czasowe w wysyłaniu wiadomości Keepalive protokołu NHRP (Resetuje czas holdtime).

    (config-if)# ip nhrp authentication hasło*

    Tworzy nowe hasło protokołu NHRP, uwierzytelniające strony komunikacji.

    (config-if)# ip nhrp registration no-unique*

    Blokuje proces domyślnego oznaczania ruterów NHC flagą “Unique”.

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    (config-if)# tunnel path-mtu-discovery [age-timer {aging-mins(10) / infinite}min-mtu mtu-bytes(92)]*

    Na podstawie informacji zawartych w wiadomościach ICMP typu 3 oraz 4, pasywnie wykrywa właściwą wartość MTU, umożliwiając ponowne sprawdzenie maksymalnej dostępne wartości MTU, po upływie czasu (aging timer). Z=Znacząco zmniejsza ryzyko fragmentacji.

    (config-if)# ip tcp adjust-mss 500-1460(536)*

    TCP adjust zapewnia, że ruter dokona edycji segmentu TCP Three-way Handshake jeżeli przekroczy on skonfigurowaną, maksymalną wartość MSS (Maximum Segment Size). W przypadku tuneli DMVPN zaleca się stosowanie wartości 1360, aby pomieścić zawartość nagłówka rozszerzonego o dane protokołu IP, GRE oraz IPsec.

    (config-if)# keepalive [0-32767] [1-255]*

    Tunel GRE domyślnie stanowi połączenie Point-to-Point wykrywane jako aktywne „Up”, w sytuacji w której urządzenie lokalne posiada trasę do docelowego adresu IP [tunnel destination adres-IP]. Jeżeli takowy adres nie znajduje się w tablicy routingu interfejs pozostaje nieaktywny „Down”. Funkcja Keepalive sprawdza ponadto stan połączenia „line protocol” aby ruter nie musiał polegać jedynie na czasach protokołów routingu dynamicznego.
    Każdy ruter NHC zarejestrowany na serwerze NHS, posiada przypisany adres IP tunelu GRE, wraz z odpowiadającym mu adresem sieci NBMA. Wpisy te oznaczone flagą "Unique", są widoczne w wydruku komendy [show ip nhrp adres-IP], związku z tym nie mogą być zmienione, a wszelka ingerencja w skonfigurowany adres NBMA zarejestrowanego rutera NHC, spowoduje wystąpienie błędu [%NHRP-3-PAKREPLY: Recive Registration Reply packet with error - unique address registred already (14)] na ruterze NHC.

    Dodatkowa konfiguracja rutera HUB pod kontem protokołów routingu dynamicznego

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# no ip split-horizon eigrp ASN

    Wyłącza funkcję podzielonego horyzontu „split-horizon”, względem protokołu EIGRP.

    (config-if)# ip ospf network point-to-multipoint

    Zmienia domyślny rodzaj sieci protokołu OSPF (Point to Point), na sieć rozgłoszeni-ową Broadcast, względem połączenia wirtualnego DMVPN.

    Konfiguracja rutera pełniącego rolę SPOKE

    Podstawowa konfiguracja rutera SPOKE

    Konfiguracja rutera NHC (Spoke) w fazie DMVPN Phase 1 jest podobna do konfiguracji rutera NHS (Hub) z wyjątkiem: wykorzystania tunelu GRE zamiast mGRE oraz koniecznego mapowania do przynajmniej jednego z ruterów NHS (Hub-a DMVPN).

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip address adres-IP

    Przypisuje adres IP, do konfigurowanego tunelu GRE.

    (config-if)# tunnel source {adres-IP / interfejs}

    Określa interfejs źródłowy wykorzystywany do enkapsulacji oraz dekapsulacji ruchu sieciowego, kierowanego na interfejs wirtualny. Źródłem tunelu GRE może być zarówno interfejs fizyczny jak i wirtualny (Loopback), który zapewnia osiągalność pomimo awarii jednego z interfejsów fizycznych.
    Stosowanie interfejsów wirtualnych (Loopback) jako interfejsów źródłowych tunelu GRE, może powodować problemy z funkcją QoS.

    (config-if)# tunnel destination adres-IP(Adres NBMA)

    Określa docelowy adres IP, sieci „Underlay Network” (NBMA).

    (config-if)# tunnel key 0-4294967295(Klucz)*

    Umożliwia identyfikacje konfigurowanego tunelu, w sytuacji współdzielenia jednego interfejsu źródłowego, przez wiele interfejsów wirtualnych (Tuneli GRE). Wartość klucza musi się zgadzać pomiędzy urządzeniami aby mogły one nawiązać ze sobą połączenie wirtualne (Klucz dodaje 4 bajty do nagłówka protokołu GRE).

    (config-if)# ip nhrp network-id 1-4294967295

    Lokalna wartość identyfikująca określoną chmurę (Cloud) protokołu DMVPN. (Zaleca się stosowanie tej samej wartości Network-ID na wszystkich ruterach należących do tej samej sieci DMVPN).

    (config-if)# ip nhrp nhs adres-IP(Adres rutera NHS) nbma adres-IP(Adres NBMA) [multicast]

    Określa adres IP, przynajmniej jednego rutera pełniącego rolę NHS. Adres NHS odnosi się do adresu IP skonfigurowanego na interfejsie wirtualnym (GRE), natomiast adres NBMA określa adres IP sieci wielodostęp-owej (Przeważnie będącej siecią publiczną).
    * multicast – Umożliwia przenoszenie ruchu multicast poprzez tunel DMVPN, umożliwiając tym samym obsługę protokołów routingu dynamicznego.

    # show dmvpn [detail]

    Wyświetla szczegółowe informacje dotyczące statusu tuneli wirtualnych (DMVPN) w tym: status tuneli GRE, adres IP (NBMA) adres IP (GRE), tryb pracy Hub/Spoke, ilość podłączonych ruterów NHC (W przypadku rutera NHS) oraz szczegółowe informacje na tematach podłączonych ruterów NHS bądź NHC, w tym tryb pracy wybranego tunelu (Static/Dynamic).

    Konfiguracja wielu ruterów HUB

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip nhrp nhs cluster 0-10(ID klastera) max-connections 0-255(Maksymalna ilość jednoczesnych połączeń)

    Określa maksymalną liczbę serwerów NHS jakie mogą być jednocześnie aktywne, względem jednego klastera DMVPN.

    (config-if)# ip nhrp nhs fallback 0-60(Sekundy)

    (config-if)# ip nhrp nhs adres-IP(Adres rutera NHS) priority 0-255(Priorytet rutera NHS)
    (config-if)# ip nhrp nhs adres-IP(Adres rutera NHS) cluster 0-10(ID klastera)

    Określa wartość priorytetu rutera NHS oraz klaster do jakiego należy.
    Powyższe oraz poniższa komenda, jest stosowana zamiennie.

    (config-if)# ip nhrp nhs adres-IP(Adres rutera NHS) nbma adres-IP(Adres NBMA) [multicast] priority 0-255(Priorytet rutera NHS) cluster 0-10(ID klastera)

    Określa wartość priorytetu rutera NHS oraz klaster do jakiego należy.

    # show ip nhrp nhs redundancy

    Wyświetla

    Opcjonalna konfiguracja rutera SPOKE

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config)# ip nhrp holdtime 1-65535(sekundy)*

    Definiuje okres czasu po jakim wygasa rejestracja tunelu Dynamic DMVPN (Spoke to Spoke) oraz (Hub to Spoke) (Tunel statyczny Spoke to Hub nie wygasa).

    (config)# ip nhrp registration timeout 1-65535(sekundy)*

    Definiuje odstępy czasowe w wysyłaniu wiadomości Keepalive protokołu NHRP (Resetuje czas holdtime).

    (config-if)# ip nhrp authentication hasło*

    Tworzy nowe hasło protokołu NHRP, uwierzytelniające strony komunikacji.

    (config-if)# bandwidth 1-00000000(Kbps)*

    Interfejsy wirtualne nie posiadają koncepcji opóźnień (Latency), ani statycznie przypisanego pasa (Bandwidth). Związku z tym administrator sam powinien określić wartość, która będzie wykorzystywana przez protokoły routingu w procesie poszukiwaniu najlepszej trasy dotarcia do sieci docelowej bądź przez funkcję QoS.

    (config-if)# ip mtu 68-17916*

    Określa wartość MTU względem konfigurowanego interfejsu sieciowego. Jako że enkapsulacja GRE dodaje do ramki pakietu IP minimum 24 bajty, maksymalna wielkość pakietu może zostać przekroczona a tym samym wymagana będzie fragmentacja. Aby ograniczyć potrzebę fragmentacji, należy skonfigurować niższą wartość MTU, niż ta domyślnie stosowana (1500), w przypadku tuneli DMVPN zaleca się stosowanie wartości 1400.

    (config-if)# tunnel path-mtu-discovery [age-timer {aging-mins(10) / infinite}min-mtu mtu-bytes(92)]*

    Na podstawie informacji zawartych w wiadomościach ICMP typu 3 oraz 4, pasywnie wykrywa właściwą wartość MTU, umożliwiając ponowne sprawdzenie maksymalnej dostępne wartości MTU, po upływie czasu (aging timer). Z=Znacząco zmniejsza ryzyko fragmentacji.

    (config-if)# ip tcp adjust-mss 500-1460(536)*

    TCP adjust zapewnia, że ruter dokona edycji segmentu TCP Three-way Handshake jeżeli przekroczy on skonfigurowaną, maksymalną wartość MSS (Maximum Segment Size). W przypadku tuneli DMVPN zaleca się stosowanie wartości 1360, aby pomieścić zawartość nagłówka rozszerzonego o dane protokołu IP, GRE oraz IPsec.

    (config-if)# keepalive [0-32767] [1-255]*

    Tunel GRE domyślnie stanowi połączenie Point-to-Point wykrywane jako aktywne „Up”, w sytuacji w której urządzenie lokalne posiada trasę do docelowego adresu IP [tunnel destination adres-IP]. Jeżeli takowy adres nie znajduje się w tablicy routingu interfejs pozostaje nieaktywny „Down”. Funkcja Keepalive sprawdza ponadto stan połączenia „line protocol” aby ruter nie musiał polegać jedynie na czasach protokołów routingu dynamicznego.

    Alternatywna konfiguracja mapowania serwera nhs (SPOKE)

    Alternatywna konfiguracja mapowania serwera NHS zamiast komendy [ip nhrp nhs adres-IP nbma adres-IP [multicast]], wykorzystuje następującą konfigurację:

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip nhrp nhs adres-IP

    Określa adres rutera NHS (Hub) przypisując go do konfigurowanego tunelu (GRE).

    (config-if)# ip nhrp map adres-IP(Adres rutera NHS) adres-IP(Adres NBMA)

    Mapuje adres NBMA rutera NHS do adresu IP tunelu (GRE), należącego do tego samego rutera NHS.

    (config-if)# ip nhrp map multicast [adres-IP / dynamic]

    Określa adres IP tunelu (GRE), wykorzystywany w komunikacji Multicast.

    Dodatkowa konfiguracja rutera SPOKE pod kontem protokołów routingu dynamicznego

    (config)# interface tunnel 0-2147483647(tunel-ID)

    Tworzy nowy interfejs wirtualny (Tunel GRE).

    (config-if)# ip ospf network broadcast

    Zmienia domyślny rodzaj sieci protokołu OSPF (Point to Point), na sieć rozgłoszeni-ową Broadcast, względem połączenia wirtualnego DMVPN.

    Komendy Show, Clear, Debug

    Komendy SHOW

    # show dmvpn [detail]

    Wyświetla podstawowe / szczegółowe informacje dotyczące statusu tuneli wirtualnych (DMVPN) w tym: status tuneli GRE, adres IP (NBMA) adres IP (GRE), tryb pracy Hub/Spoke, ilość podłączonych ruterów NHC (W przypadku rutera NHS) oraz szczegółowe informacje na tematach podłączonych ruterów NHS bądź NHC, w tym tryb pracy wybranego tunelu (Static/Dynamic).

    # show dmvpn peer {nbma adres-IP(Adres NBMA) [detail] / tunnel adres-IP(Adres GRE) [detail]}

    Wyświetla podstawowe / szczegółowe informacje na temat wskazanego w komendzie sąsiada protokołu DMVPN.

    # show ip nhrp [brief / detail]

    Wyświetla zawartość lokalnej bazy protokołu NHRP, w tym adres IP tunelu (GRE) wraz z przynależącym do niego adresem NBMA oraz interfejsem źródłowym.

    # show ip nhrp [purge / redirect / shortcut]

    Wyświetla zapisy bazy NHRP odnośnie wiadomości purge, redirect, shortcut.

    # show ip nhrp [dynamic / static]

    Wyświetla wszystkie statyczne / dynamiczne tunele protokołu DMVPN.

    # show ip nhrp nhs

    Wyświetla wszystkie tunele prowadzące do ruterów NHS.

    # show ip nhrp stats

    Wyświetla

    # show ip nhrp summary

    Wyświetla

    # show ip nhrp traffic

    Wyświetla

    # show ip route next-hop-override

    Wyświetla obecnie wykorzystywane adresy następnego przeskoku, dla tras wykorzystujących skrót protokołu NHRP (ip nhrp shortcut).

    Komendy CLEAR

    # clear dmvpn session [peer adres-IP]

    Czyści wszystkie / określone sesje protokołu DMVPN.

    # clear dmvpn statistics

    Czyści statystyki protokołu DMVPN.

    Komendy DEBUG

    # debug

    # debug

    # debug

    Pozostałe tematy związane z protokołem DMVPN

  • (TS) Troubleshooting protokołu DMVPN*

    (TS) Troubleshooting protokołu DMVPN*

    Troubleshooting protokołu DMVPN

    Znaczenie komend SHOW

    • [show dmvpn [detail]] – Wyświetla szczegółowe informacje na temat statusu tuneli wirtualnych DMVPN w tym:
      • Status tunelu wirtualnego DMVPN (Up / Down).
      • Adres IP (NBMA / Tunelu GRE).
      • Ilość podłączonych ruterów NHC (W przypadku serwera NHS).
      • Szczegółowe informacje na tematach podłączonych urządzeń NHS bądź NHC.
      • Tryb pracy tunelu DMVPN (Static / Dynamic).
    • [show ip nhrp [brief / detail]] – Wyświetla szczegółowe informacje na temat statusu tuneli wirtualnych DMVPN w tym:
      • Adres IP (NBMA / Tunelu GRE).
      • Czas pracy tunelu DMVPN.
      • Ilość podłączonych ruterów NHC (W przypadku serwera NHS).
      • Tryb pracy wybranego tunelu (Static / Dynamic).

    Flagi oraz mapowanie protokołu NHRP

    • Stany mapowania protokołu NHRP:
      • Static – Statyczny wpis wprowadzony przez protokół DMVPN.
      • Dynamic – Dynamiczny wpis stworzony w fazie pierwszej protokołu DMVPN (Phase 1), po zarejestrowaniu rutera NHC w bazie NHRP serwera NHS (Hub-a).
      • Incomplete – Tymczasowy wpis protokołu DMVPN, przetrzymywany w bazie NHRP w czasie oczekiwania na zapytanie „Resolution”. Wpis ten blokuje przetwarzanie kolejnego wpisu dla tego samego adresu docelowego.
      • Local – Informacje dotyczące lokalnego mapowania wpisanego do bazy NHRP za pomocą odpowiedzi „Resolution”.
      • (No Socket) –
      • NBMA address
      • NATed
      • Route Installed
      • Nexthop-override
      • Authoritative – ???? pytanie egzaminacyjne CCNP route (Informacje zostały pobrane z serwera Next hop Server bądź routers that maintance NBMA to IP address mapping for this destinations.
    • Flagi protokołu NHRP:
      • Used – xx
      • Implicit – xx
      • Unique – xx
      • Router – xx
      • Rib – xx
      • Nho – xx

    Proces nawiązywania tunelu DMVPN

    1. INTF – Status Line Protocol interfejsu DMVPN jest w stanie nieaktywnym Down.
    2. IKE – Tunel DMVPN skonfigurowany wraz z protokołem IPsec nie nawiązał jeszcze sesji IKE.
    3. IPsec – Sesja IKE została nawiązana bez zakończenia procesu asocjacji SA.
    4. NHRP – Tunel DMVPN nie został jeszcze w pełni zarejestrowany.
    5. Up – Status Line Protocol interfejsu DMVPN jest w stanie aktywnym Up.

    Błędy związane z protokołem DMVPN

    • [%FORWARDING-IP_TUNNEL-3-LOOPING] – Błąd związany z enkapsulacją.
    • [%TUN-5-RECURDOWN] – Błąd protokołu GRE, związany z wysępieniem routingu rekursywnego (Recursive Routing). Określającego adres następnego przeskoku (Destination address) tunelu GRE, jako osiągalnego poprzez ten sam tunnel.
    • Neighbor relationship down – Zerwanie relacji sąsiedztwa automatycznie zrywa połączenie protokołu DMVPN.

    Pozostałe tematy związane z protokołem DMVPN

  • (T) Podstawowe pojęcie dotyczące protokołu DMVPN**

    (T) Podstawowe pojęcie dotyczące protokołu DMVPN**

    Protokoły VPN

    Protokoły VPN

    • IPsec (Internet Protocol security)
    • SSL (Secure Socket Layer)
    • GRE (Generic Routing Encapsulation)
    • GRE 6to4 (IPv6 over IPv4)
    • DMVPN (Dynamic Multipoint VPN)
    • GETVPN (Group Encrypted Transport VPN)
    • EVPN (Easy Virtual Private Network)
    • FLEXVPN

    Rodzaje sieci VPN

    • VPN Site-to-site
    • VPN Remont-access

    Wartość MTU a Tunel GRE

    • PMTUD (Path MTU Discovery) – U-standaryzowana technika automatycznego wykrywania najwyższej wartości MTU, na drodze pomiędzy dwoma komunikującymi się urządzeniami. Opisana w referencji RFC 1191 dla protokołu IPv4 oraz w referencji RFC 1981 dla protokołu IPv6. Dodatkowa referencja RFC 4821 opisuje rozszerzenie dotyczące obsługi protokołu ICMP. Protokół PMTUD pomaga zniwelować problem fragmentacji pakietów IPv4.
    • Protokół GRE wykorzystuje protokół IP 47.
    Tunnel Type Tunnel Headers Size
    GRE without IPsec 24 Bytes
    DES/3DES IPsec (Transport mode) 18-25 Bytes
    DES/3DES IPsec (Tunnel mode) 38-45 Bytes
    GRE/DMVPN + DES/3DES 42-49 Bytes
    GRE/DMVPN + AES + SHA-1 62-77 Bytes

    Wielkość pakietu IP enkapsulowanego przez tunel GRE

    Wsparcie protokołu GRE dla protokołów routingu dynamicznego

    • Protokół GRE wspiera wszystkie rodzaje ruchu sieciowego (Unicast, Multicast oraz Broadcast) dzięki czemu jest wstanie przesyłać wiadomości protokołów routingu dynamicznego.

    Wstęp do protokołu DMVPN

    Technologie oraz rozwiązania wykorzystywane przez DMVPN

    • GRE (Generic Routing Encapsulation) – Zapewnia łączność na poziomie warstwy trzeciej, pomiędzy dwoma bądź też większą liczbą sieci (mGRE). Protokół DMVPN wykorzystuje enkapsulacje mGRE (Multipoint GRE) wraz z protokołami routingu dynamicznego, tworząc połączenia zwane Overlay Network prowadzone nad przeważnie publiczną siecią IP, zwaną Underlay Network.
    • NHRP (Next Hop Resolution Protocol) –  Tworzy bazę publicznych oraz prywatnych adresów IP, należących do wszystkich urządzeń Spoke z jednej instancji protokołu DMVPN.
    • Transportation Independence – Połączenia DMVPN są nawiązywane niezależnie od wybranej technologii WAN, dzięki czemu mogą korzystać z połączań PPP, Frame Relay, MPLS, czy zwykłego łącza Internetowego.
    • Zero-Touch Provisioning – Dodawanie nowych oddziałów zdalnych (Spoke), nie wymaga interwencji w obecną konfigurację oddziału głównego (Hub). Ponadto  umożliwia zastosowanie szablonów konfiguracyjnych dla biur zdalnych z wymiennymi danymi dotyczącymi np. adresów IP.
    • Scalable Deployment – Minimalna ilość ręcznie konfigurowanych tuneli DMVPN, umożliwia stworzenie rozbudowanej sieci połączeń pomiędzy oddziałami zdalnymi (Spoke) a odziałem głównym (Hub), oraz automatyczne nawiązanie połączeń wirtualnych bezpośrednio pomiędzy poszczególnymi oddziałami zdalnymi (Spoke). Niezależnie od ilości posiadanych ruterów fizycznych, logicznych bądź wirtualnych.
    • Spoke-to-Spoke Tunnels – Zapewnia pełną łączność pomiędzy oddziałami zdalnymi (Spoke to Spoke) przy zastosowaniu jedynie podstawowej konfiguracji (Spoke to Hub). Połączenia wirtualne pomiędzy końcówkami (Spoke to Spoke) są nawiązywane dynamicznie bez strat w przesyłanej transmisji danych.
    • Flexible Network Topologies – DMVPN nie przyjmuje sztywnych założeń odnośnie płaszczyzny Control Plane oraz Data Plane,  umożliwiając tworzenie topologii cechujących się wysokim stopniem odporności oraz rozproszenia, pozwalając tym samym na uniknięcie pojedynczego punktu awarii. Z drugiej strony, protokół DMVPN może być używany w modelu scentralizowanym.
    • Multiprotocol Support – DMVPN zapewnia wsparcie dla protokołów IPv4, IPv6, MPLS, OTV (Overlay Transport Virtualization) oraz innych protokołów.
    • Multicast Support – DMVPN umożliwia przepływ ruchu Multicast na interfejsach tunelowych mGRE.
    • Adaptable Connectivity – Rutery wspierające protokół DMVPN mogą nawiązać pomiędzy sobą łączność nad punktem translacji adresów NAT (Network Address Translation). Ponadto urządzenia znajdujące się w oddziałach zdalnych mogą dynamicznie pobierać adresacje IP za pomocą protokołu DHCP (Dynamic Host Configuration Protocol).
    • Standardized Building Blocks – DMVPN wykorzystuje ustandaryzowane protokoły takie jak: NHRP, GRE bądź IPsec.

    DMVPN a protokoły routingu dynamicznego

    • Protokół DMVPN wspiera następujące protokołu routingu dynamicznego:
      • EIGRP, OSPF oraz BGP.

    Zaawansowane zagadnienia związane z protokołem DMVPN

    NHRP Unique

    • Każdy ruter NHC zarejestrowany na serwerze NHS, posiada przypisany adres IP tunelu GRE, wraz z odpowiadającym mu adresem sieci NBMA. Wpisy te oznaczone flagą “Unique”, są widoczne w wydruku komendy [show ip nhrp adres-IP], związku z tym nie mogą być zmienione, a wszelka interwencja w skonfigurowany adres NBMA zarejestrowanego rutera NHC, spowoduje wystąpienie błędu [%NHRP-3-PAKREPLY: Recive Registration Reply packet with error – unique address registred already (14)].

    Pozostałe tematy związane z protokołem DMVPN

  • (T) Next Hop Resolution Protocol (NHRP)**

    (T) Next Hop Resolution Protocol (NHRP)**

    Definicja protokołu NHRP

    • Protokół NHRP opisany w dokumencie RFC 2332, jest aktywowany na ruterze (Hub), zapewniając metodę odwzorowania adresów IP względem ruterów (Spoke) dla sieci NBMA (Przeważnie stanowiącej Internet bądź połączenia WAN-owe takie jak MPLS). Działania protokołu NHRP są zbliżone do funkcjonowania protokołu ARP. Jest to protokół oparty na strukturze klient-serwer w której urządzenia końcowe NHC (Next-Hop Client) (Spoke) są rejestrowane w serwerze NHS (Next-Hop Server) (Hub) odpowiadającym na zapytania odnośnie adresów IP następnego przeskoku w komunikacji (Spoke to Spoke).
    • NHS (Next-Hop Server) – Główne urządzenie sieci DMVPN wykorzystujące tunele mGRE w celu zbierania informacji o urządzeniach zdalnych (Spoke, NHC) jak i odpowiadające na ich zapytania odnoście adresów IP następnego przeskoku w komunikacji (Spoke to Spoke).
    • NHC (Next-Hop Client) – Urządzenie zdalne (Spoke) rejestrujące się bazie serwera NHRP (NHS).

    Wiadomości protokołu NHRP (RFC 2332)

    Urządzenie zdalne odnosi się do ruter-a NHC (Spoke).
    • Registration (NHC -> NHS) – Rejestruje ruter NHC w bazie protokołu NHRP, znajdującej się na ruterze NHS.
      • Ruter NHC za pomocą wiadomości „Registration” informuje serwer NHS o posiadanym adresie IP sieci NBMA wraz z czasem przez jaki ruter NHS ma przechowywać otrzymaną rejestrację.
      • Jeżeli w sieci NBMA nastąpi zmiana adresu IP (NAT), serwer NHS wykryje ją za pomocą różnicy w adresach IP, pomiędzy nagłówkiem GRE/IP a zawartością wiadomości „registration”. Zapisując w bazie NHRP obydwa adresy IP:
        • NBMA address – Adres otrzymany w nagłówku GRE/IP (Po translacji NAT).
        • Claimed NBMA Address – Adres otrzymany wraz z zawartością wiadomości „registration” (Przed translacją NAT).
    • Resolution (Zapytanie NHC -> NHS / Odpowiedź NHS -> NHC) – Umożliwia ruterowi NHC wykrycie bezpośredniego połączenia do innego rutera zdalnego, a tym samym nawiązanie tunelu dynamicznego (Spoke to spoke).
      • Zapytanie „Resolution” wysłane przez ruter NHC zawiera prośbę o przesłanie adresu IP sieci NBMA / tunelu GRE innego urządzenia zdalnego (Spoke), stanowiącego możliwy następny przeskok w drodze do sieci docelowej.
      • W odpowiedź na zapytanie „Resolution” ruter NHS dostarcza informacje o adresie IP tunelu GRE oraz sieci NBMA urządzenia (Spoke). Powyższy proces zostaje zapoczątkowany przez serwer NHS za pomocą wiadomości „Resolution” po wykryciu pierwszego pakietu Hairpinning. Hairpinning określa ruch sieciowy otrzymany a następnie wysyłany przez serwer NHS w obrębie jednej chmury DMVPN (Identyfikowanej za pomocą wartości NHRP ID).
    • Redirect (NHS -> NHC) – Informuje ruter NHC o istnieniu lepszej trasy dotarcia do innego rutera zdalnego.
      • Ruter NHS z włączoną funkcją „Redirect” systematycznie sprawdza każdą nadchodzącą kombinacje adresów źródłowych oraz docelowych sieci NBMA, weryfikując czy istnieje pomiędzy nimi bardziej optymalna trasa Hairpinning. Jeżeli takowa zostanie wykryta serwer NHS wyśle wiadomość „Redirect” do rutera NHC od którego został otrzymany dany ruch sieciowy. Dzięki czemu ruter NHC w następnym kroku wyśle zapytanie „Resolution”.
    • Purge (Zazwyczaj NHS -> NHC) – Ruter NHS informuje ruter NHC o utracie trasy przetrzymywanej w bazie NHRP.
    • Error – Informuje nadawcę wiadomości NHRP o wystąpieniu błędu.

    Pozostałe tematy związane z protokołem DMVPN

  • (T) Fazy protokołu DMVPN**

    (T) Fazy protokołu DMVPN**

    Fazy protokołu DMVPN

    Tworzenia tunelu DMVPN

    • Protokół DMVPN może być zaimplementowany w postaci jednej z trzech faz, z których każda została oparta na poprzedniej oraz rozszerzona o dodatkowe możliwości. Wszystkie fazy wymagają jedynie jednego interfejsu sieciowego względem rutera.

    Phase 1 (Spoke-to-Hub)

    • Pierwsze wydanie protokołu DMVPN zapewnia możliwość instalacji z zerowym dotykiem „Zero-Touch Provisioning”. Umożliwiając tworzenie tuneli wirtualnych jedynie w topologii Hub-to-Spoke.

    Phase 2 (Spoke-to-Spoke)

    • Drugie wydanie protokołu DMVPN rozszerzyło
      możliwości tworzenia tuneli wirtualnych o dynamiczne nawiązywanie połączeń w
      topologii Spoke-to-Spoke.
    • Faza druga protokołu DMVPN nie wspiera
      sumaryzacji „Next-Hop Preservation”
      jak i komunikacji Spoke-to-Spoke pomiędzy różnymi sieciami DMVPN (Multilevel
      Hierarchical DMVPN).

    Phase 3 (Hierarchical Tree Spoke-to-Spoke)

    • Trzecie wydanie protokołu DMVPN udoskonaliło proces nawiązywania tuneli dynamicznych Spoke-to-Spoke, poprzez wprowadzenie nowych wiadomości protokołu NHRP. Niwelując tym samym potrzebę wykorzystywania protokołów routingu dynamicznego w procesie wykrywania tras Spoke-to-Spoke. Nowy proces nawiązywania dynamicznych tuneli wygląda następująco:
      • Ruter NHS (Hub) w oparciu o otrzymany ruch sieciowy, wykrywa możliwość bezpośredniego połączenia oddziałów zdalnych (Spoke) w topologii Spoke-to-Spoke, informując o tym ruter NHC za pomocą wiadomości „Redirect”.
      • W odpowiedzi na otrzymaną wiadomość „Redirect” ruter NHC wysyła zapytanie „Resolution” do rutera NHS w celu określenia adresów niezbędnych do nawiązania bezpośredniego połączenia (Spoke to spoke).
    • Faza trzecia protokołu DMVPN, umożliwia modyfikacje tras routingu wprowadzając skróty w adresach następnego przeskoku bądź dodając całkowicie nowe wpisy. Dzięki czemu możliwe staje się wprowadzanie tras zsumaryzowanych na poziome Hub-a, jak i optymalizowanie ruchu pomiędzy ruterami NHC (Spoke to spoke).
    • Wprowadzenie skrótów tras routingu za pomocą protokołu NHRP umożliwia stworzenie topologii drzewa, dzięki czemu regionalny Hub jest odpowiedzialny za zarządzanie trasami wewnątrz jednego regionu, a urządzenia Spoke mogą nawiązywać połączenia pomiędzy regionami.

    Różnice pomiędzy poszczególnymi fazami protokołu DMVPN

    Porównanie faz 1 do 3 protokołu DMVPN w topologii Multilevel DMVPN
    • Phase 1 vs 2:
      • Hub-to-Spoke – Zarówno faza pierwsza jak i druga zachowuje się identycznie względem połączenia Hub-to-Spoke.
      • Spoke-to-SpokeFaza pierwsza udostępnia możliwość komunikacji Spoke-to-Spoke jedynie poprzez ruter Hub, natomiast faza druga dodaje możliwość bezpośredniego połączenia końcówek Spoke, jedynie przy wykorzystaniu protokołów routingu dynamicznego, bądź tras statycznych.
    • Phase 2 vs 3:
      • Hub-to-Spoke – Zarówno faza druga jak i trzeci zachowuje się identycznie względem połączenia Hub-to-Spoke.
      • Spoke-to-SpokeFaza druga udostępnia możliwość komunikacji Spoke-to-Spoke przy wykorzystaniu protokołów routingu dynamicznego, natomiast faza trzecia dodaje możliwość bezpośredniego połączenia końcówek Spoke za pomocą skrótów (Shortcut).
      • Multilevel Spoke-to-SpokeFaza druga udostępnia możliwość komunikacji Spoke-to-Spoke poprzez ruter Global Hub, natomiast faza trzecia dodaje możliwość bezpośredniego połączenia końcówek Spoke.
    Każda z faz protokołu DMVPN posiada własną lekko zmodyfikowaną konfigurację CLI.

    Nawiązywanie tunelu Spoke to Spoke (Faza trzecia III)

    Wizualizacja procesu nawiązywania tunelu Spoke to Spoke
    1. Ruter 21 wysyła pakiety z adresu 10.2.2.1 na adres 10.3.3.1 poprzez adres następnego przeskoku 192.168.1.1, enkapsulując nadawane pakiety nagłówkiem GRE, z adresem docelowym 172.16.1.1.
    2. Serwer 11 de-enkapsuluje nadchodzące pakiety, określając na podstawie tablicy routingu adres następnego przeskoku na 192.168.1.3. Następnie protokół NHRP na podstawie tablicy odwzorowania, określa docelowy adres NBMA pakietów na 172.16.1.3, przesyłając je do ponownej enkapsulacji poprzez ten sam tunel, na którym zostały one odebrane, w celu dostarczenia ich do rutera 31.
      1. Włączona na serwerze 11 opcja Redirect, wykrywa ruch sieciowy kierowany na ten sam tunel z którego ruch ten został odebrany Hairpinning. Co powoduje nadanie do rutera 21 wiadomość NHRP „Redirect”, z informacją o istnieniu bezpośredniej trasy pomiędzy siecią 10.2.2.0/24 a siecią 10.3.3.0/24.
    3. Ruter 21 wysyła do serwera 11 zapytanie NHRP „Resolution” odnośnie bezpośredniej trasy do sieci 10.3.3.1, zawierające adres tunelu GRE (192.168.1.2) oraz adres sieci NBMA (172.16.1.2). W tym samym czasie Ruter 31 przetwarza pakiety otrzymane do serwera 11, po czym odsyła przez niego odpowiedź do rutera 21.
    4. Serwer 11 przetwarza nadchodzące pakiety otrzymane od rutera 31, jednocześnie przesyłając do niego wiadomość NHRP „Redirect”, z informacją o istnieniu bezpośredniej trasy pomiędzy siecią 10.2.2.0/24 a siecią 10.3.3.0/24, ponadto przekazując zapytanie NHRP „Resolution” wysłane przez ruter 21 związku z zapytaniem o bezpośrednią trasę do sieci 10.3.3.1.
    5. Ruter 31 wysyła do serwera 11 swoje własne zapytanie NHRP „Resolution” odnośnie bezpośredniej trasy do sieci 10.2.2.1, jednocześnie odsyłając odpowiedź na wiadomość NHRP „Resolution” wysłaną przez ruter 21 związku z zapytaniem o bezpośrednią trasę do sieci 10.3.3.1. Zawiera ona adres tunelu GRE (192.168.1.3) oraz adres sieci NBMA (172.16.1.3). Odpowiedź NHRP dotyczy całej sieci 10.3.3.0/24 i jest wysyłana bezpośrednio do rutera 21.
    6. Serwer 11 przekazuje odpowiedź NHRP „Resolution” do rutera 21, odnośnie bezpośredniej trasy do sieci 10.3.3.1.
    7. Ruter 21 wysyła do rutera 31 bezpośrednią odpowiedź NHRP „Resolution”, zawierającą adres tunelu (192.168.1.2) oraz adres NBMA 172.16.1.2.

    Pozostałe tematy związane z protokołem DMVPN