VxLAN-Underlay-middels-BGP-blog

VxLAN Underlay middels BGP en Link Local Peering

Binnen het VxLan, BGP en EVPN design wordt er veel gebruik gemaakt van IPv4 /30 subnets op de verbindingen tussen de Leafs en Spines. Dit zorgt voor veel documentatie die bijgehouden moet worden en veel variabelen in configuraties, maar dit kan simpeler. 

Tegenwoordig ondersteunen de meeste vendoren het 64-bit Extended Unique Identifier format (EUI-64), waarmee netwerk apparaten een IPv6 kunnen genereren. Hierdoor hoeven we geen IP adressen bij te houden en kunnen we het stukje configuratie makkelijker verwerken in templates.

VXlan underlay image1

IPv6 EUI-64

IPv6 is 128 bit lang, hiervan wordt 64 bit gebruikt voor het subnet ID en 64 bit voor het interface ID.
IPv6 EUI-64 is de methode die gebruikt wordt om het interface ID te generen.

Subnet ID

Voor het link local adres is het subnet FE80::/10 gereserveerd, maar in praktijk zie je dat FE80::/64 gebruikt wordt. Je krijgt dus op de interface het volgende adres te zien fe80::<interface ID>/64. Dit subnet kan niet routeren en het is daarom mogelijk om op elke interface hetzelfde subnet ID te gebruiken.

Interface ID

Het interface ID is 64 bit lang en wordt gegenereerd middels het MAC Adres 48 bit. Maar zoals we kunnen zien is het MAC adres kleiner dan het Interface ID, dus we moeten deze aanvullen. Dit doen we door het MAC adres in tweeën te splitsen en FF:FE (16 bit) toe te voegen. Hierna moeten we het U/L bit omdraaien, om aan te geven dat dit een lokaal gegenereerd adres is, en daarna hebben we ons interface ID.

Voorbeeld Arista router

Door het Subnet ID (fe80::/64) te combineren met ons interface ID (e4c:97ff:fe27:1fe6) krijgen we ons IPv6 link local adres.

Spine1(config)#show interfaces ethernet 1
Ethernet1 is up, line protocol is up (connected)
Hardware is Ethernet, address is 0c4c.9727.1fe6
IPv6 link-local address is fe80::e4c:97ff:fe27:1fe6/64

Configuratie voorbeeld Arista

We hebben een setup opgebouwd in ons lab middels Arista vEOS.
De configuratie van onze LEAF1 ziet er als volgt uit:

! Command: show running-config

! device: Leaf1 (vEOS-lab, EOS-4.32.2F)

!

service routing protocols model multi-agent  ÃŸ Nodig voor Multiprotocol BGP (MP-BGP).

!

hostname Leaf1

!

interface Ethernet11

   mtu 9214

   no switchport

   ipv6 enable                                         <- Nodig om IPv6 te kunnen gebruiken op de interface.

   ipv6 address auto-config                <- Hiermee zeg je dat de interface zijn eigen adres

!                                                                   moet genereren middels EUI-64.

interface Ethernet12

   mtu 9214

   no switchport

   ipv6 enable

   ipv6 address auto-config

!

interface Loopback0

   ip address 1.1.2.1/32

!

ip routing ipv6 interfaces                      <- Nodig voor IPv6 routing.

!

ip prefix-list loopback

   seq 10 permit 1.1.2.0/24 ge 24

   seq 20 permit 1.128.1.0/24 ge 24

!

ipv6 unicast-routing                               <- Nodig voor IPv6 routing.

!

route-map loopback permit 10

   match ip address prefix-list loopback

!

router bgp 65011

   router-id 1.1.2.1

   no bgp default ipv4-unicast

   neighbor spine peer group

   neighbor spine bfd

   neighbor spine graceful-restart

   neighbor interface Et11-12 peer-group spine remote-as 65001      <- Link Local Neighbor.

   !                                                                                                                   

   address-family ipv4

      neighbor spine activate

      neighbor spine next-hop address-family ipv6 originate

      redistribute connected route-map loopback

!

Vragen?

U kunt altijd contact met SolidBE opnemen mocht u een vraag hebben over een van de besproken onderwerpen (Arista, Netwerk, TechTalk ) of wanneer u assistentie nodig heeft om netwerk- of security vraagstukken op te lossen. Wij helpen u graag bij de beheren van een veilige en solide ICT omgeving!

Auteur

Raoul Leeuwis is Network Engineer bij SolidBE

Scroll naar boven