Tag: evpn

NSX-T EVPN

W poprzednim wpisie pokazałem jak skonfigurować DVS z NSX-t, dziś przedstawię bardzo ciekawą nową funkcjonalność w NSX-T 3.0 jest to EVPN.

W dokumentacji VMWare na czas pisania tego wpisu nie znalazłem za dużo informacji o konfiguracji, którą poczyniłem poniżej. Mam nadzieję, że przyda się Wam ta wiedza.

Co to jest EVPN

W kilku prostych słowach. EVPN (Ethernet VPN) jest to standard IEEE który dostarcza nam VPN warstwy 2 i 3. W EVPNie mamy control i data plane. NSXie Multiprotokol BGP (MPBGP) jest odpowiedzialne za control plane a VXLAN data plane.

Testowa architektura

Poniżej przedstawiam ogólną architekturę rozwiązania gdzie widzimy na routerze zewnętrznym w tym przypadku jest to Juniper vMX mamy 2 Vrfy A i B które przekażemy w sesji MP BGP do routera T0 na którym zostaną rozszyte do odpowiednich VRF’ów o tej samej nazwie oraz RD. Na końcu do tych VRF’ów zostaną podłączone routery T1 które będą miały podłączone segmenty.

Wymagania i ograniczenia

Wymagania Ograniczenia
MTU min 1600 na uplinku do vMX na chwilę nie znalazłem
Urządzenia muszą wspierać MPBGP oraz EVPN type 5

Konfiguracja EVPN

Konfiguracja NSX-T EVPN

Przygotowanie

Konfiguracja VNI POOL

Logujemy się do NSX Managera przechodzimy do Networking –> Networking Settings następnie VNI Pool.  Poola ta będzie używana do tworzenia połączenia EVPN

Klikamy ADD VNI POOL i w nowym oknie definiujemy pulę id dla VNI.

Gdzie w Name nadajemy nazwę
Start – ID od którego rozpocznie poola
END – ID do którego będzie poola VNI

Konfiguracja Segmentu dla T0

Konfigurujemy Segment który będzie stanowił połączenie pomiędzy T0 i naszym vMXem przechodzimy do Networking następnie Segments.

Klikamy ADD Segment w nowym oknie konfigurujemy go

Nadajemy nazwę, wybieramy nasz transport zone typu Vlan, oraz nadjemy vlan id i zapisujemy.

Utworzenie i konfiguracja routera T0
  1. W tym środowisku stworzyłem jeden router T0 na dedykowany do tego jednym EDGE VM którą przypisałem dla klastra edge-cluster-02 Nowy router zostanie stworzony na dedykowanym klastrze edge. Dla środowiska testowego uruchamiam to na jednym EDGE VM.
    Przechodzimy do tworzenie routera T0,

    w nowym oknie nadajemy nazwę dla naszego Tier-0 Routera

    Klikamy save
  2. Po utworzeniu routera T0 konfigurujemy interfejs Uplink do vMX. Przechodzimy do Edycji utworzonego T0 przechodzimy do Interfejs

    klikamy set i w nowym oknie klikamy ADD Interface w pierwszej kolejności Uplink-vlan11. Tutaj mamy do skonfigurowania:
    – nadajemy nazwę dla interfejsu,
    – wybieramy Tym External,
    – nadajemy adres ip,
    – przypinamy do segmentu utworzonego na samym początku.
    – Przypinamy na której EDGE VM ma być przypięty interfejs. W tym przypadku to jest jedyny edge vm który mam dostępny do tego.
    – ustawiamy MTU ze względu że będzie tam VXALN enkapsulacja musimy ustawić min. 1600
  3. Konfiguracja Interfejsu loopback
    Teraz utworzymy interfejs loopback który będzie służył nam do zapinania sesji EVPN pomiędzy T0 a vMX’em
  4. Konfiguracja EVPN
    Przechodzimy do EVPN Settings gdzie w VNI Pool wybieramy nasz profil dla VNI który wcześniej utworzyliśmy.
  5. EVPN Tunel Endpoint
    W tym sam miejscu ustawiamy EVPN Tunel Endpoint który wskazuje nasz interfejs loopback
  6. BGPKonfigurujemy sąsiedztwo BGP na interfejsie Uplink. W ta sesja posłuży nam do rozgłoszenia adresu IP Loopback
    Przechodzimy do sekcji BGP gdzie konfigurujemy:
    -Local AS
    – BGP włączamy

    Przechodzimy do BGP Neigbors gdzie konfigurujemy sąsiedztwo dla Interfejsu loopback i uplink
  7. Konfiguracja sąsiedztwa
    Sąsiedztwo na interfejsie uplink poniżej schemat poglądowy:

    Konfiguracja od strony NSX-T

    schemat logiczny:

    Konfiguracja sąsiedztwa na interfejsie loopback

    gdzie dla tego połączenie ustawiamy dodatkowy filtr
  8. redystrybucja routingu
    W sekcji Route RE-DISTRBUTION konfigurujemy profil gdzie włączamy takie jak poniżej redystrybucje:

    w powyższych krokach mamy skonfigurowane połączenie oraz sesje BGP z vMX’em
