Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Configurer

Diagramme du réseau

Détails de la topologie

Plan d'adressage

Configurations

Configuration BGP

Configuration du chiffrement de tunnel

Vérifier

Dépannage

ELAM sur SA-LEAF-A

ELAM sur SA-SPINE-A

ELAM sur SA-BGW-A

Raison du problème et résolution

Introduction

Ce document décrit la configuration et le dépannage VXLAN multisite avec CloudSec entre les passerelles de périphérie connectées en topologie carrée.

Conditions préalables

Exigences

Cisco vous recommande de vous familiariser avec les sujets suivants :

- Logiciel Nexus NXOS ©.

- Technologie EVPN VXLAN.

- Protocoles de routage BGP et OSPF.

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions logicielles et matérielles suivantes :

- Cisco Nexus 9000.

- NXOS version 10.3(4a).

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Configurer

Diagramme du réseau

VXLAN MultiSite avec CloudSec en topologie carrée

Détails de la topologie

- Fabric EVPN VXLAN multisite à deux sites.

- Les deux sites sont configurés avec des passerelles de périphérie vPC.

- Les terminaux sont hébergés dans le VLAN 1100.

- Les passerelles de périphérie sur chaque site ont un voisinage IPv4 iBGP entre elles sur l'interface SVI Vlan3600.

- Les passerelles en limite sur un site ont un voisinage eBGP IPv4 uniquement avec une passerelle en limite connectée directement sur l'autre site.

- Les passerelles en limite sur le site A ont un voisinage EVPN L2VPN eBGP avec des passerelles en limite sur le site B.

Plan d'adressage

Les adresses IP de la table sont utilisées lors de la configuration :

SITE A

SITE B

Rôle du périphérique

ID interface

IP Int physique

Adresse IP de boucle RID

IP de boucle NVE

VIP DU SITE

IP SVI de sauvegarde

ID interface

IP Int physique

Adresse IP de boucle RID

IP de boucle NVE

VIP DU SITE

IP SVI de sauvegarde

FEUILLE

Eth1/52

192.168.1.1/30

192.168.2.1/32

192.168.3.1/32

S/O

S/O

Eth1/36

192.168.11.1/30

192.168.12.1/32

192.168.13.1/32

S/O

S/O

DOS

Eth1/52

192.168.1.2/30

S/O

Eth1/36

192.168.11.2/30

S/O

Eth1/50

192.168.1.5/30

192.168.2.2/32

S/O

S/O

S/O

Eth1/34

192.168.11.5/30

192.168.12.2/32

S/O

S/O

S/O

Eth1/51

192.168.1.9/30

S/O

Eth1/35

192.168.11.9/30

S/O

BGW-A

Eth1/51

192.168.1.6/30

192.168.2.3/32

192.168.3.2/32

192.168.100.1/32

192.168.4.1/30

Eth1/4

192.168.11.6/30

192.168.12.3/32

192.168.13.2/32

192.168.200.1/32

192.168.14.1/30

Eth1/48

10.12.10.1/30

192.168.3.254/32

Eth1/3

10.12.10.2/30

192.168.13.254/32

BGW-B

Eth1/51

192.168.1.10/30

192.168.2.4/32

192.168.3.3/32

192.168.100.1/32

192.168.4.2/30

Eth1/4

192.168.11.10/30

192.168.12.4/32

192.168.13.3/32

192.168.200.1/32

192.168.14.2/30

Eth1/48

10.12.10.5/30

192.168.3.254/32

Eth1/3

10.12.10.6/30

192.168.13.254/32

Configurations

- Notez que dans ce guide, seule la configuration multisite est affichée. Pour une configuration complète, vous pouvez utiliser le guide de documentation officiel Cisco pour VXLAN Guide de configuration VXLAN de la gamme Cisco Nexus 9000 NX-OS, version 10.3(x)

Afin d'activer CloudSec, ladci-advertise-pip  commande doit être configurée sous la passerelle evpn multisite border-gateway :

SA-BGW-A et SA-BGW-B

SB-BGW-A et SB-BGW-B

evpn multisite border-gateway 65001

dci-advertise-pip

evpn multisite border-gateway 65002

dci-advertise-pip

Configuration BGP

Cette configuration est spécifique au site.

SA-BGW-A et SA-BGW-B

SB-BGW-A et SB-BGW-B

router bgp 65001

address-family ipv4 unicast

maximum-paths 64

address-family l2vpn evpn

maximum-paths 64

additional-paths send

additional-paths receive

router bgp 65002

address-family ipv4 unicast

maximum-paths 64

address-family l2vpn evpn

maximum-paths 64

additional-paths send

additional-paths receive

- La commande maximum-path permet de recevoir plusieurs chemins EVPN L2VPN eBGP du voisin.

- La commande additional-path indique au processus BGP d'annoncer que le périphérique est capable d'envoyer/recevoir des chemins supplémentaires

