Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Esempio di rete

Dettagli della topologia

Piano di indirizzamento

Configurazioni

configurazione BGP

Configurazione della crittografia del tunnel

Verifica

Risoluzione dei problemi

ELAM su SA-LEAF-A

ELAM su SA-SPINE-A

ELAM su SA-BGW-A

Motivo del problema e correzione

Introduzione

Questo documento descrive la configurazione e la risoluzione dei problemi di VXLAN Multisite con CloudSec tra i gateway di confine connessi nella topologia quadrata.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Nexus NXOS © Software

- Tecnologia VXLAN VPN.

- protocolli di routing BGP e OSPF.

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software e hardware:

- Cisco Nexus 9000

- NXOS versione 10.3(4a).

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Configurazione

Esempio di rete

VXLAN MultiSite con CloudSec nella topologia quadrata

Dettagli della topologia

- Due fabric VPN VXLAN multisito.

- Entrambi i siti sono configurati con vPC Border Gateway.

- Gli endpoint sono ospitati sulla VLAN 1100.

- I gateway di confine di ciascun sito dispongono di una connessione IPv4 iBGP tra di loro sull'interfaccia SVI Vlan3600.

- I gateway di confine su un sito hanno un vicinato eBGP IPv4 solo con gateway di confine direttamente connesso sull'altro sito.

- I gateway di confine sul sito A hanno un vicinato eBGP L2VPN con gateway di confine sul sito B.

Piano di indirizzamento

Gli indirizzi IP riportati nella tabella vengono utilizzati durante la configurazione.

SITO A

SITO B

Ruolo dispositivo

ID interfaccia

IP interno fisico

IP loop RID

NVE Loop IP

MSITE-VIP

Backup su SVI IP

ID interfaccia

IP interno fisico

IP loop RID

NVE Loop IP

MSITE-VIP

Backup su SVI IP

FOGLIA

Eth 1/52

192.168.1.1/30

192.168.2.1/32

192.168.3.1/32

N/D

N/D

Eth 1/36

192.168.11.1/30

192.168.12.1/32

192.168.13.1/32

N/D

N/D

DORSO

Eth 1/52

192.168.1.2/30

N/D

Eth 1/36

192.168.11.2/30

N/D

Eth 1/50

192.168.1.5/30

192.168.2.2/32

N/D

N/D

N/D

Eth 1/34

192.168.11.5/30

192.168.12.2/32

N/D

N/D

N/D

Eth 1/51

192.168.1.9/30

N/D

Eth 1/35

192.168.11.9/30

N/D

BGW-A

Eth 1/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

Eth 1/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

Eth 1/48

10.12.10.1/30

192.168.3.254/32

Eth 1/3

10.12.10.2/30

192.168.13.254/32

BGW-B

Eth 1/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

Eth 1/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

Eth 1/48

10.12.10.5/30

192.168.3.254/32

Eth 1/3

10.12.10.6/30

192.168.13.254/32

Configurazioni

- In questa guida viene mostrata solo la configurazione relativa a più siti. Per la configurazione completa, è possibile utilizzare la guida ufficiale Cisco per la documentazione della VXLAN Cisco Nexus serie 9000 NX-OS VXLAN Configuration Guide, versione 10.3(x)

Per abilitare CloudSec, ildci-advertise-pip  comando deve essere configurato in evpn multisito border-gateway:

SA-BGW-A e SA-BGW-B

SB-BGW-A e SB-BGW-B

evpn multisite border-gateway 65001

dci-advertise-pip

evpn multisite border-gateway 65002

dci-advertise-pip

configurazione BGP

Questa configurazione è specifica del sito.

SA-BGW-A e SA-BGW-B

SB-BGW-A e 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

- Il comando maximum-path consente di ricevere più percorsi VPN eBGP L2VPN dal router adiacente.

- Il comando additional-path indica al processo BGP di indicare che il dispositivo è in grado di inviare/ricevere percorsi aggiuntivi

Per tutti i VRF L3VNI sui gateway di confine, anche il multipath deve essere configurato:

SA-BGW-A e SA-BGW-B

SB-BGW-A e 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

Configurazione della crittografia del tunnel

Questa configurazione deve essere la stessa su tutti i gateway di confine:

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

Questa configurazione è specifica del sito. Il comandotunnel-encryptiondeve essere applicato solo all'interfaccia che dispone delevpn multisite dci-trackingcomando.

SA-BGW-A e SA-BGW-B

SB-BGW-A e 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

Dopo aver abilitato la crittografia del tunnel, vengono aggiunti attributi aggiuntivi al loopback locale mentre vengono annunciate le route verso il router adiacente e tutti i router adiacenti unicast eBGP IPv4 devono visualizzare questo attributo:

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#

Per il tipo di instradamento 2 è disponibile anche un nuovo attributo:

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#

Verifica

Prima di abilitare cloudsec, è consigliabile verificare se l'installazione funziona correttamente senza di esso:

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

Anche dopo la configurazione cloud-sec, l'endpoint su SA deve eseguire correttamente il ping dell'endpoint sul sito B. In alcuni casi, tuttavia, il ping non riesce. Dipende dal peer cloudsec selezionato dal dispositivo locale per inviare il traffico crittografato 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#