Konfiguracja routera VRF A
  1. utworzenie routera VRF1
    przechodzimy do Networking Tier-0 Gateways wybieramy ADD Gateway i wybieramy VRF
  2. Konfiguracja VRF
    W nowym oknie konfigurujemy nazwę dla VRFu do którego T0 zostanie podłączony, Nadajemy unikalny RD(Route Distinguisher) oraz wybieramy ID VNI który będzie służył do tunelowania pomiędzy VRFem a vMXem
    Tutaj można zastosować metodę dla RD że jest w formacie AS:VNI
  3. Tworzenie Interfejsu loopback w VRFie A
    Przechodzimy do Edycji VRF-A

    Gdzie przechodzimy do sekcji Interface i dodajemy Interfejs
  4. włączamy redystrybucję sieci podłączonych typu loopback oraz sieci z T1

VRF B potarzamy powyższe korki tylko zmieniamy dane zgodnie z rysunkiem

 

Router T1

Do każdego VRF’u zostanie podłączony nie zależny router T1 a każdy router T1 będzie miał podłączony jeden segment.

  1. Tworzymy router T1
  2. włączamy rozgłaszanie podłączonych segmentów
  3. Tworzymy segment podłączony do T1

Powyższe kroki powtarzamy dla routera T1 podłączonego do VRFu B

Konfiguracja vMX’a

  1. Konfiguracja Interfejsu ge-0/0/0.11 do T0.
    Konfigurujemy połączenie pomiędzy T0 i vMX oraz na interfejsie włączamy MTU 9K.
  2. Konfiguracja interfejsu loopback 0.

    Konfigurujemy interfejsy które będą dodane do VRF’ów A i B.
  3. Konfiguracja sesji BGP
    W pierwszym kroku konfigurujemy sesję BGP na interfejsie uplink vlan 11 który łączy vMX i T0

    w drugim korku konfigurujemy BGO pomiędzy interfejsami loopback
  4. Konfiguracja polityki eksportującej wszystkich sieci direct
  5. VRFy
    Konfiguracja VRF-A

    Konfiguracja VRF-B
  6. Wykonujemy commit i przechodzimy do weryfikacji

Weryfikacja

Weryfikacja po stronie vMX
  1. Sprawdzenie BGP

    Jak widzimy sesje BGP unicast oraz evpn są zestawione
  2. Sprawdzamy tablicę routingu

    w tablicy routingu wygląda wszytko ok – jak widać tylko w tablicy inet.0 warto od strony T0 włączyć odpowiedni filtrowanie rozgłaszanych prfixów w BGP dla loopbacka, ale to jest kosmetyka.
  3. ulubiony test ping pomiędzy interfejsami loop back

     
Weryfikacja po stronie NSX-T

Po stronie NSX sprawdzamy z poziomu CLI. Logujemy się z na EDGE VM na którym jest uruchomione T0
1. sprawdzamy na którym id jest uruchomione SR dla T0

2. przechodzimy do VRF 4 i sprawdzamy stan BGP

3. sprawdzamy stan BGP EVPN – get bgp evpn

kilka innych pomocnych komend do weryfikacji z poziomy serwis routera T0

Wyświetla wszystkie dostępne VRFy z przypisanym VBNI get bgp evpn vni 
Wyświetla tablicę routingu w protokole BGP z podziałem na RD get bgp evpn overlay
Pokazuje skonfigurowane VRFy które są aktywne w EVPN get evpn vni

 

 

LAB vxlan – Juniper vMX i Cisco CSR1kv oraz ASAv

Po pierwszym wpisie o VxLAN, gdzie oparłem się wyłącznie na Cisco CSRv oraz ASAv przyszła pora na testowanie w konfiguracji multivendor.
Do tego laba wykorzystałem:

  • Cisco CSRv
  • Cisco ASAv
  • Juniper vMX

Wszystko zostało uruchomione na Vmware Workstation.

W dobie wirtualizacji serwerów i desktopów postanowiłem wziąć się ostro za poznanie świata wirtualizacji networku tym bardziej kiedy coraz częściej słyszy się hasło vxlan.
Postanowiłem sprawdzić jak wygląda konfiguracja na “sprzęcie”.
Następnym etapem będzie integracja tego co robię na urządzeniach sieciowych w połączeniu ze światem wirtualnym ale o tym później…