Pour tous les VRF L3VNI sur les passerelles périphériques, le multichemin doit également être configuré :

SA-BGW-A et SA-BGW-B

SB-BGW-A et SB-BGW-B

router bgp 65001

vrf tenant-1

address-family ipv4 unicast

maximum-paths 64

address-family ipv6 unicast

maximum-paths 64

router bgp 65002

vrf tenant-1

address-family ipv4 unicast

maximum-paths 64

address-family ipv6 unicast

maximum-paths 64

Configuration du chiffrement de tunnel

Cette configuration doit être identique sur toutes les passerelles de périphérie :

key chain CloudSec_Key_Chain1 tunnel-encryption

key 1000

key-octet-string Cl0udSec! cryptographic-algorithm AES_128_CMAC

feature tunnel-encryption

tunnel-encryption must-secure-policy

tunnel-encryption source-interface loopback0

tunnel-encryption policy CloudSec_Policy1

Cette configuration est spécifique au site. Latunnel-encryptioncommande doit être appliquée uniquement à l'interface qui a laevpn multisite dci-trackingcommande.

SA-BGW-A et SA-BGW-B

SB-BGW-A et SB-BGW-B

tunnel-encryption peer-ip 192.168.13.2

keychain CloudSec_Key_Chain1 policy CloudSec_Policy1

tunnel-encryption peer-ip 192.168.13.3

keychain CloudSec_Key_Chain1 policy CloudSec_Policy1

interface Ethernet1/48

tunnel-encryption

tunnel-encryption peer-ip 192.168.3.2

keychain CloudSec_Key_Chain1 policy CloudSec_Policy1

tunnel-encryption peer-ip 192.168.3.3

keychain CloudSec_Key_Chain1 policy CloudSec_Policy1

interface Ethernet1/3

tunnel-encryption

Après l'activation du cryptage de tunnel, des attributs supplémentaires sont ajoutés au bouclage local lors de l'annonce des routes au voisin et tous les voisins de monodiffusion IPv4 eBGP doivent voir cet attribut :

SA-BGW-A# show ip bgp 192.168.2.3

BGP routing table information for VRF default, address family IPv4 Unicast

BGP routing table entry for 192.168.2.3/32, version 1320

