La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive la configurazione e la risoluzione dei problemi di VXLAN Multisite con CloudSec tra i gateway di confine connessi nella topologia quadrata.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni di questo documento si basano sulle seguenti versioni software e hardware:
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.
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 |
Per abilitare CloudSec, il dci-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 |
|
|
configurazione BGP
Questa configurazione è specifica del sito.
SA-BGW-A e SA-BGW-B | SB-BGW-A e SB-BGW-B |
|
|
- 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 |
|
|
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 comando
tunnel-encryption deve essere applicato solo all'interfaccia che dispone del
evpn multisite dci-trackingcomando.
SA-BGW-A e SA-BGW-B | SB-BGW-A e SB-BGW-B |
|
|
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 nell'associazione di protezione deve eseguire correttamente il ping dell'endpoint nel sito B. Tuttavia, in alcuni casi il ping può avere esito negativo. 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 router LEAF collegato 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] '%<string>' in via output denotes VRF <string> 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] '%<string>' in via output denotes VRF <string> 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 <Output omitted> 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] '%<string>' in via output denotes VRF <string> 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#
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
29-Jul-2024 |
Versione iniziale |