Konfiguracja oraz poznanie tej technologii było dla mnie najbardziej czasochłonnym zajęciem do tej pory ale dla tych co też chcą walczyć z poznaniem vxlan zostawiam swoją notatkę w postaci wpisu.

Oprócz samej technologi vxlan poruszę tu zaganiania takie jak: BGP, OSPF, MPLS, Multicast. Dzięki takim labom człowiek przypomina sobie ww technologie oraz nadrabia braki.

Zapraszam do lektury.

Lab

Poniżej schemat poglądowy Laba.

 

evpn

Jak widać na powyższym schemacie mamy trzy vtep’y i Cisco CSRv, które wykorzystuje jako Core spinające wszystko.

Teraz przechodzimy do fajniejszych rzeczy czyli do konfiguracji.

Konfiguracja interfejsów sieciowych na urządzeniach:

Cisco ASA –  asav01

Cisco CSR – csrv03

Juniper vMX – vmx01

Juniper vMX – vmx02

Cisco ASAv – vtep01

Rysunek szczegółowy dla połączeń vtep01 do vmx01

vmx01_1

Cisco ASAv – vtep02

Rysunek szczegółowy dla połączeń vtep02 do vmx02

vmx02_1

Konfiguracja OSPF

W tym kroku konfigurujemy routing dynamiczny z wykorzystaniem OSPF. Urządzenia vmx01 oraz vmx02 będą skonfigurowane w dwóch obszarach ospf.

Cisco ASA –  asav01

Cisco CSR – csrv03

Juniper vMX – vmx01

Juniper vMX – vmx02

Cisco ASAv – vtep01

Cisco ASAv – vtep02

Weryfikacja OSPF

Juniper vMX – vmx01

Juniper vMX – vmx02

Cisco ASAv – vtep01

Cisco ASAv – vtep02

Cisco ASA –  asav01

Cisco CSR – csrv03

Konfiguracja BGP

Juniper vMX – vmx01

Juniper vMX – vmx02

Weryfikacja BGP

Juniper vMX – vmx01

Juniper vMX – vmx02

Konfiguracja MPLS z sygnalizacją LDP

Cisco CSR – csrv03

Juniper vMX – vmx01

Juniper vMX – vmx02

Weryfikacja MPLS

Cisco CSR – csrv03

Juniper vMX – vmx01

Juniper vMX – vmx02

Konfiguracja Multicast

Juniper vMX – vmx01

Juniper vMX – vmx02

Cisco ASAv – vtep01

Cisco ASAv – vtep02

Cisco ASA –  asav01

Weryfikacja Multicast

Juniper vMX – vmx01

Juniper vMX – vmx02

Cisco ASAv – vtep01

Cisco ASAv – vtep02

Cisco ASA –  asav01

Konfiguracja VxLAN

ze względu na połączenie evpn z vxvlan oraz łączenie interfejsów będziemy wykorzystywać routing instancje dla vxvlan6666 oraz vxvlan1100 oraz będziemy łączyć ze sobą segmenty wykorzystując bridge domain.

Jedna uwaga:

po uruchomieniu vxlan na Cisco ASAv przestaje działać OSPF ze względu na zmianę MTU  na interfejsie źródłowym dla vtep’a i dlatego na urządzeniach sąsiednich trzeba zmienić MTU:

Cisco CSR – csrv03

Juniper vMX

Przypadek 1

Rysunek poglądowy:

p1_1

Na Cisco ASA asav01 jest uruchomiony interfejs vni 6666 a Juniper vMX ma dostęp do tego vxlanu i tworzy Bridge pomiędzy vxvlanem, evpnem a vlanem 100, do którego będzie podłączone kolejne Cisco ASA z fizycznym interfejsem.

 

Na urządzeniach vMX konfigurujemy routing instances typu evpn

Juniper vMX – vmx01

Konfigurujemy interfejs, do którego będzie podłączony vtep01. Port jest tagowany vlanem 100

Juniper vMX – vmx02

Konfigurujemy interfejs, do którego będzie podłączony vtep01. Port jest tagowany vlanem 100

Cisco ASAv – vtep01

routing domyślny przez asav01

Cisco ASAv – vtep02

routing domyślny przez asav01

Cisco ASA –  asav01

Konfiguracja nat’u oraz routingu tak aby był dostępny Internet

Weryfikacja:

Cisco ASAv – asav01

Wykonujemy pingi interfejsów l3

 

Tablica arp:

vxvlan:

Cisco ASAv – vtep01

Po skonfigurowaniu routingu domyślnego możemy osiągnąć Internet