Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Esempio di rete

Configurazioni

Verifica

Risoluzione dei problemi

Introduzione

In questo documento viene descritto il comando disable-peer-as-check nel Border Gateway Protocol (BGP) sulla famiglia di switch Cisco Nexus con sistema operativo NX-OS.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Software Nexus NX-OS.

- Protocollo di routing BGP.

Componenti usati

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

- Cisco Nexus 7000

- NXOS versione 7.3(0)D1(1)

Il documento può essere consultato per tutte le versioni software o 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.

Configurazione

Quando un prefisso di rete viene annunciato a un peer eBGP, il relativo sistema autonomo (AS) viene sempre anteposto per ultimo all'elenco degli attributi AS_PATH di BGP.

Per impostazione predefinita, gli switch Cisco Nexus basati su NX-OS non annunciano i prefissi di rete ai peer eBGP il cui nome è già presente per ultimo nell'attributo AS_PATH del prefisso di rete del BGP.

Questo comportamento è diverso da quello dei router e degli switch basati su Cisco IOS® (e Cisco IOS®-XE) in cui i prefissi di rete vengono ancora annunciati ai peer eBGP, anche se il SA del peer è già presente nell'attributo AS_PATH del prefisso di rete.

In questo caso, il meccanismo di prevenzione del loop BGP scarta il prefisso di rete (per impostazione predefinita) sul peer di ricezione e attiva un messaggio di errore simile a "DENIED to: AS-PATH contiene il proprio AS" solo quando sono abilitati i debug appropriati.

Nota: Per impostazione predefinita, i router basati su Cisco IOS® XR si comportano in modo simile a NX-OS. In Cisco IOS® XR, il comando as-path-loopcheck-out disable può essere usato per modificare questo comportamento.

Esempio di rete

Configurazioni

R1 - Cisco IOS®

configure terminal

!

hostname R1

!

interface Loopback0

ip address 10.255.255.1 255.255.255.255

!

interface GigabitEthernet0/1

ip address 10.1.2.1 255.255.255.0

no shutdown

!

router bgp 64512

bgp log-neighbor-changes

network 10.255.255.1 mask 255.255.255.255

neighbor 10.1.2.2 remote-as 65535

!

end

N7K-2 - Nexus NX-OS

configure terminal

!

hostname N7K-2

!

feature bgp

!

interface Ethernet2/1

no switchport

ip address 10.1.2.2/24

no shutdown

interface Ethernet2/2

no switchport

ip address 10.2.3.2/24

no shutdown

!

router bgp 65535

address-family ipv4 unicast

neighbor 10.1.2.1

remote-as 64512

address-family ipv4 unicast

neighbor 10.2.3.3

remote-as 64512

address-family ipv4 unicast

!

end

R3 - Cisco IOS®

configure terminal

!

hostname R3

!

interface GigabitEthernet0/1

ip address 10.2.3.3 255.255.255.0

no shutdown

!

router bgp 64512

bgp log-neighbor-changes

neighbor 10.2.3.2 remote-as 65535

!

end

Verifica

Fare riferimento a questa sezione per verificare che la configurazione funzioni correttamente.

L'assenza del comando disable-peer-as-check impedisce a N7K-2, che esegue NX-OS per annunciare il prefisso 10.255.255.1/32 al router R3, in quanto il prefisso AS (64512) di R3 si trova per ultimo nell'attributo AS_PATH.

Nota: il comando disable-peer-as-check è disabilitato per impostazione predefinita nella configurazione. Per abilitare la funzionalità, è necessario aggiungere manualmente il comando.

Quando N7K-2 annuncia il valore da 10.255.255.1/32 a R3, include AS 64512 last nell'attributo AS_PATH.

Lo switch AS 64512 è lo stesso configurato in R3.

N7K-2 - Nexus NX-OS

N7K-2# show bgp ipv4 unicast

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

BGP table version is 17, local router ID is 10.1.2.2