Risoluzione dei problemi

Controllare la tabella ARP locale sull'endpoint di origine:

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#

Questo output dimostra che il traffico BUM è in transito e il Control-Plane funziona. Il passaggio successivo è verificare lo stato della crittografia del 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#

Questo output mostra che la sessione CloudSec è stata stabilita. Nel passaggio successivo, è possibile eseguire il ping illimitato su SA-HOST-A:

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

Da questo punto è necessario controllare i dispositivi sul sito A e verificare se il traffico sta raggiungendo questi dispositivi. È possibile eseguire questa operazione con ELAM su tutti i dispositivi lungo il percorso nel sito A. Il passaggio in-select  dal valore predefinito 6 a 9 consente di ottenere una corrispondenza in base alle intestazioni interne. Per ulteriori informazioni su ELAM, fare clic sul seguente collegamento: Nexus 9000 Cloud Scale ASIC (Tahoe) NX-OS ELAM.

ELAM su SA-LEAF-A

Nella rete di produzione sono presenti più dispositivi SPINE. Per capire a quale dorso è stato inviato il traffico, devi prima prendere un ELAM su FOGLIA. Nonostante ciò, in-select 9 sul lato LEAF del collegamento all'origine, deve essere usata l'intestazione ipv4 esterna, in quanto il traffico raggiunto da questa FOGLIA non è criptato da VXLAN. Nella rete reale, può essere difficile intercettare il pacchetto esattamente che è stato generato. In questi casi, è possibile eseguire il ping con una lunghezza specifica e usare l'intestazione Pkt Len per identificare il pacchetto. Per impostazione predefinita, il pacchetto icmp è lungo 64 byte. Più 20 byte di intestazione IP, che in riepilogo ha dato 84 byte 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)#

Da questo output si può vedere che il traffico raggiunge SA-LEAF-A e viene inoltrato all'interfaccia Ethernet1/52, che è collegata a SA-SPINE-A dalla topologia.

ELAM su SA-SPINE-A

Su SPINE il valore Pkt Len sarà maggiore, poiché è stata aggiunta anche l'intestazione VXLAN da 50 byte. Per impostazione predefinita, SPINE non può corrispondere nelle intestazioni interne senza vxlan-parse o feature nv overlay . È quindi necessario utilizzare il vxlan-parse enable comando su 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 invia il traffico verso SA-BGW-A in base all'output.

ELAM su 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)#

Secondo l'output di SA-BGW-A, il traffico è stato indirizzato su Ethernet1/48 verso SB-BGW-A. Il passo successivo è controllare su 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)#

Secondo l'output di SB-BGW-A, ELAM non è stato nemmeno attivato. Ciò significa che o SB-BGW-B riceve i pacchetti e non è in grado di decriptarli e analizzarli correttamente, o non li riceve affatto. Per capire cosa è successo con il traffico cloudsec, è possibile eseguire un ELAM su SB-BGW-A di nuovo, ma il filtro trigger deve essere impostato sull'indirizzo IP esterno che viene usato per cloudsec, in quanto non c'è modo di vedere l'intestazione interna del pacchetto di transito crittografato cloudsec. Dall'output precedente si sa che la SA-BGW-A ha gestito il traffico, il che significa che la SA-BGW-A cripta il traffico con cloudsec. Quindi, è possibile utilizzare NVE IP di SA-BGW-A come filtro trigger per ELAM. Dagli output precedenti, la lunghezza del pacchetto ICMP crittografato con VXLAN è 134 byte. Più 32 byte cloudsec intestazione in riepilogo fornisce 166 byte:

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)#

Da questo output, è possibile vedere che il traffico del cloudsec viene inoltrato verso l'SB-BGW-B tramite l'interfaccia Ethernet1/4, in base alla tabella di routing. In base alla guida alla configurazione della VXLAN per Cisco Nexus serie 9000 NX-OS, le linee guida e le limitazioni della release 10.3(x):

- Il traffico CloudSec destinato allo switch deve entrare nello switch tramite gli uplink DCI.

In base alla sezione Supporto vPC Border Gateway per Cloudsec della stessa guida, se vPC BGW apprende l'indirizzo PIP dei BGW vPC peer e pubblicizza sul lato DCI, gli attributi del percorso BGP di entrambi i BGW vPC saranno gli stessi. Quindi i nodi intermedi DCI possono finire per scegliere il percorso da vPC BGW che non possiede l'indirizzo PIP. In questo scenario, il collegamento MCT viene utilizzato per il traffico crittografato proveniente dal sito remoto. Tuttavia, in questo caso, viene utilizzata l'interfaccia verso la SPINE, nonostante questo, i BGW hanno anche un'adiacenza OSPF tramite la SVI di BackUp.

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)#

Motivo del problema e correzione

Il motivo è il costo OSPF dell'interfaccia SVI. Per impostazione predefinita, la larghezza di banda di riferimento del costo automatico di NXOS è di 40 GB. Le interfacce SVI hanno una larghezza di banda di 1 Gbps, mentre l'interfaccia fisica ha una larghezza di banda di 10 Gbps:

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

In tal caso, la modifica amministrativa del costo per SVI può risolvere il problema. La messa a punto deve essere effettuata su tutti i gateway di confine.

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#