Tag: get bgp neighbor summary

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

 

 

NSX-t IPSec Route base

W dzisiejszym wpisie przedstawię konfigurację NSX-t IPSec Route base, jest to  opis krok po kroku jak skonfigurować IPseca po stronie NSX’a oraz Vyos który będzie uczestnikiem IPseca. 

Założenia

  1. Poniżej rysunek poglądowy jak wygląda topologia połączeń.
  2. Pomiędzy routerem T0 i chmurką już istnieje połączenie oraz jest zestawione sąsiedztwo BGP w celu dostępu do sieci “Internet” na powyższym rysunku chmurki
  3. Parametry połączenia:
IKE  
IKE wersja v2
Encryption Algorithm
Digest Algorithm
Diffie-Hellman
86400
IPSec  
Encryption Algorithm
Digest Algorithm
PFS Group yes
Diffie-Hellman
SA Lifetime (sec) 3600

Konfiguracja NSX-t

Konfiguracja połączenie IPSEC
  1. Logujemy się do NSX Managera
    nsx-t login page
  2. Przechodzimy do Networking następnie VPN
    NSX-t VPN
  3. Skonfigurujemy profile dla IKE,IPSec przechodząc do Profiles 
    nsx-t profiles
  4. wybieramy IKE-Profiles następnie IKE ADD Profile, w nowym oknie podajemy parametry konfiguracyjne które zostały zebrane powyżej w tabelce oraz podajemy nazwę dla profilu. Po zakończeniu wprowadzaniu zapisujemy profil.
    NSXt ike profile
  5. Kolejnym krokiem jest dodanie profilu dla IPSeca, Wybieramy IPSEC Profiles i następnie ADD IPSEC Profile w nowym oknie podajemy nazwę dla niego oraz parametry z tabelki powyżej.
    NSX-t ipsec profile
  6. Ostatnim profilem do utworzenie jest profil DPD, wybieramy DPD Profiles i ADD DPD Profile, w nowym oknie podajemy nazwę oraz zostawiamy 60 secund.
    NSX-t DPD profile
  7. Po skonfigurowaniu profilu dla IKE i IPSec oraz DPD przechodzimy do konfiguracji VPN Service robimy to przechodząc do VPN Services gdzie klikamy na ADD Service i wybieramy IPSEC. W nowym oknie podajemy nazwę oraz wybieramy na który gateway ma zostać uruchomiony serwis odpowiedzialny za IPSeca w naszym przypadku będzie to T0.
    NSX-T VPN Service
  8. W tym kroku przechodzimy do konfiguracji LOCAL EDNPOINTS  klikamy ADD LOCAL ENDPOINT w tym miejscu skonfigurujemy adres z którego oraz do którego będziemy nawiązywać sesję IPSec.
    NSXt vpn local endpoint
  9. Przyszedł na ostatni krok konfiguracji IPSec przechodzimy do IPSEC SESION wybieramy Route Based.
    nsx-t ipsec route based
  10. W nowym okniekonfigurujemy naszą sesję IPSec podajemy dane:
    Nazwa – dowolna nazwa dla sesji.
    VPN Service – wybieramy wcześniej zdefiniowany profil.
    Local Endpoint – podobnie wybieramy profil który wcześniej skonfigurowaliśmy.
    Remote IP – podajemy adres IP partnera z którym będziemy nawiązywać sesję IPSec.
    Authentication Mode – w naszym przypadku wybieramy PSK może kiedyś zrobię opis na certach :-).
    Pre-shared Key – podajemy nasz klucz PSK 
    Tunnel Interface – podajemy ip dla naszego interfejsu tunel w naszym przypadku jest to 100.100.10.1/30 musi być podana maska min 31.
    Remote ID – podajemy zakończenie tunelu po drugiej stronie, zgodnie z założeniami jest to 2.2.2.2
    Do kolejnych ustawień przechodzimy klikając  Advanced Properties gdzie dalej podajemy parametry naszego połączenia:
    IKE Profiles – wybieramy utworzony przez nas profil IKE.
    IPSec Profiles – wybieramy utworzony przez nas profil dla IPSec.
    DPD Profiles – wybieramy utworzony profil dla DPD.
    Connection Initiation – określmy rolę w naszym przypadku zostawiamy bez zmiany.
    Parametry nie wymienione zostawiamy bez zmian.
    NSX-t vpn ipsec sesion
  11. Po wyższych krokach mam skonfigurowane parametry dla IPSeca Rouet Base.
Konfiguracja Routingu w NSX

W tej sekcji dowiesz się jak skonfigurować redystrybucję adres Local Endpoint oraz jak zestawić BGP. 

Konfiguracja redystrybucji

Aby poprawnie zestawić połączenie IPSec przydało by się do naszej chmurki która jest pokazana na rysunku na początku wpisu rozgłosić adres Local Endpoint a robimy to tak:

  1. Przechodzimy do Networking następnie do Tier0 wybieramy nasz router T0 i przechodzimy do jego edycji.
    EDIT T0 router
  2. Przechodzimy do ROUTE RE-DISTRIBUTION klikamy na cyfrę w przy Route Re-Distribution.
    t0
  3. W nowym oknie zaznaczamy IPSec Local IP i klikamy Apply.
    IPSec local IP
  4. Na koniec zapisujemy oraz klikamy close editing i temat ten mamy za sobą. 
