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.