VxLAN Fabréck. Deel 1

Moien, habr. Ech sinn de Moment de Cours Leader fir den Network Engineer Cours bei OTUS.
An der Erwaardung vum Start vun enger neier Aschreiwung fir de Cours "Netzwierkingenieur", Ech hunn eng Serie vun Artikelen iwwer VxLAN EVPN Technologie virbereet.

Et gëtt eng enorm Quantitéit u Material wéi VxLAN EVPN funktionnéiert, also wëll ech verschidden Aufgaben a Praktiken sammelen fir Probleemer an engem modernen Rechenzentrum ze léisen.

VxLAN Fabréck. Deel 1

Am éischten Deel vun der Serie iwwer VxLAN EVPN Technologie wëll ech e Wee kucken fir d'L2 Konnektivitéit tëscht Hosten uewen op engem Netzwierk Stoff ze organiséieren.

All Beispiller ginn op engem Cisco Nexus 9000v gemaach, an der Spine-Leaf Topologie versammelt. Mir wäerten net op d'Opstellung vun engem Underlay Netzwierk an dësem Artikel wunnen.

  1. Ënnerlag Netzwierk
  2. BGP peering fir Adress-Famill l2vpn evpn
  3. Opriichten NVE
  4. Ënnerdréckt-arp

Ënnerlag Netzwierk

D'Topologie benotzt ass wéi follegt:

VxLAN Fabréck. Deel 1

Loosst eis d'Adress op all Apparater setzen:

Spine-1 - 10.255.1.101
Spine-2 - 10.255.1.102

Leaf-11 - 10.255.1.11
Leaf-12 - 10.255.1.12
Leaf-21 - 10.255.1.21

Host-1 - 192.168.10.10
Host-2 - 192.168.10.20

Loosst eis kucken ob et IP Konnektivitéit tëscht all Apparater ass:

Leaf21# sh ip route
<........>
10.255.1.11/32, ubest/mbest: 2/0                      ! Leaf-11 доступен чеерз два Spine
    *via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
    *via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 2/0                      ! Leaf-12 доступен чеерз два Spine
    *via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
    *via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.21/32, ubest/mbest: 2/0, attached
    *via 10.255.1.22, Lo0, [0/0], 00:02:20, local
    *via 10.255.1.22, Lo0, [0/0], 00:02:20, direct
10.255.1.101/32, ubest/mbest: 1/0
    *via 10.255.1.101, Eth1/4, [110/41], 00:00:06, ospf-UNDERLAY, intra
10.255.1.102/32, ubest/mbest: 1/0
    *via 10.255.1.102, Eth1/3, [110/41], 00:00:03, ospf-UNDERLAY, intra

Loosst eis kucken datt de VPC Domain erstallt gouf a béid Schalter d'Konsistenzkontroll passéiert hunn an d'Astellunge op béide Wirbelen identesch sinn:

Leaf11# show vpc 

vPC domain id                     : 1
Peer status                       : peer adjacency formed ok
vPC keep-alive status             : peer is alive
Configuration consistency status  : success
Per-vlan consistency status       : success
Type-2 consistency status         : success
vPC role                          : primary
Number of vPCs configured         : 0
Peer Gateway                      : Disabled
Dual-active excluded VLANs        : -
Graceful Consistency Check        : Enabled
Auto-recovery status              : Disabled
Delay-restore status              : Timer is off.(timeout = 30s)
Delay-restore SVI status          : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router    : Disabled

vPC status
----------------------------------------------------------------------------
Id    Port          Status Consistency Reason                Active vlans
--    ------------  ------ ----------- ------                ---------------
5     Po5           up     success     success               1

BGP peering

Schlussendlech kënnt Dir weidergoen fir den Overlay Netzwierk opzestellen.

Als Deel vum Artikel ass et néideg en Netzwierk tëscht Hosten z'organiséieren, wéi am Diagramm hei ënnen gewisen:

VxLAN Fabréck. Deel 1

Fir en Overlay Netzwierk ze konfiguréieren, musst Dir BGP op de Spine a Leaf Switches aktivéieren mat Ënnerstëtzung fir d'l2vpn evpn Famill:

feature bgp
nv overlay evpn

Als nächst musst Dir BGP Peering tëscht Leaf a Spine konfiguréieren. Fir de Setup ze vereinfachen an d'Verdeelung vu Routinginformatioun ze optimiséieren, konfiguréiere mir Spine als Route-Reflector Server. Mir schreiwen all Leaf an der Configuratioun mat Templates fir de Setup ze optimiséieren.

Also d'Astellungen op Spine kucken esou aus:

router bgp 65001
  template peer LEAF 
    remote-as 65001
    update-source loopback0
    address-family l2vpn evpn
      send-community
      send-community extended
      route-reflector-client
  neighbor 10.255.1.11
    inherit peer LEAF
  neighbor 10.255.1.12
    inherit peer LEAF
  neighbor 10.255.1.21
    inherit peer LEAF

De Setup um Leaf Switch gesäit ähnlech aus:

router bgp 65001
  template peer SPINE
    remote-as 65001
    update-source loopback0
    address-family l2vpn evpn
      send-community
      send-community extended
  neighbor 10.255.1.101
    inherit peer SPINE
  neighbor 10.255.1.102
    inherit peer SPINE

Op Spine, loosst eis d'Peering mat all Leaf Schalter kontrolléieren:

Spine1# sh bgp l2vpn evpn summary
<.....>
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.255.1.11     4 65001       7       8        6    0    0 00:01:45 0
10.255.1.12     4 65001       7       7        6    0    0 00:01:16 0
10.255.1.21     4 65001       7       7        6    0    0 00:01:01 0

Wéi Dir gesitt, goufen et keng Problemer mat BGP. Loosst eis weider fir VxLAN opzestellen. Weider Konfiguratioun gëtt nëmmen op der Leaf Säit vun de Schalter gemaach. D'Wirbelsäule handelt nëmmen als Kär vum Netz an ass nëmmen am Traffic iwwerdroen involvéiert. All encapsulation an Wee Bestëmmung Aarbecht geschitt nëmmen op Leaf schalt.

Opriichten NVE

NVE - Netzwierk virtuell Interface

Ier Dir de Setup ufänkt, loosst eis e puer Terminologie virstellen:

VTEP - Vitual Tunnel End Point, den Apparat op deem de VxLAN Tunnel ufänkt oder endet. VTEP ass net onbedéngt all Netzwierkapparat. E Server deen VxLAN Technologie ënnerstëtzt kann och als Server handelen. An eiser Topologie sinn all Leaf Schalter VTEP.

VNI - Virtual Network Index - Netzidentifizéierer bannent VxLAN. Eng Analogie ka mat VLAN gezeechent ginn. Wéi och ëmmer, et ginn e puer Differenzen. Wann Dir e Stoff benotzt, ginn VLANs eenzegaarteg nëmmen bannent engem Leaf Schalter a ginn net iwwer d'Netz iwwerdroen. Awer all VLAN kann eng VNI Nummer hunn, déi mat him assoziéiert ass, déi schonn iwwer d'Netz iwwerdroe gëtt. Wéi et ausgesäit a wéi et benotzt ka ginn, gëtt weider diskutéiert.

Loosst eis d'Feature fir VxLAN Technologie aktivéieren fir ze schaffen an d'Fäegkeet VLAN Zuelen mat enger VNI Nummer ze associéieren:

feature nv overlay
feature vn-segment-vlan-based

Loosst eis d'NVE Interface konfiguréieren, déi verantwortlech ass fir d'Operatioun vu VxLAN. Dësen Interface ass verantwortlech fir Frames a VxLAN Header ze kapsuléieren. Dir kënnt eng Analogie mat der Tunnel Interface fir GRE zéien:

interface nve1
  no shutdown
  host-reachability protocol bgp ! используем BGP для передачи маршрутной информации
  source-interface loopback0    ! интерфейс  с которого отправляем пакеты loopback0

Um Leaf-21 Schalter gëtt alles ouni Problemer erstallt. Wéi och ëmmer, wa mir d'Ausgab vum Kommando kontrolléieren show nve peers, da gëtt et eidel. Hei musst Dir op d'VPC Konfiguratioun zréckgoen. Mir gesinn datt Leaf-11 a Leaf-12 a Pairen funktionnéieren a vun engem VPC Domain vereenegt sinn. Dëst gëtt eis déi folgend Situatioun:

Host-2 schéckt ee Frame Richtung Leaf-21 sou datt et iwwer d'Netzwierk Richtung Host-1 iwwerdréit. Wéi och ëmmer, Leaf-21 gesäit datt d'MAC Adress vum Host-1 iwwer zwee VTEPs gläichzäiteg zougänglech ass. Wat soll Leaf-21 an dësem Fall maachen? No allem heescht dat datt eng Loop am Netz erscheint.

Fir dës Situatioun ze léisen, brauche mir Leaf-11 a Leaf-12 fir och als een Apparat bannent der Fabréck ze handelen. D'Léisung ass ganz einfach. Op der Loopback Interface, aus deem mir den Tunnel bauen, füügt eng sekundär Adress un. Déi sekundär Adress muss op béide VTEPs d'selwecht sinn.

interface loopback0
 ip add 10.255.1.10/32 secondary

Also, aus der Siicht vun anere VTEPs, kréie mir déi folgend Topologie:

VxLAN Fabréck. Deel 1

Dat ass, elo gëtt den Tunnel tëscht der IP Adress vum Leaf-21 an der virtueller IP tëscht zwee Leaf-11 a Leaf-12 gebaut. Elo gëtt et keng Probleemer fir d'MAC Adress vun zwee Apparater ze léieren an de Traffic ka vun engem VTEP an en anert réckelen. Wéi eng vun den zwee VTEPs de Traffic veraarbecht gëtt entscheet mat der Routingtabelle op der Wirbelsäit:

Spine1# sh ip route
<.....>
10.255.1.10/32, ubest/mbest: 2/0
    *via 10.255.1.11, Eth1/1, [110/41], 1d01h, ospf-UNDERLAY, intra
    *via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra
10.255.1.11/32, ubest/mbest: 1/0
    *via 10.255.1.11, Eth1/1, [110/41], 1d22h, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 1/0
    *via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra

Wéi Dir uewen gesitt, ass d'Adress 10.255.1.10 direkt iwwer zwee Next-Hops verfügbar.

Op dëser Etapp hu mir mat der Basis Konnektivitéit beschäftegt. Loosst eis weidergoen fir d'NVE Interface opzestellen:
Loosst eis direkt Vlan 10 aktivéieren an et mat VNI 10000 op all Leaf fir d'Host assoziéieren. Loosst eis en L2 Tunnel tëscht Hosten opbauen

vlan 10                 ! Включаем VLAN на всех VTEP подключенных к необходимым хостам
  vn-segment 10000      ! Ассоциируем VLAN с номер VNI 

interface nve1
  member vni 10000      ! Добавляем VNI 10000 для работы через интерфейс NVE. для инкапсуляции в VxLAN
    ingress-replication protocol bgp    ! указываем, что для распространения информации о хосте используем BGP

Loosst eis elo nve Peers an den Dësch fir BGP EVPN iwwerpréiwen:

Leaf21# sh nve peers
Interface Peer-IP          State LearnType Uptime   Router-Mac
--------- ---------------  ----- --------- -------- -----------------
nve1      10.255.1.10      Up    CP        00:00:41 n/a                 ! Видим что peer доступен с secondary адреса

Leaf11# sh bgp l2vpn evpn

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.255.1.11:32777    (L2VNI 10000)        ! От кого именно пришел этот l2VNI
*>l[3]:[0]:[32]:[10.255.1.10]/88                                   ! EVPN route-type 3 - показывает нашего соседа, который так же знает об l2VNI10000
                      10.255.1.10                       100      32768 i
*>i[3]:[0]:[32]:[10.255.1.20]/88
                      10.255.1.20                       100          0 i
* i                   10.255.1.20                       100          0 i

Route Distinguisher: 10.255.1.21:32777
* i[3]:[0]:[32]:[10.255.1.20]/88
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Hei uewen gesi mir nëmmen EVPN Route-Typ 3. Dës Aart vu Streck schwätzt iwwer Peer(Leaf), awer wou sinn eis Hosten?
D'Saach ass datt Informatioun iwwer d'MAC Hosten iwwer EVPN Route-Typ 2 iwwerdroen gëtt