Konfiguracja BGP pomiędzy NSX a Vyos

W IPSec route base protokół routingu jest odpowiedzialny za ustalenie pomiędzy jakimi sieciami ma nastąpić szyfrowanie w kanale IPSec. W NSX-t mamy do dyspozycji dwa protokoły routingu jest to statk oraz BGP w tym punkcie skupię się właśnie nad poczciwym BGP’em. 

  1. Aby skonfigurować sesję BGP przechodzimy do Networking następnie do Tier0 wybieramy nasz router T0 i przechodzimy do jego edycji
    EDIT T0 router
  2. Tam przechodzimy do sesji BGP, gdzie jest to pierwsza sesja BGP konfigurujemy:
    Local AS – w labie oraz DC wybieramy coś z puli privet AS 
    resztę parametrów zostawiamy bez zmian w labie, w DC można podkręcić czasy sesji BGP 
    Tutaj już mamy to skonfigurowane bo mamy sesję do mojej chmurki 
    nsx-t bgp
  3. W kolejnym ważnym krokiem jest skonfigurowanie sąsiedztwa BGP aby to zrobić przechodzimy do BGP Neighbors. W tym przypadku dodajemy kolejne sąsiedztwo. 
    bgp sasiedzwto
  4. W nowym oknie dodajemy nowego sąsiada gdzie podajemy parametry do skonfigurowania
    IP Address – podajemy adres ip sąsiada w naszym przypadku jest to 100.100.10.2
    Remote AS – Podajemy numer AS sąsiada w naszym przypadku jest to 65555
    Source Addresses – podajemy nasz adres 100.100.10.1
    bgp add
  5. Klikamy Save i mamy skonfigurowane po stronie NSX’a BGP 

Aby wszystko zadziałało musimy skonfigurować naszego sąsiad czyli przechodzimy do konfiguracji Vyos,

Konfiguracja Vyos

Jak to było w piosence “do tanga trzeba dwojga” w tym przypadku partnerem dla NSX będzie Vyos na którym poniżej przedstawię jak skonfigurować IPSec route Based oraz BGP.  Nie będę pokazywał podstawowej konfiguracji tylko skupię się na omawianych zagadnieniach. Cała konfiguracja jest wykonywana z poziomy SSH. W tym labie wykorzystuję wersję trochę starą bo jest to 1.3 

Konfiguracja połączenie IPSEC w Vyos
  1. Logujemy się do naszego Vyos po ssh
  2. Przechodzimy do konfiguracji i konfigurujemy nasz profil dla fazy 1 zgodnie z założeniami

    czysta konfiguracja same komendy

  3. Następnie profil dla fazy 2 
  4. Profil dla DPD

    same komendy 

  5. Tworzymy interfejs tunelowy oraz nadajemy jemu adres ip zgodnie z założeniami
  6. Konfiguracja IPSeca
    same komendy które zostały użyte powyżej 
  7. Na koniec wykonujemy commit

     

Konfiguracja BGP w Vyos

Po skonfigurowaniu IPSeca przechodzimy do konfiguracji sesji BGP, poniżej bardzo szybki config.

same komendy:

 

Weryfikacja

Po czasie konfiguracji NSXa i jak Vyos przyszedł czas na weryfikację naszej pracy.

Sprawdzenie po stronie NSX 

IPSEC
  1. logujemy się po SSH do Edga na którym jest nasze T0
  2. sprawdzamy sesję ike wykonując komendę get ipsecvpn ikesa active 

     

  3. Weryfikujemy całego IPSeca wykonując komendę get ipsecvpn session

     

  4. Weryfikujemy jak wyglądają statystyki czy zmieniają się wykonując komendę get ipsecvpn tunnel stats 
BGP

Podobnie jak wyżej wykorzystujemy połączenie ssh do EDGE

  1. sprawdzamy jaki id VRF ma nasz router T0 moduł serwisowy wykonując komendę 
  2. przechodzimy do vrfu 2 
  3. Sprawdzamy siąsietzdwa BGP wykonując komendę get bgp neighbor summary
  4. sprawdzamy tablicę routingu wykonując polecenie get route bgp
Weryfikacja Vyos

Wszystkie sprawdzenie po stronie również wykonujemy z poziomu CLI poprzez SSH

Sprawdzenie IPSEC
  1. sprawdzamy sesję IKE
  2. Sprawdzamy sesję IPSec
Weryfikacja BGP
  1. weryfikacja statusu BGP
  2. Sprawdzenie tablicy routingu 

     

Na koniec test puszczenie ping z Vyosa to NSX’a dokładnie na ip 10.11.1.1 który potwierdzi nam działanie transmisji w IPSecu

 

Jak widać proces weryfikacji wyszedł pozytywnie i możemy cieszyć się skonfigurowanym IPSeciem typu route base. Jak Macie pytania to zapraszam do kontaktu.