Cisco EVPN

From HackerNet
Revision as of 16:12, 11 April 2018 by Helikopter (talk | contribs) (Created page with "Ethernet VPN (RFC 7432) är en modernare variant än VPLS för att tillhandahålla Ethernet multipoint services över IP (VXLAN) eller Cisco_M...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ethernet VPN (RFC 7432) är en modernare variant än VPLS för att tillhandahålla Ethernet multipoint services över IP (VXLAN) eller MPLS utan att behöva en central controller. EVPN är en adressfamilj i BGP som används för peer discovery och för att distribuera lokala MAC-adresser och MAC/IP bindings till andra tunnel endpoints. Man använder både L2 och L3 forwarding information och det fungerar ihop med externa IP-prefix. Next-hop i EVPN-uppdateringarna är antingen egress Label Switch Router eller VXLAN Tunnel Endpoint. EVPN skalar bra och har bl.a. features för att hålla koll på hostar som flyttar mellan datacenter (sekvensnummer-community i annonseringarna) och kan då konvergera snabbt. Ett EVPN-nätverk kan göra både bridging och routing och har inbyggd support för multi-tenancy (VPN). DHCP Snooping supporteras inte på VXLAN VLAN.

EVPN är ett öppet protokoll så det finns interoperability med andra network vendors, se t.ex. Arista, Cumulus och Quagga EVPN.

Underlay

Underlay routing kan göras med IGP, iBGP eller eBGP. Alla VTEP:s måste kunna nå varandra med jumbo frames.

Simpelt NX-OS exempel

feature ospf

interface loopback0
 description VTEP
 ip address 1.1.1.1/32

interface Ethernet1/1
 description Uplink
 no switchport
 ip address 10.0.2.2/30
 no shutdown
 ip router ospf 1 area 0

route-map ALLOW permit 10

router ospf 1
 redistribute direct route-map ALLOW

Overlay

EVPN-peering kan göras både med iBGP och eBGP, det är designen som avgör.

nv overlay evpn
feature bgp
feature vn-segment-vlan-based
feature nv overlay

router bgp 65000
 address-family l2vpn evpn
  neighbor 2.2.2.2
   remote-as 65000
   update-source loopback0
   address-family l2vpn evpn
     send-community
     send-community extended

interface nve1
 no shutdown
 host-reachability protocol bgp
 source-interface loopback0

HER mha EVPN route typ 3

interface nve1
 member vni 10100
   ingress-replication protocol bgp
 member vni 10101
   ingress-replication protocol bgp

Verify

show nve int nve1
show nve peer detail
show bgp l2vpn evpn summary

Route Reflector
Precis som med övriga adressfamiljer kan man med hjälp av route reflector öka skalbarhet och förenkla konfigurationen. Spine-switchar kan t.ex. stå för denna roll.

router bgp 65000
 address-family l2vpn evpn
 neighbor 1.1.1.1
   remote-as 65000
   update-source loopback0
   address-family l2vpn evpn
     send-community extended
     route-reflector-client

Bridging

På varje leaf switch mappas local VLAN till ett VNI (VLAN-based mode).

vlan 100
 vn-segment 10100
vlan 101
 vn-segment 10101

RD och RT för bridging. RT-import och export görs automatiskt utifrån ASN och VNI.

evpn 
 vni 10100 l2 
  rd auto 
  route-target import auto 
  route-target export auto
  exit
 vni 10101 l2 
  rd auto 
  route-target import auto 
  route-target export auto
  exit

Verify

show nve vni
show nve vni summary
show l2route evpn mac all
show l2route evpn mac-ip all

L3

Man anger NVE overlay VLAN:s. Dessa ska ej användas som vanliga VLAN.

system vlan nve-overlay id 3001-3200

RT-import och export görs automatiskt utifrån ASN och VNI.

vrf context Tenant1
 vni 30001
 rd auto
 address-family ipv4 unicast
  route-target both auto
  route-target both auto evpn

Varje tenant VRF behöver ett VRF overlay VLAN och ett SVI för VXLAN routing.

interface nve1
 member vni 30001 associate-vrf

vlan 3001
 vn-segment 30001

interface Vlan3001
  no shutdown
  mtu 9216
  vrf member Tenant1
  ip forward

Verify

show nve vrf
show nve internal bgp rnh database vni 30001

Anycast GW
Om man slår på anycast gateway feature för ett VNI så måste det enableas på alla VTEP:s där VNI finns.

fabric forwarding anycast-gateway-mac 0000.1111.2222

interface Vlan100
 vrf member Tenant1
 ip address 10.0.0.1/24
 fabric forwarding mode anycast-gateway
 no shut

ARP Suppression
Man kan låta en lokal ARP-proxy hantera requests för att suppressa ARP flooding över VXLAN så mycket som möjligt.

interface nve1
 member vni 10100
  suppress-arp
 member vni 10101
  suppress-arp
show ip arp suppression-cache detail

OBS på vissa plattformar måste man karva TCAM för att kunna konfigurera arp-suppression. Här är ett exempel för Nexus 9000v.

show run all | inc "hardware access-list tcam region"

hardware access-list tcam region span 0
hardware access-list tcam region racl 512
copy run start
reload

hardware access-list tcam region arp-ether 256 double-wide
copy run start
reload

IP Prefix (Type-5 Routes)
Prefix-based routing används primärt för destinations utanför DC. NX-OS gör symmetric vxlan routing och EVPN-routes har L3-VNI och RMAC enligt interface-less model.

router bgp 65000
  vrf Tenant1
   address-family ipv4 unicast
     advertise l2vpn evpn
     redistribute direct route-map ALLOW-ALL

Verify

show bgp ip unicast vrf Tenant1

vPC

Om man kör vPC får man sätta upp sina VTEP-interface (loopback) med dubbla IP-adresser där secondary IP address används för all VXLAN-trafik. Varje vPC-peer har separata BGP-sessioner till spine. I övrigt måste de ha identisk konfiguration när det gäller VLAN, VNI och NVE.

vPC Best practice när man kör EVPN.

vpc domain 1
 peer-switch
 peer-keepalive destination 10.0.0.2 source 10.0.0.1
 peer-gateway
 ipv6 nd synchronize
 ip arp synchronize