Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Configureren

Netwerkdiagram

Configuraties

Verifiëren

Problemen oplossen

Inleiding

Dit document beschrijft de opdracht In-Border Gateway Protocol (BGP) op Cisco Nexus-serie van switches die het NX-OS besturingssysteem uitvoeren, in-GP.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Nexus NX-OS-software.

- BGP-routingprotocol.

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Cisco Nexus 7000 switch

- NXOS versie 7.3(0)D1(1)

Dit document is niet beperkt tot specifieke software- en hardwareversies.De informatie in dit document is gemaakt van de apparatuur in een specifieke labomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk levend is, zorg er dan voor dat u de mogelijke impact van om het even welke opdracht begrijpt.

Configureren

Wanneer een netwerkprefix wordt geadverteerd voor een eBGP peer, wordt het Autonomous System (AS) altijd als laatste toegevoegd aan de AS_PATH attribuut list van de BGP.

Standaard maken Cisco Nexus NX-OS-gebaseerde switches geen reclame voor netwerkprefixes bij eBGP-peers waarvan AS al de laatste is gevonden in de eigenschap netprefix AS_PATH van de BGP.

Dit gedrag verschilt van op Cisco IOS® (en Cisco IOS-XE) gebaseerde routers en switches waar netwerkprefixes nog steeds worden geadverteerd voor eBGP-peers, zelfs wanneer het AS van de peer al in de eigenschap netwerk prefix AS_PATH staat.

In dit geval wijst het BGP-lus preventiemechanisme het netwerkprefix (standaard) op de ontvanger-peer weg en veroorzaakt een foutmelding die vergelijkbaar is met "DENIED vanwege: AS-PATH bevat onze eigen AS" alleen als de juiste debugs zijn ingeschakeld.

Opmerking: Op Cisco IOS XR gebaseerde routers gedraagt zich standaard even als NX-OS. In Cisco IOS® XR, kan de opdracht as-path-loopcheck out worden gebruikt om dit gedrag aan te passen.

Netwerkdiagram

Configuraties

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

Verifiëren

Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.

De afwezigheid van de opdracht socket-peer-as-check voorkomt N7K-2 die NX-OS draait om het voorvoegsel 10.255.255.1/32 aan router R3 bekend te maken, aangezien R3's AS (64512) als laatste in de AS_PATH eigenschap is gevonden.

Opmerking: De opdracht Schakel deze optie uit door de standaardinstelling uit te schakelen. U moet de opdracht handmatig toevoegen om deze functie in te schakelen.

Wanneer N7K-2 de 10.255.255.1/32 tot R3 adverteert, bevat het AS 64512 last in de AS_PATH attribuut.

Dit AS 64512 is hetzelfde als ingesteld 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#

Let op dat op R3, de debug opdracht debug bgp ipv4 unicast is ingeschakeld.

Om verder te bevestigen dat de route niet is ontvangen, wordt de opdracht duidelijk gemaakt dat bgp ipv4 unicast * soft wordt uitgevoerd om de routes die opnieuw worden uitgewisseld te forceren. R3 Routes ontvangen de route niet.

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#

De opdracht blokkeer-peer-as-check moet op N7K-2 zijn ingeschakeld zodat het netwerkprefix op R3 kan adverteren.

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

Met de schakelpeer-as-check op N7K-2 wordt de route naar R3 geadverteerd, maar door het verwachte BGP's lus-preventiemechanisme verworpen.

Kijk "DENIED vanwege: AS-PATH bevat onze eigen AS" wordt gezien in de debug-uitvoer.

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#

Opmerking: Als de AS van R3 niet het laatst gevonden wordt in de AS_PATH eigenschap, heeft N7K-2 de opdracht niet nodig om de route te adverteren.

In dit voorbeeld wordt een ander AS als laatste toegevoegd in de AS_PATH eigenschap met het gebruik van route-kaart en set as-path voorkant opdrachten. Er is nog een AS voor R3 AS in de AS_PATH.

De AS_PATH lijst 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#

Let op hoe N7K-2 de route in dit geval adverteerde zonder de noodzaak van uitschakelen-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#

Opmerking "GEWEIGERD wegens: AS-PATH bevat onze eigen AS" wordt gezien in de debug uitvoer op 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#

Problemen oplossen

Deze sectie verschaft informatie die u kunt gebruiken om problemen met uw configuratie op te lossen.

Om de BGP-configuratie te bevestigen moet de opdracht uitschakelen-peer-as-check op NX-OS worden ingeschakeld.

debug-filter bgp neighbor <eBGP_NEIGHBOR>

debug-filter bgp prefix <ROUTE_TO_BE_ADVERTISED>

debug bgp updates

debug logfile <FILE_NAME>

Let erop dat een bericht vergelijkbaar met "10.2.3.3 10.255.255.1/32 pad-id 1 niet naar peer wordt verzonden vanwege: reclame AS" wordt gegenereerd wanneer er een verzoek is om de route opnieuw te verzenden.

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#

Nadat u dit hebt gedaan, schakelt u de knoppen met deze opdrachten uit:

undebug all

no debug-filter all

clear debug logfile <FILE_NAME>