Fir eis Hosten ze gesinn, musst Dir EVPN Route-Typ 2 konfiguréieren:

evpn
  vni 10000 l2
    route-target import auto   ! в рамках данной статьи используем автоматический номер для route-target
    route-target export auto

Loosst eis vum Host-2 op Host-1 pingelen:

Firewall2# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
36 bytes from 192.168.10.2: Destination Host Unreachable
Request 0 timed out
64 bytes from 192.168.10.1: icmp_seq=1 ttl=254 time=215.555 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=254 time=38.756 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=254 time=42.484 ms
64 bytes from 192.168.10.1: icmp_seq=4 ttl=254 time=40.983 ms

An hei ënnen kënne mir gesinn datt de Wee-Typ 2 mat der Host-MAC Adress an der BGP-Tabell erschéngt - 5001.0007.0007 an 5001.0008.0007

Leaf11# sh bgp l2vpn evpn
<......>

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.255.1.11:32777    (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216                      !  evpn route-type 2 и mac адрес хоста 1
                      10.255.1.10                       100      32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216                      ! evpn route-type 2 и mac адрес хоста 2
* i                   10.255.1.20                       100          0 i
*>l[3]:[0]:[32]:[10.255.1.10]/88
                      10.255.1.10                       100      32768 i
Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i

Als nächst kënnt Dir detailléiert Informatioun iwwer Update gesinn, an deem Dir Informatioun iwwer de MAC Host kritt hutt. Drënner ass net all Kommandoausgang.

Leaf21# sh bgp l2vpn evpn 5001.0007.0007

BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.1.11:32777        !  отправил Update с MAC Host. Не виртуальный адрес VPC, а адрес Leaf
BGP routing table entry for [2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216,
 version 1507
Paths: (2 available, best #2)
Flags: (0x000202) (high32 00000000) on xmit-list, is not in l2rib/evpn, is not i
n HW

  Path type: internal, path is valid, not best reason: Neighbor Address, no labe
led nexthop
  AS-Path: NONE, path sourced internal to AS
    10.255.1.10 (metric 81) from 10.255.1.102 (10.255.1.102)    ! с кем именно строим VxLAN тоннель
      Origin IGP, MED not set, localpref 100, weight 0
      Received label 10000         ! Номер VNI, который ассоциирован с VLAN, в котором находится Host
      Extcommunity: RT:65001:10000 SOO:10.255.1.10:0 ENCAP:8        ! Тут видно, что RT сформировался автоматически на основе номеров AS и VNI
      Originator: 10.255.1.11 Cluster list: 10.255.1.102
<........>

Loosst eis kucken wéi d'Frame ausgesinn wann se duerch d'Fabréck gefouert ginn:

VxLAN Fabréck. Deel 1

Ënnerdréckt-ARP

Super, mir hunn elo L2 Kommunikatioun tëscht den Hosten a mir kéinten do fäerdeg sinn. Wéi och ëmmer, net all sou einfach. Soulaang wéi mir wéineg Hosten hunn, ginn et keng Probleemer. Awer loosst eis eng Situatioun virstellen, wou mir Honnerte an Dausende vun Hosten hunn. Wat Problem kënne mir konfrontéiert?

Dëse Problem ass BUM (Broadcast, Unbekannt Unicast, Multicast) Traffic. An dësem Artikel wäerte mir d'Optioun berücksichtegen fir mam Broadcast Traffic ze handelen.
Den Haapt Broadcast Generator an Ethernet Netzwierker ass d'Host selwer iwwer den ARP Protokoll.

Nexus implementéiert de folgende Mechanismus fir ARP Ufroen ze bekämpfen - suppress-arp.
Dës Fonktioun funktionnéiert wéi follegt:

  1. Host-1 schéckt eng APR Ufro un d'Emissiounsadress vu sengem Netzwierk.
  2. D'Ufro erreecht de Leaf Schalter an amplaz dës Ufro weider un de Stoff Richtung Host-2 ze passéieren, reagéiert de Leaf selwer a weist déi erfuerderlech IP an MAC un.

Sou ass d'Sendungsufro net an d'Fabréck gaangen. Awer wéi kann dëst funktionnéieren wann Leaf nëmmen d'MAC Adress kennt?

Alles ass ganz einfach, EVPN Route-Typ 2, zousätzlech zu der MAC Adress, kann eng MAC / IP Kombinatioun iwwerdroen. Fir dëst ze maachen, musst Dir eng IP Adress am VLAN op Leaf konfiguréieren. D'Fro stellt sech, wéi eng IP soll ech astellen? Op Nexus ass et méiglech eng verdeelt (selwecht) Adress op all Schalter ze kreéieren:

feature interface-vlan

fabric forwarding anycast-gateway-mac 0001.0001.0001    ! задаем virtual mac для создания распределенного шлюза между всеми коммутаторами

interface Vlan10
  no shutdown
  ip address 192.168.10.254/24          ! на всех Leaf задаем одинаковый IP
  fabric forwarding mode anycast-gateway    ! говорим использовать Virtual mac

Also, aus der Siicht vun de Hosten, wäert d'Netz esou ausgesinn:

VxLAN Fabréck. Deel 1

Loosst eis BGP l2route evpn iwwerpréiwen

Leaf11# sh bgp l2vpn evpn
<......>

   Network            Next Hop            Metric     LocPrf     Weight Path
Route Distinguisher: 10.255.1.11:32777    (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216
                      10.255.1.21                       100      32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
                      10.255.1.10                       100          0 i
* i                   10.255.1.10                       100          0 i
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.10.20]/248
                      10.255.1.10                       100          0 i
*>i                   10.255.1.10                       100          0 i

<......>

Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
                      10.255.1.20                       100          0 i
*>i                   10.255.1.20                       100          0 i
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.10.20]/248
*>i                   10.255.1.20                       100          0 i

<......>

Vun der Kommandoausgang kënnt Dir gesinn datt am EVPN Route-Typ 2, nieft dem MAC, mir elo och d'Host IP Adress gesinn.

Loosst eis zréck op d'Astellunge suppress-arp. Dës Astellung ass fir all VNI separat aktivéiert:

interface nve1
  member vni 10000   
    suppress-arp

Da entsteet eng Komplexitéit:

  • Fir dës Fonktioun ze schaffen, Plaz am TCAM Erënnerung néideg. Hei ass e Beispill vun Astellunge fir suppress-arp:

hardware access-list tcam region arp-ether 256

Dës Astellung wäert duebel-breet verlaangen. Dat ass, wann Dir 256 setzt, da musst Dir 512 am TCAM befreien. TCAM opzestellen ass iwwer den Ëmfang vun dësem Artikel, well d'Opstellung vun TCAM hänkt nëmmen vun der Aufgab of, déi Iech zougewisen ass a ka vun engem Netzwierk zu engem aneren ënnerscheeden.

  • Ëmsetzung vun Ënnerdréckung-arp muss op all Leaf Schalter gemaach ginn. Wéi och ëmmer, Komplexitéit kann entstoen wann Dir op Leaf Pairen konfiguréiert, déi an engem VPC Domain wunnen. Wann TCAM geännert gëtt, gëtt d'Konsistenz tëscht de Pair gebrach an een Node kann aus der Operatioun geholl ginn. Zousätzlech kann e Gerät Neistart erfuerderlech sinn fir d'TCAM Changement Astellung z'applizéieren.

Als Resultat musst Dir suergfälteg iwwerleeën ob et an Ärer Situatioun et wäert ass dës Astellung an eng lafend Fabrik ëmzesetzen.

Domat ass den éischten Deel vun der Serie ofgeschloss. Am nächsten Deel kucke mir d'Routing duerch e VxLAN Stoff mat Trennung vun Netzwierker a verschidde VRFs.

An elo invitéieren ech jiddereen op fräi webinar, an deem ech Iech am Detail iwwer de Cours soen. Déi éischt 20 Participanten fir dëse Webinar aschreiwen kréien e Remise Zertifikat per E-Mail bannent 1-2 Deeg no der Sendung.

Source: will.com

Setzt e Commentaire