W poprzednich wpisach pokazałem jak skonfigurować prawie całego NSX-t, dziś przyszedł czas na najciekawsze z perspektywy osób zajmujących się siecią – będziemy konfigurować NSX-t Routing.
Poniżej plan całej serii poświęcony NSX-t:
Plan Działania
Poniżej plan działania oraz odnośniki wcześniejszych wpisów o NSX-T.
- Instalacja NSX Managera
- Instalacja NSX-t Controller
- podłączenie ich do NSX Mangera
- utworzenie klastra
- dodanie pozostałym NSX Controllerów do klastra
- Instalacje NSX Edge
- dodanie do NSX Managera
- dodanie workloadu do NSX Managera
- vCenter
- instalacja modułów NSX-t na hostach
- Konfiguracja NSX-t Transport Node i Transport Zone
- IP pool
- Uplink profile
- Transport zone
- Transport node
- Edge cluster
- switche
- Utworzenie połączenie ze światem (NSX-t Routing)
- architektura
- utworzenie routera Tier 0
- utworzenie routera Tier 1
- Konfiguracja redystrybucji sieci z Tier 1 do Tier 0
- Konfiguracja BGP
- Konfiguracja redystrybucji routingu z Tier 0 w kierunku świata
- Weryfikacja od strony NSX-t
- Weryfikacja od strony Hosta
- Load Balancer
- Utworzenie puli serwerów
- Utworzenie VIP’a
- Konfiguracja routingu pod load balancer
- …
Dla przy pomnienia nasz schemat jak wygląda połączenie kart sieciowych
a poniżej schemat sieci jak to będzie połączone ze światem. Jak widzimy każda sieć będzie miała swoją bramę na routerze Tier1.
Architektura
Parę słów o funkcjonalności routera w NSX-t, pierwsza różnica jest taka że mamy możliwość utworzenia 2 rodzaje routerów Tier0 i Tier1. Routery są połączone ze sobą automatycznie podczas tworzenia siecią wewnętrzną.
Tier0 router ten poświęcony jest bardziej do łączenia go ze światem zewnętrznym, ale jest możliwe utworzeni sieci w Overlay.
Tier1 router poświęcony sieciom w overlay wyłącznie. Połączenie jest tylko możliwe do routera Tier 0.
Każdy z routerów jest podzielony wewnętrznie funkcjonalnie na:
-Service router (SR) – funkcje są realizowane na EDGE.
-Disributed router (DR) – Funkcje są realizowane w kelnerze każdego hosta biorącego udział w sieci nakładowej
Wszystkie połączenie wewnętrzne pomiędzy SR i DR są realizowane przez sieć overlay
Architektura widziana górnolotnie pracująca w mym labie:
Konfiguracja
Adresowanie Interesów
- Logujemy się do NSX-t Managera i przechodzimy do sekcji Routing
- Dodajemy nowy router T0
- W nowym oknie konfigurujemy:
- Od razu konfigurujemy router T1 gdzie konfigurujemy:
- Mamy skonfigurowane routery T0 i T1, przechodzimy do konfiguracji interesów w T0, będzie to interfejs uplinkowy na świat, przechodzimy do Routers wybieramy nasz T0 wybieramy w Configuration Router Ports
- w nowym oknie klikamy add
- następnie konfigurujemy nasz interfejs uplinkowy na świat gdzie konfigurujemy:
- W podobny sposób konfigurujemy nasze interfejsu na routerze T1, przechodzimy do konfiguracji T1 i oddajemy interfejsy te które są na samej górze na schemacie
Redystrybucja sieci z T1 do T0
Aby była komunikacja z T0 do T1 musimy z poziomu routera T1 włączyć redystrybucję sieci które są na nim, poniżej szybka konfiguracja.
- Na chwilę obecną mamy skonfigurowane interfejsy w T1, skonfigurujemy redystrybucję ich do T0, przechodzimy do Routing –> Route Advertisment
- w nowym oknie klikamy EDIT
- w kolejnym włączamy redystrybucję oraz wybieramy które sieci mają być rozdystrybuowane, na koniec klikamy save.
- Po chwili zobaczymy że rozgłaszamy 3 sieci
Konfiguracja BGP
- przechodzimy do naszego Routera T0 następnie do Routing –> BGP
- w nowym oknie klikamy EDIT
- następnie włączamy BGP oraz nadajemy Local AS
- w tym kroku skonfigurujemy sąsiedztwo BGP, klikamy ADD
- w otwartym oknie konfigurujemy:
Redystrybucja pomiędzy T0 a sąsiadem
mamy już skonfigurowane BGP, teraz skonfigurujemy redystrybucję sieci z NSX-t na świat.
- przechodzimy do Routing –> Route Redistribution
- w nowym oknie klikamy EDIT
- w tym miejscu włączymy redystrybucję
- kolejnym krokiem będzie dodanie polityki redystrybucji klikamy ADD
- w nowym oknie konfigurujemy naszą politykę wybieramy NSX Connected oraz NSX Static, pozwoli nam to na rozgłaszanie sieci które są podłączone do T0 oraz T1 klikamy Save i kończymy konfigurację BGP
Weryfikacja z poziomu CLI
Logujemy się po SSH do naszego EDGE
1. wyświetlamy wszystkie nasze logiczne routery
nsx-edge01> get logical-routers Logical Router UUID VRF LR-ID Name Type Ports 736a80e3-23f6-5a2d-81d6-bbefb2786666 0 0 TUNNEL 3 bdbb7f8a-e6fb-4122-b8ea-f328145c00bc 17 45 SR-Router-Tier-1 SERVICE_ROUTER_TIER1 5 fecf0c19-9cf3-4d35-b9c5-b0cb6608d355 18 46 SR-Router-Tier-0 SERVICE_ROUTER_TIER0 5 4c8eaf80-2b65-4baf-8b39-feee7ac5048e 19 44 DR-Router-Tier-1 DISTRIBUTED_ROUTER_TIER1 6 fb488d2c-a4ec-4b51-a49c-8af9a8aba669 20 43 DR-Router-Tier-0 DISTRIBUTED_ROUTER_TIER0 4 nsx-edge01>
2. przełączamy się do service router T0
nsx-edge01> vrf 18 nsx-edge01(tier0_sr)>
3. Wyświetlamy sąsiedztwo BGP
nsx-edge01(tier0_sr)> get bgp neighbor BGP neighbor: 10.254.16.1 Remote AS: 65100 BGP state: Established, up BFD state: Not configured Hold Time: 180s Keepalive Interval: 60s Capabilities: 4Byte ASN: advertised and received Route Refresh: advertised and received Graceful Restart: None Restart Remaining Time: 0 Address Family: IPv4 Unicast:advertised and received Messages: 12813 received, 14724 sent Minimum time between advertisements: 30s (default) 1 Connections established, 1 dropped Local host: 10.254.16.111, Local port: 179 Remote host: 10.254.16.1, Remote port: 35135 Route Refresh: 0 received, 0 sent For Address family: IPv4 Unicast:advertised and received Prefixes: 12 received 3 sent 3 advertised
4. wyświetlamy tablicę routigu
nsx-edge01(tier0_sr)> get route Flags: c - connected, s - static, b - BGP, ns - nsx_static nc - nsx_connected, rl - router_link, t0n: Tier0-NAT, t1n: Tier1-NAT t1l: Tier1-LB VIP, t1s: Tier1-LB SNAT Total number of routes: 17 b 0.0.0.0/0 [20/0] via 10.254.16.1 ns 10.253.10.0/24 [3/0] via 169.254.0.1 ns 10.253.20.0/24 [3/0] via 169.254.0.1 ns 10.253.30.0/24 [3/0] via 169.254.0.1 c 10.254.16.0/24 [0/0] via 10.254.16.111 b 10.255.0.0/24 [20/0] via 10.254.16.10 b 10.255.2.0/24 [20/0] via 10.254.16.10 b 10.255.10.0/24 [20/0] via 10.254.16.10 b 10.255.20.0/24 [20/0] via 10.254.16.10 b 10.255.100.0/24 [20/0] via 10.254.16.10 b 10.255.101.0/24 [20/0] via 10.254.16.10 b 10.255.102.0/24 [20/0] via 10.254.16.10 rl 100.64.16.0/31 [0/0] via 169.254.0.1 c 169.254.0.0/28 [0/0] via 169.254.0.2 b 172.20.240.0/26 [20/0] via 10.254.16.1 b 172.20.243.160/27 [20/0] via 10.254.16.1 b 192.168.55.230/32 [20/0] via 10.254.16.1
Weryfikacja z poziomu host w sieci NSX-T
Logujemy się na któregoś z hostów w naszej sieci, w mym przypadku będzie to Linux więc loguję się po ssh i sprawdzamy czy mamy komunikację ze światem.
root@Web01:~# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=58 time=4.36 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=58 time=4.22 ms ^C --- 8.8.8.8 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 4.226/4.297/4.369/0.097 ms root@Web01:~#