Status: s-suppressed, x-deleted, S-stale, d-dampened, h-history, *-valid, >-best

Path type: i-internal, e-external, c-confed, l-local, a-aggregate, r-redist, I-i

njected

Origin codes: i - IGP, e - EGP, ? - incomplete, | - multipath, & - backup

Network            Next Hop            Metric     LocPrf     Weight Path

*>e10.255.255.1/32    10.1.2.1                 0                     0 64512 i

N7K-2#

Notare che su R3, il comando debug bgp ipv4 unicast è stato abilitato.

Per confermare ulteriormente che la route non viene ricevuta, eseguire il comando clear bgp ipv4 unicast * soft per forzare lo scambio di nuova route. Route R3 non riceve la route.

R3 - Cisco IOS®

R3#debug bgp ipv4 unicast

BGP debugging is on for address family: IPv4 Unicast

R3#

R3#clear bgp ipv4 unicast * soft

R3#

*Jul 15 19:22:36.427: BGP: 10.2.3.2 sending REFRESH_REQ(5) for afi/safi: 1/1, refresh code is 0

R3#

Il comando disable-peer-as-check deve essere abilitato sulla rete N7K-2 in modo da poter annunciare il prefisso di rete su R3.

N7K-2 - Nexus NX-OS

N7K-2# conf t

Enter configuration commands, one per line.  End with CNTL/Z.

N7K-2(config)# router bgp 65535

N7K-2(config-router)# neighbor 10.2.3.3

N7K-2(config-router-neighbor)# address-family ipv4 unicast

N7K-2(config-router-neighbor-af)# disable-peer-as-check

N7K-2(config-router-neighbor-af)#

Con la funzione disable-peer-as-check in funzione sulla N7K-2, il percorso viene annunciato alla R3 ma scartato dal meccanismo di prevenzione del loop previsto della BGP.

Osservare "NEGATO a causa di: AS-PATH contains our own AS" viene visualizzato nell'output del comando debug.

R3 - Cisco IOS®

R3#

*Jul 15 19:29:06.440: BGP(0): 10.2.3.2 rcv UPDATE w/ attr: nexthop 10.2.3.2, origin i, originator 0.0.0.0, merged path 65535 64512, AS_PATH , community , extended community , SSA attribute

*Jul 15 19:29:06.442: BGPSSA ssacount is 0

*Jul 15 19:29:06.442: BGP(0): 10.2.3.2 rcv UPDATE about 10.255.255.1/32 -- DENIED due to: AS-PATH contains our own AS;

R3#

Nota: Se l'AS di R3 non viene trovato per ultimo nell'attributo AS_PATH, N7K-2 non ha bisogno del comando per annunciare la route.

In questo esempio, un altro AS viene anteposto per ultimo nell'attributo AS_PATH con l'utilizzo dei comandi route-map e set as-path prepend. A questo punto è presente un altro AS prima di R3's AS in AS_PATH.

In AS_PATH è elencato 65300 64512.

N7K-2 - Nexus NX-OS

configure terminal

!

route-map TEST permit 10

set as-path prepend 65300

!

N7K-2# conf t

Enter configuration commands, one per line.  End with CNTL/Z.

N7K-2(config)# router bgp 65535

N7K-2(config-router)#   neighbor 10.1.2.1

N7K-2(config-router-neighbor)#     address-family ipv4 unicast

N7K-2(config-router-neighbor-af)# route-map TEST in

N7K-2(config-router-neighbor-af)#

N7K-2#

N7K-2# show bgp ipv4 unicast

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

BGP table version is 18, local router ID is 10.1.2.2

Status: s-suppressed, x-deleted, S-stale, d-dampened, h-history, *-valid, >-best

Path type: i-internal, e-external, c-confed, l-local, a-aggregate, r-redist, I-injected

Origin codes: i - IGP, e - EGP, ? - incomplete, | - multipath, & - backup