Paths: (2 available, best #1)

Flags: (0x000002) (high32 00000000) on xmit-list, is not in urib

Multipath: eBGP iBGP

Advertised path-id 1

Path type: local, path is valid, is best path, no labeled nexthop

AS-Path: NONE, path locally originated

0.0.0.0 (metric 0) from 0.0.0.0 (192.168.2.3)

Origin IGP, MED not set, localpref 100, weight 32768

Tunnel Encapsulation attribute: Length 152 !---This is a new attribute

Path type: redist, path is valid, not best reason: Locally originated, no labeled nexthop

AS-Path: NONE, path locally originated

0.0.0.0 (metric 0) from 0.0.0.0 (192.168.2.3)

Origin incomplete, MED 0, localpref 100, weight 32768

Path-id 1 advertised to peers:

10.12.10.2         192.168.4.2

SA-BGW-A#

Pour le type de route 2, il existe également un nouvel attribut :

SA-BGW-A# show bgp l2vpn evpn 00ea.bd27.86ef

BGP routing table information for VRF default, address family L2VPN EVPN

Route Distinguisher: 65002:31100

BGP routing table entry for [2]:[0]:[0]:[48]:[00ea.bd27.86ef]:[0]:[0.0.0.0]/216, version 7092

Paths: (2 available, best #2)

Flags: (0x000202) (high32 00000000) on xmit-list, is not in l2rib/evpn, is not in HW

Multipath: eBGP iBGP

Path type: external, path is valid, not best reason: Router Id, multipath, no labeled nexthop

Imported to 1 destination(s)

Imported paths list: L2-31100

AS-Path: 65002 , path sourced external to AS

192.168.13.3 (metric 0) from 192.168.12.4 (192.168.12.4)

Origin IGP, MED 2000, localpref 100, weight 0

Received label 31100

Received path-id 1

Extcommunity: RT:65001:31100 ENCAP:8

ESI: 0300.0000.00fd.ea00.0309

Advertised path-id 1

Path type: external, path is valid, is best path, no labeled nexthop

Imported to 1 destination(s)

Imported paths list: L2-31100

AS-Path: 65002 , path sourced external to AS

192.168.13.2 (metric 0) from 192.168.12.3 (192.168.12.3)

Origin IGP, MED 2000, localpref 100, weight 0

Received label 31100

Received path-id 1

Extcommunity: RT:65001:31100 ENCAP:8

ESI: 0300.0000.00fd.ea00.0309

Path-id 1 not advertised to any peer

Route Distinguisher: 192.168.2.3:33867    (L2VNI 31100)

BGP routing table entry for [2]:[0]:[0]:[48]:[00ea.bd27.86ef]:[0]:[0.0.0.0]/216, version 7112

Paths: (2 available, best #1)

Flags: (0x000212) (high32 0x000400) on xmit-list, is in l2rib/evpn, is not in HW

Multipath: eBGP iBGP

Advertised path-id 1

Path type: external, path is valid, is best path, no labeled nexthop, in rib

Imported from 65002:31100:[2]:[0]:[0]:[48]:[00ea.bd27.86ef]:[0]:[0.0.0.0]/216

AS-Path: 65002 , path sourced external to AS

192.168.13.2 (metric 0) from 192.168.12.3 (192.168.12.3)

Origin IGP, MED 2000, localpref 100, weight 0

Received label 31100

Received path-id 1

Extcommunity: RT:65001:31100 ENCAP:8

ESI: 0300.0000.00fd.ea00.0309

Path type: external, path is valid, not best reason: Router Id, multipath, no labeled nexthop, in rib

Imported from 65002:31100:[2]:[0]:[0]:[48]:[00ea.bd27.86ef]:[0]:[0.0.0.0]/216

AS-Path: 65002 , path sourced external to AS

192.168.13.3 (metric 0) from 192.168.12.4 (192.168.12.4)

Origin IGP, MED 2000, localpref 100, weight 0

Received label 31100

Received path-id 1

Extcommunity: RT:65001:31100 ENCAP:8

ESI: 0300.0000.00fd.ea00.0309         !---Ethernet Segment Identifier (ESI) is also new attribute

Path-id 1 (dual) advertised to peers:

192.168.2.2

SA-BGW-A#

Vérifier

Avant d'activer cloudsec, il est bon de vérifier si la configuration fonctionne correctement sans :

SA-BGW-A(config)# show clock

Warning: No NTP peer/server configured. Time may be out of sync.

10:02:01.016 UTC Fri Jul 19 2024

Time source is NTP

SA-BGW-A(config)# show tunnel-encryption session

Tunnel-Encryption Peer   Policy                                   Keychain                                 RxStatus         TxStatus

------------------------ ---------------------------------------- ---------------------------------------- ----------------- -----------------

===============================================

SA-HOST-A# show clock

Warning: No NTP peer/server configured. Time may be out of sync.

10:02:21.592 UTC Fri Jul 19 2024

Time source is NTP

SA-HOST-A# ping 10.100.20.10 count unlimited interval 1

PING 10.100.20.10 (10.100.20.10): 56 data bytes

64 bytes from 10.100.20.10: icmp_seq=0 ttl=254 time=1.583 ms

64 bytes from 10.100.20.10: icmp_seq=1 ttl=254 time=10.407 ms

64 bytes from 10.100.20.10: icmp_seq=2 ttl=254 time=1.37 ms

64 bytes from 10.100.20.10: icmp_seq=3 ttl=254 time=1.489 ms

64 bytes from 10.100.20.10: icmp_seq=4 ttl=254 time=6.685 ms

64 bytes from 10.100.20.10: icmp_seq=5 ttl=254 time=1.547 ms

64 bytes from 10.100.20.10: icmp_seq=6 ttl=254 time=1.859 ms

64 bytes from 10.100.20.10: icmp_seq=7 ttl=254 time=5.219 ms

64 bytes from 10.100.20.10: icmp_seq=8 ttl=254 time=1.337 ms

64 bytes from 10.100.20.10: icmp_seq=9 ttl=254 time=3.528 ms

64 bytes from 10.100.20.10: icmp_seq=10 ttl=254 time=4.057 ms

Après la configuration de cloudsec également, le point de terminaison sur SA doit réussir à envoyer une requête ping au point de terminaison sur le site B. Mais, dans certains cas, la requête ping peut échouer. Cela dépend de l'homologue cloudsec sélectionné par le périphérique local pour envoyer le trafic chiffré cloudsec.

SA-HOST-A# ping 10.100.20.10

PING 10.100.20.10 (10.100.20.10): 56 data bytes

Request 0 timed out

Request 1 timed out

Request 2 timed out

Request 3 timed out

Request 4 timed out

--- 10.100.20.10 ping statistics ---

5 packets transmitted, 0 packets received, 100.00% packet loss

SA-HOST-A#

Dépannage

Vérifiez la table ARP locale sur le point d'extrémité source :

SA-HOST-A#  ping 10.100.20.10 count unlimited interval 1

Request 352 timed out

Request 353 timed out

Request 354 timed out

356 packets transmitted, 0 packets received, 100.00% packet loss

SA-HOST-A# clear ip arp delete-force

SA-HOST-A# show ip arp

Flags: * - Adjacencies learnt on non-active FHRP router

+ - Adjacencies synced via CFSoE

# - Adjacencies Throttled for Glean

CP - Added via L2RIB, Control plane Adjacencies

PS - Added via L2RIB, Peer Sync

RO - Re-Originated Peer Sync Entry

D - Static Adjacencies attached to down interface

IP ARP Table for context default

Total number of entries: 1

Address         Age       MAC Address     Interface       Flags

10.100.20.10    00:00:02  00ea.bd27.86ef  Vlan1100

SA-HOST-A#

Ce résultat prouve que le trafic de la carte BUM est en cours de transfert et que le plan de contrôle fonctionne. L'étape suivante consiste à vérifier l'état de cryptage du tunnel :

SA-BGW-A# show tunnel-encryption session

Tunnel-Encryption Peer   Policy                                   Keychain                                 RxStatus         TxStatus

------------------------ ---------------------------------------- ---------------------------------------- ----------------- -----------------

192.168.13.2             CloudSec_Policy1                         CloudSec_Key_Chain1                      Secure (AN: 0)    Secure (AN: 0)

192.168.13.3             CloudSec_Policy1                         CloudSec_Key_Chain1                      Secure (AN: 0)    Secure (AN: 0)

SA-BGW-A#

Ce résultat montre que la session CloudSec est établie. L’étape suivante consiste à exécuter une commande ping illimitée sur SA-HOST-A :

SA-HOST-A# ping 10.100.20.10 count unlimited interval 1

À partir de ce point, vous devez vérifier les périphériques sur le site A et voir si le trafic atteint ces périphériques. Vous pouvez effectuer cette tâche avec ELAM sur tous les périphériques situés sur le chemin du site A. La modification in-select  de la valeur par défaut de 6 à 9 permet d'établir une correspondance en fonction des en-têtes internes. Pour en savoir plus sur ELAM, cliquez sur ce lien : Nexus 9000 Cloud Scale ASIC (Tahoe) NX-OS ELAM.

ELAM sur SA-LEAF-A

Dans le réseau de production, il existe plusieurs périphériques SPINE. Pour savoir à quelle colonne vertébrale le trafic a été envoyé, vous devez d'abord prendre un ELAM sur LEAF. Malgré cela, in-select 9 au niveau du LEAF connecté à la source, l'en-tête ipv4 externe doit être utilisé, car le trafic atteint par ce LEAF n'est pas chiffré VXLAN. Dans un réseau réel, il peut être difficile d’attraper le paquet exact que vous avez généré. Dans de tels cas, vous pouvez exécuter une requête ping avec une longueur spécifique et utiliser l'en-tête Pkt len pour identifier votre paquet. Par défaut, le paquet icmp a une longueur de 64 octets. Plus 20 octets d'en-tête IP, qui en résumé vous a donné 84 octets PKT Len :

SA-LEAF-A# debug platform internal tah elam

SA-LEAF-A(TAH-elam)# trigger init in-select 9

Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 9, out-select 0

SA-LEAF-A(TAH-elam-insel9)# set outer ipv4 src_ip 10.100.10.10 dst_ip 10.100.20.10

SA-LEAF-A(TAH-elam-insel9)# start

SA-LEAF-A(TAH-elam-insel9)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

SUGARBOWL ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 1

============================

Incoming Interface: Eth1/49

Src Idx : 0xc1, Src BD : 1100

Outgoing Interface Info: dmod 1, dpid 64 !---Note dpid value

Dst Idx : 0xcd, Dst BD : 1100

Packet Type: IPv4

Outer Dst IPv4 address: 10.100.20.10

Outer Src IPv4 address: 10.100.10.10

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  1, TTL     =  255, More Fragments = 0

Hdr len = 20, Pkt len =   84, Checksum       = 0xb4ae !---64 byte + 20 byte IP header Pkt len = 84

Inner Payload

Type: CE

L4 Protocol  : 1

L4 info not available

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

SA-LEAF-A(TAH-elam-insel9)# show system internal ethpm info all | i i "dpid=64" !---Put dpid value here

IF_STATIC_INFO: port_name=Ethernet1/52,if_index:0x1a006600,ltl=5940,slot=0, nxos_port=204,dmod=1,dpid=64,unit=0,queue=65535,xbar_unitbmp=0x0,ns_pid=255,slice_num=1,port_on_slice=24,src_id=48

SA-LEAF-A(TAH-elam-insel9)# show cdp neighbors interface ethernet 1/52

Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge

S - Switch, H - Host, I - IGMP, r - Repeater,

V - VoIP-Phone, D - Remotely-Managed-Device,

s - Supports-STP-Dispute

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID

SA-SPINE-A(FDO242210CS)

Eth1/52        130    R S s     N9K-C93240YC-FX2 Eth1/52

Total entries displayed: 1

SA-LEAF-A(TAH-elam-insel9)#

À partir de ce résultat, vous pouvez voir que le trafic est atteint par SA-LEAF-A et transféré à l'interface Ethernet1/52, qui est connectée à SA-SPINE-A à partir de la topologie.

ELAM sur SA-SPINE-A

Sur SPINE, la valeur Pkt Len sera plus élevée, puisque l'en-tête VXLAN de 50 octets a également été ajouté. Par défaut, SPINE ne peut pas correspondre sur les en-têtes internes sans vxlan-parse ou feature nv overlay . Vous devez donc utiliser la vxlan-parse enable commande sur SPINE :

SA-SPINE-A(config-if)# debug platform internal tah elam

SA-SPINE-A(TAH-elam)# trigger init in-select 9

Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 9, out-select 0

SA-SPINE-A(TAH-elam)# vxlan-parse enable

SA-SPINE-A(TAH-elam-insel9)# set inner ipv4 src_ip 10.100.10.10 dst_ip 10.100.20.10

SA-SPINE-A(TAH-elam-insel9)# start

SA-SPINE-A(TAH-elam-insel9)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

HEAVENLY ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 1

============================

Incoming Interface: Eth1/52

Src Idx : 0xcd, Src BD : 4153

Outgoing Interface Info: dmod 1, dpid 72

Dst Idx : 0xc5, Dst BD : 4151

Packet Type: IPv4

Outer Dst IPv4 address: 192.168.100.1

Outer Src IPv4 address: 192.168.3.1

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   = 17, TTL     =  255, More Fragments = 0

Hdr len = 20, Pkt len =  134, Checksum       = 0x7d69 !---84 bytes + 50 bytes VXLAN header Pkt len = 134

Inner Payload

Type: IPv4

Inner Dst IPv4 address: 10.100.20.10

Inner Src IPv4 address: 10.100.10.10

L4 Protocol  : 17

L4 info not available

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

SA-SPINE-A(TAH-elam-insel9)# show system internal ethpm info all | i i "dpid=72"

IF_STATIC_INFO: port_name=Ethernet1/50,if_index:0x1a006200,ltl=5948,slot=0, nxos_port=196,dmod=1,dpid=72,unit=0,queue=65535,xbar_unitbmp=0x0,ns_pid=255,slice_num=1,port_on_slice=0,src_id=0

SA-SPINE-A(TAH-elam-insel9)# show cdp neighbors interface ethernet 1/50

Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge

S - Switch, H - Host, I - IGMP, r - Repeater,

V - VoIP-Phone, D - Remotely-Managed-Device,

s - Supports-STP-Dispute

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID

SA-BGW-A(FDO242210CX)

Eth1/50        169    R S s     N9K-C93240YC-FX2 Eth1/50

Total entries displayed: 1

SA-SPINE-A(TAH-elam-insel9)#

SA-SPINE-A envoie le trafic vers SA-BGW-A conformément à la sortie.

ELAM sur SA-BGW-A

SA-BGW-A(TAH-elam-insel9)# set inner ipv4 src_ip 10.100.10.10 dst_ip 10.100.20.10

SA-BGW-A(TAH-elam-insel9)# start

SA-BGW-A(TAH-elam-insel9)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

HEAVENLY ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 1

============================

Incoming Interface: Eth1/50

Src Idx : 0xc5, Src BD : 1100

Outgoing Interface Info: dmod 1, dpid 48

Dst Idx : 0xbd, Dst BD : 1100

Packet Type: IPv4

Outer Dst IPv4 address: 192.168.100.1

Outer Src IPv4 address: 192.168.3.1

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   = 17, TTL     =  254, More Fragments = 0

Hdr len = 20, Pkt len =  134, Checksum       = 0x7e69

Inner Payload

Type: IPv4

Inner Dst IPv4 address: 10.100.20.10

Inner Src IPv4 address: 10.100.10.10

L4 Protocol  : 17

L4 info not available

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

SA-BGW-A(TAH-elam-insel9)# show system internal ethpm info all | i i "dpid=48"

IF_STATIC_INFO: port_name=Ethernet1/48,if_index:0x1a005e00,ltl=5956,slot=0, nxos_port=188,dmod=1,dpid=48,unit=0,queue=65535,xbar_unitbmp=0x0,ns_pid=255,slice_num=0,port_on_slice=48,src_id=96

SA-BGW-A(TAH-elam-insel9)# show cdp neighbors interface ethernet 1/48

Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge

S - Switch, H - Host, I - IGMP, r - Repeater,

V - VoIP-Phone, D - Remotely-Managed-Device,

s - Supports-STP-Dispute

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID

SB-BGW-A(FDO2452070B)

Eth1/48        122    R S s     N9K-C93216TC-FX2 Eth1/3

Total entries displayed: 1

SA-BGW-A(TAH-elam-insel9)#

Selon le résultat de SA-BGW-A, le trafic a été acheminé par Ethernet1/48 vers SB-BGW-A. L'étape suivante consiste à vérifier sur SB-BGW-A :

SB-BGW-A# debug platform internal tah elam

SB-BGW-A(TAH-elam)# trigger init in-select 9

Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 9, out-select 0

SB-BGW-A(TAH-elam-insel9)# set inner ipv4 src_ip 10.100.10.10 dst_ip 10.100.20.10

SB-BGW-A(TAH-elam-insel9)# start

SB-BGW-A(TAH-elam-insel9)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

ELAM not triggered yet on slot - 1, asic - 0, slice - 1

!---Reset the previous filter and start again just in case if packet was not captured.

SB-BGW-A(TAH-elam-insel9)# reset

SB-BGW-A(TAH-elam-insel9)# set inner ipv4 src_ip 10.100.10.10 dst_ip 10.100.20.10

SB-BGW-A(TAH-elam-insel9)# start

SB-BGW-A(TAH-elam-insel9)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

ELAM not triggered yet on slot - 1, asic - 0, slice - 1

SB-BGW-A(TAH-elam-insel9)#

D'après le résultat de SB-BGW-A, ELAM n'a même pas été déclenché. Cela signifie que soit SB-BGW-B reçoit les paquets et ne peut pas les décrypter et les analyser correctement, soit il ne les reçoit pas du tout. Pour comprendre ce qui s'est passé avec le trafic cloudsec, vous pouvez exécuter un ELAM sur SB-BGW-A à nouveau, mais le filtre de déclenchement doit être défini sur l'adresse IP externe qui est utilisée pour cloudsec, car il n'y a aucun moyen de voir l'en-tête interne du paquet de transit chiffré cloudsec. D'après le résultat précédent, vous savez que la SA-BGW-A a géré le trafic, ce qui signifie que la SA-BGW-A chiffre le trafic avec cloudsec. Ainsi, vous pouvez utiliser l'IP NVE de SA-BGW-A comme filtre de déclenchement pour ELAM. D’après les résultats précédents, la longueur du paquet ICMP chiffré VXLAN est de 134 octets. Plus 32 octets en-tête cloudsec dans le résumé vous donne 166 octets :

SB-BGW-A(TAH-elam-insel9)# reset

SB-BGW-A(TAH-elam-insel9)# set outer ipv4 src_ip 192.168.3.2

SB-BGW-A(TAH-elam-insel9)# start

SB-BGW-A(TAH-elam-insel9)# report

ELAM not triggered yet on slot - 1, asic - 0, slice - 0

HEAVENLY ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 1

============================

Incoming Interface: Eth1/3

Src Idx : 0x9, Src BD : 4108

Outgoing Interface Info: dmod 1, dpid 130

Dst Idx : 0xd, Dst BD : 4109

Packet Type: IPv4

Outer Dst IPv4 address: 192.168.13.3   !---NVE IP address of SB-BGW-B

Outer Src IPv4 address: 192.168.3.2

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   = 17, TTL     =  254, More Fragments = 0

Hdr len = 20, Pkt len =  166, Checksum       = 0xd546     !---134 byte VXLAN packet + 32 byte cloudsec header Pkt len = 166

Inner Payload

Type: CE

L4 Protocol  : 17

L4 info not available

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

!---To reach SB-BGW-B NVE IP traffic was sent out of Ethernet1/4 which is connected to SB-SPINE-A

SB-BGW-A(TAH-elam-insel9)# show system internal ethpm info all | i i "dpid=130"

IF_STATIC_INFO: port_name=Ethernet1/4,if_index:0x1a000600,ltl=6132,slot=0, nxos_port=12,dmod=1,dpid=130,unit=0,queue=65535,xbar_unitbmp=0x0,ns_pid=255,slice_num=1,port_on_slice=58,src_id=116

SB-BGW-A(TAH-elam-insel9)# show cdp neighbors interface ethernet 1/4

Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge

S - Switch, H - Host, I - IGMP, r - Repeater,

V - VoIP-Phone, D - Remotely-Managed-Device,

s - Supports-STP-Dispute

Device-ID          Local Intrfce  Hldtme Capability  Platform      Port ID

SB-SPINE-A(FDO22302CJ0)

Eth1/4         131    R S s     N9K-C9236C       Eth1/34

Total entries displayed: 1

SB-BGW-A(TAH-elam-insel9)# show ip route 192.168.13.3

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%

' in via output denotes VRF

192.168.13.3/32, ubest/mbest: 1/0

*via 192.168.11.5,

Eth1/4, [110/6], 00:56:13, ospf-UNDERLAY, intra

via

192.168.14.2, [200/0], 01:13:46, bgp-65002, internal, tag 65002

!---The device still have a route for SB-BGW-B NVE IP via SVI

SB-BGW-A(TAH-elam-insel9)# show ip route 192.168.14.2

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%

' in via output denotes VRF

192.168.14.2/32, ubest/mbest: 1/0, attached

*via 192.168.14.2, Vlan3600, [250/0], 01:15:05, am

SB-BGW-A(TAH-elam-insel9)# show ip arp 192.168.14.2

Flags: * - Adjacencies learnt on non-active FHRP router

+ - Adjacencies synced via CFSoE

# - Adjacencies Throttled for Glean

CP - Added via L2RIB, Control plane Adjacencies

PS - Added via L2RIB, Peer Sync

RO - Re-Originated Peer Sync Entry

D - Static Adjacencies attached to down interface

IP ARP Table

Total number of entries: 1

Address         Age       MAC Address     Interface       Flags

192.168.14.2    00:00:13

ecce.1324.c803

Vlan3600

SB-BGW-A(TAH-elam-insel9)# show  mac address-table address ecce.1324.c803

Legend:

* - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC

age - seconds since last seen,+ - primary entry using vPC Peer-Link,

(T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan,

(NA)- Not Applicable

VLAN     MAC Address      Type      age     Secure NTFY Ports

---------+-----------------+--------+---------+------+----+------------------

G

3600

ecce.1324.c803   static   -         F      F

vPC Peer-Link(R)

SB-BGW-A(TAH-elam-insel9)#

À partir de ce résultat, vous pouvez voir que le trafic cloudsec est transféré vers SB-BGW-B via l'interface Ethernet1/4, en fonction de la table de routage. Selon le Guide de configuration du VXLAN NX-OS de la gamme Cisco Nexus 9000, version 10.3(x), directives et limites :

- Le trafic CloudSec destiné au commutateur doit entrer dans le commutateur via les liaisons ascendantes DCI.

Selon la section Prise en charge de la passerelle frontière vPC pour Cloudsec du même guide, si vPC BGW apprend l'adresse PIP des homologues vPC BGW et annonce côté DCI, les attributs de chemin BGP des deux vPC BGW seront identiques. Par conséquent, les noeuds intermédiaires DCI peuvent finir par choisir le chemin à partir de vPC BGW qui ne possède pas l'adresse PIP. Dans ce scénario, la liaison MCT est utilisée pour le trafic chiffré provenant du site distant. Mais dans ce cas, l'interface vers le SPINE est utilisée, malgré cela, les BGW ont également une contiguïté OSPF via l'interface SVI de sauvegarde.

SB-BGW-A(TAH-elam-insel9)# show ip ospf neighbors

OSPF Process ID UNDERLAY VRF default

Total number of neighbors: 2

Neighbor ID     Pri State            Up Time  Address         Interface

192.168.12.4      1 FULL/ -          01:33:11 192.168.14.2    Vlan3600

192.168.12.2      1 FULL/ -          01:33:12 192.168.11.5    Eth1/4

SB-BGW-A(TAH-elam-insel9)#

Raison du problème et résolution

La raison est le coût OSPF de l'interface SVI. Par défaut, sur NXOS, la bande passante de référence de coût automatique est de 40 G. Les interfaces SVI ont une bande passante de 1 Gbit/s, tandis que l'interface physique a une bande passante de 10 Gbit/s :

SB-BGW-A(TAH-elam-insel9)# show ip ospf interface brief

OSPF Process ID UNDERLAY VRF default

Total number of interface: 5

Interface               ID     Area            Cost   State    Neighbors Status

Vlan3600                3      0.0.0.0         40     P2P      1         up

Eth1/4                  5      0.0.0.0         1      P2P      1         up

Dans ce cas, la modification administrative du coût de l'interface SVI peut résoudre le problème. Le réglage doit être effectué sur toutes les passerelles de périphérie.

SB-BGW-A(config)# int vlan 3600

SB-BGW-A(config-if)# ip ospf cost 1

SB-BGW-A(config-if)# sh ip route 192.168.13.3

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%

' in via output denotes VRF

192.168.13.3/32, ubest/mbest: 1/0

*

via 192.168.14.2, Vlan3600, [110/2], 00:00:08, ospf-UNDERLAY, intra

via 192.168.14.2, [200/0], 01:34:07, bgp-65002, internal, tag 65002

SB-BGW-A(config-if)#

!---The ping is started to work immediately

Request 1204 timed out

Request 1205 timed out

Request 1206 timed out

64 bytes from 10.100.20.10: icmp_seq=1207 ttl=254 time=1.476 ms

64 bytes from 10.100.20.10: icmp_seq=1208 ttl=254 time=5.371 ms

64 bytes from 10.100.20.10: icmp_seq=1209 ttl=254 time=5.972 ms

64 bytes from 10.100.20.10: icmp_seq=1210 ttl=254 time=1.466 ms

64 bytes from 10.100.20.10: icmp_seq=1211 ttl=254 time=2.972 ms

64 bytes from 10.100.20.10: icmp_seq=1212 ttl=254 time=4.582 ms

64 bytes from 10.100.20.10: icmp_seq=1213 ttl=254 time=1.434 ms

64 bytes from 10.100.20.10: icmp_seq=1214 ttl=254 time=4.486 ms

64 bytes from 10.100.20.10: icmp_seq=1215 ttl=254 time=2.743 ms

64 bytes from 10.100.20.10: icmp_seq=1216 ttl=254 time=1.469 ms

64 bytes from 10.100.20.10: icmp_seq=1217 ttl=254 time=7.322 ms

64 bytes from 10.100.20.10: icmp_seq=1218 ttl=254 time=1.532 ms

64 bytes from 10.100.20.10: icmp_seq=1219 ttl=254 time=1.438 ms

64 bytes from 10.100.20.10: icmp_seq=1220 ttl=254 time=7.122 ms

64 bytes from 10.100.20.10: icmp_seq=1221 ttl=254 time=1.344 ms

64 bytes from 10.100.20.10: icmp_seq=1222 ttl=254 time=1.63 ms

64 bytes from 10.100.20.10: icmp_seq=1223 ttl=254 time=6.133 ms

64 bytes from 10.100.20.10: icmp_seq=1224 ttl=254 time=1.455 ms

64 bytes from 10.100.20.10: icmp_seq=1225 ttl=254 time=3.221 ms

64 bytes from 10.100.20.10: icmp_seq=1226 ttl=254 time=4.435 ms

64 bytes from 10.100.20.10: icmp_seq=1227 ttl=254 time=1.463 ms

64 bytes from 10.100.20.10: icmp_seq=1228 ttl=254 time=5.14 ms

64 bytes from 10.100.20.10: icmp_seq=1229 ttl=254 time=2.796 ms

64 bytes from 10.100.20.10: icmp_seq=1230 ttl=254 time=1.49 ms

64 bytes from 10.100.20.10: icmp_seq=1231 ttl=254 time=6.707 ms

64 bytes from 10.100.20.10: icmp_seq=1232 ttl=254 time=1.447 ms

64 bytes from 10.100.20.10: icmp_seq=1233 ttl=254 time=1.285 ms

64 bytes from 10.100.20.10: icmp_seq=1234 ttl=254 time=7.097 ms

64 bytes from 10.100.20.10: icmp_seq=1235 ttl=254 time=1.295 ms

64 bytes from 10.100.20.10: icmp_seq=1236 ttl=254 time=0.916 ms

64 bytes from 10.100.20.10: icmp_seq=1237 ttl=254 time=6.24 ms

64 bytes from 10.100.20.10: icmp_seq=1238 ttl=254 time=1.439 ms

64 bytes from 10.100.20.10: icmp_seq=1239 ttl=254 time=2.739 ms

64 bytes from 10.100.20.10: icmp_seq=1240 ttl=254 time=4.477 ms

64 bytes from 10.100.20.10: icmp_seq=1241 ttl=254 time=1.431 ms

64 bytes from 10.100.20.10: icmp_seq=1242 ttl=254 time=5.372 ms

64 bytes from 10.100.20.10: icmp_seq=1243 ttl=254 time=3.119 ms

64 bytes from 10.100.20.10: icmp_seq=1244 ttl=254 time=1.504 ms

64 bytes from 10.100.20.10: icmp_seq=1245 ttl=254 time=6.909 ms

64 bytes from 10.100.20.10: icmp_seq=1246 ttl=254 time=1.498 ms

64 bytes from 10.100.20.10: icmp_seq=1247 ttl=254 time=1.454 ms

64 bytes from 10.100.20.10: icmp_seq=1248 ttl=254 time=6.701 ms

64 bytes from 10.100.20.10: icmp_seq=1249 ttl=254 time=1.441 ms

64 bytes from 10.100.20.10: icmp_seq=1250 ttl=254 time=1.888 ms

64 bytes from 10.100.20.10: icmp_seq=1251 ttl=254 time=6.052 ms

64 bytes from 10.100.20.10: icmp_seq=1252 ttl=254 time=1.469 ms

64 bytes from 10.100.20.10: icmp_seq=1253 ttl=254 time=3.61 ms

64 bytes from 10.100.20.10: icmp_seq=1254 ttl=254 time=4.213 ms

64 bytes from 10.100.20.10: icmp_seq=1255 ttl=254 time=1.276 ms

64 bytes from 10.100.20.10: icmp_seq=1256 ttl=254 time=5.712 ms

64 bytes from 10.100.20.10: icmp_seq=1257 ttl=254 time=2.299 ms

64 bytes from 10.100.20.10: icmp_seq=1258 ttl=254 time=1.417 ms

64 bytes from 10.100.20.10: icmp_seq=1259 ttl=254 time=7.159 ms

64 bytes from 10.100.20.10: icmp_seq=1260 ttl=254 time=1.538 ms

64 bytes from 10.100.20.10: icmp_seq=1261 ttl=254 time=1.629 ms

64 bytes from 10.100.20.10: icmp_seq=1262 ttl=254 time=7.892 ms

64 bytes from 10.100.20.10: icmp_seq=1263 ttl=254 time=1.495 ms

64 bytes from 10.100.20.10: icmp_seq=1264 ttl=254 time=2.792 ms

^C

--- 10.100.20.10 ping statistics ---

1265 packets transmitted, 58 packets received, 95.42% packet loss

round-trip min/avg/max = 0.916/3.31/7.892 ms

SA-HOST-A#