Network            Next Hop            Metric     LocPrf     Weight Path

*>e10.255.255.1/32    10.1.2.1                 0                     0 65300 64512 i

N7K-2#

Osservare come N7K-2 ha annunciato la route in questo caso senza la necessità di disabilitare il peer-as-check.

N7K-2 - Nexus NX-OS

N7K-2# sh run bgp

!Command: show running-config bgp

!Time: Mon Jul 15 21:28:59 2019

version 7.3(0)D1(1)

feature bgp

router bgp 65535

address-family ipv4 unicast

neighbor 10.1.2.1

remote-as 64512

address-family ipv4 unicast

route-map TEST in

neighbor 10.2.3.3

remote-as 64512

address-family ipv4 unicast

N7K-2#

Avviso "NEGATO a causa di: AS-PATH contains our own AS" viene visualizzato nell'output di debug su R3.

R3 - Cisco IOS®

R3#show debug

IP routing:

BGP debugging is on for address family: IPv4 Unicast

BGP updates debugging is on for address family: IPv4 Unicast

R3#

R3#clear bgp ipv4 unicast * soft

R3#

*Jul 15 21:33:11.309: BGP: 10.2.3.2 sending REFRESH_REQ(5) for afi/safi: 1/1, refresh code is 0

*Jul 15 21:33:12.312: BGP(0): 10.2.3.2 rcv UPDATE w/ attr: nexthop 10.2.3.2, origin i, originator 0.0.0.0, merged path 65535 65300 64512, AS_PATH , community , extended community , SSA attribute

*Jul 15 21:33:12.313: BGPSSA ssacount is 0

*Jul 15 21:33:12.313: BGP(0): 10.2.3.2 rcv UPDATE about 10.255.255.1/32 -- DENIED due to: AS-PATH contains our own AS;

R3#

Risoluzione dei problemi

Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.

Per confermare la configurazione BGP con il comando disable-peer-as-check su NX-OS, attivare i debug.

debug-filter bgp neighbor <eBGP_NEIGHBOR>

debug-filter bgp prefix <ROUTE_TO_BE_ADVERTISED>

debug bgp updates

debug logfile <FILE_NAME>

Si noti che un messaggio simile a "10.2.3.3 10.255.255.1/32 path-id 1 non è stato inviato al peer a causa di: AS pubblicitario" viene generato quando viene richiesto di inviare nuovamente il percorso.

N7K-2 - Nexus NX-OS

N7K-2# debug-filter bgp neighbor 10.2.3.3

N7K-2# debug-filter bgp prefix 10.255.255.1/32

N7K-2# debug bgp updates

N7K-2#

N7K-2# debug logfile bgpdebug.log

N7K-2# show debug logfile bgpdebug.log

2019 Jul 15 21:38:12.586085 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] Continuing update run for peer 10.2.3.3 (#0)

2019 Jul 15 21:38:12.586129 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] consider sending 10.255.255.1/32 to peer 10.2.3.3, path-id 1, best-ext is off

2019 Jul 15 21:38:12.586145 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] 10.2.3.3 10.255.255.1/32 path-id 1 not sent to peer due to: advertising AS

2019 Jul 15 21:38:12.586160 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] 10.2.3.3: walked 0 nodes and packed 0/0 prefixes

2019 Jul 15 21:38:12.586177 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] Found marker dest 0xf35349f0 on xmitlist for peer 10.2.3.3 (sent prefixes: 0)

2019 Jul 15 21:38:12.586200 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] Created EOR marker UPDATE msg (len 23) to peer 10.2.3.3 afer sending 0 routes

2019 Jul 15 21:38:12.586213 bgp: 65535 [7848] (default) UPD: [IPv4 Unicast] (#24) Suspending update run for peer 10.2.3.3 (#24)

N7K-2#

Al termine, disabilitare i debug con questi comandi:

undebug all

no debug-filter all

clear debug logfile <FILE_NAME>