Introduzione
In questo documento viene descritto come configurare Route Redistribution su switch Cisco Nexus basati su NXOS®.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Software Nexus NX-OS.
- Protocolli di routing: Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), Enhanced Interior Gateway Routing Protocol (EIGRP).
Componenti usati
Il riferimento delle informazioni contenute in questo documento è Cisco Nexus 9000 con NXOS versione 10.2.5.M.
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
- NEXUS A sta pubblicizzando i loopback nel processo OSPF 21.
loopback0 192.168.1.1/32
- NEXUS B sta pubblicizzando i loopback nel processo OSPF 21.
loopback0 192.168.2.1/32
- NEXUS C sta pubblicizzando i loopback nel processo EIGRP 19.
loopback10 172.16.9.1/32
- NEXUS D sta pubblicizzando i loopback nel processo EIGRP 19.
loopback10 172.16.21.1/32
Configurazioni
In questo caso, gli switch Nexus hanno stabilito sessioni di vicinato utilizzando sessioni OSPF, iBGP e EIGRP.
Nota: quando si ridistribuisce tra due o più protocolli di routing su un singolo router, la ridistribuzione non è transitiva. In termini più semplici, se un router ridistribuisce il protocollo 1 nel protocollo 2 e il protocollo 2 nel protocollo 3, le route del protocollo 1 non vengono ridistribuite nel protocollo 3.
Ridistribuzione in OSPF
NEXUS B:
Passaggio 1. Configurare un elenco di prefissi con i prefissi che devono essere ridistribuiti.
Nexus-B(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Nota: è possibile saltare questo passaggio configurando una route-map vuota nel passaggio 2, 0.0.0.0/0 le 32 all'interno di prefix-list consente tutte le route. Lo scopo della configurazione prefix-list in questo articolo è quello di illustrare che è possibile selezionare/filtrare le route ridistribuite.
Passaggio 2. Creare una route-map corrispondente alle condizioni specificate in prefix-list.
Nexus-B(config)# route-map BGP-TO-OSPF permit 10
Nexus-B(config-route-map)# match ip address prefix-list REDISTRIBUTION
Nexus-B(config-route-map)# match route-type internal
Nota: il comando match route-type internal è un requisito per la ridistribuzione delle route iBGP. Per impostazione predefinita, vengono ridistribuite solo le route eBGP.
Passaggio 3. Ridistribuire le route in OSPF provenienti da un altro protocollo, in questo caso iBGP.
Nexus-B(config)# router ospf 21
Nexus-B(config-router)# router-id 2.2.2.2
Nexus-B(config-router)# redistribute bgp 6500 route-map BGP-TO-OSPF
Ridistribuzione in BGP
NEXUS B:
Passaggio 1. Configurare un elenco di prefissi con i prefissi che devono essere ridistribuiti.
Nexus-B(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Passaggio 2. Creare una route-map che soddisfi le condizioni specificate nell'elenco dei prefissi.
Nexus-B(config)# route-map OSPF-TO-BGP permit 10
Nexus-B(config-route-map)# match ip address prefix-list REDISTRIBUTION
Passaggio 3. Ridistribuire le route in BGP provenienti da un altro protocollo, in questo caso OSPF.
Nexus-B(config)# router bgp 6500
Nexus-B(config-router)# address-family ipv4 unicast
Nexus-B(config-router-af)# redistribute ospf 21 route-map OSPF-TO-BGP
Nexus-B(config-router-af)# neighbor 10.24.1.2
Nexus-B(config-router-neighbor)# remote-as 6500
Nexus-B(config-router-neighbor)# address-family ipv4 unicast
NEXUS C:
Passaggio 1. Configurare un elenco di prefissi con i prefissi che devono essere ridistribuiti.
Nexus-C(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Passaggio 2. Creare una route-map corrispondente alle condizioni specificate in prefix-list.
Nexus-C(config)# route-map EIGRP-TO-BGP permit 10
Nexus-C(config-route-map)# match ip address prefix-list REDISTRIBUTION
Passaggio 3. Ridistribuire le route in BGP provenienti da un altro protocollo, in questo caso EIGRP.
Nexus-C(config)# router bgp 6500
Nexus-C(config-router)# address-family ipv4 unicast
Nexus-C(config-router-af)# redistribute eigrp 19 route-map EIGRP-TO-BGP
Nexus-C(config-router-af)# neighbor 10.24.1.1
Nexus-C(config-router-neighbor)# remote-as 6500
Nexus-C(config-router-neighbor)# address-family ipv4 unicast
Ridistribuzione in EIGRP
NEXUS C:
Passaggio 1. Configurare un elenco di prefissi con i prefissi che devono essere ridistribuiti.
Nexus-C(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Passaggio 2. Creare una route-map che soddisfi le condizioni specificate nell'elenco dei prefissi.
Nexus-C(config)# route-map BGP-TO-EIGRP permit 10
Nexus-C(config-route-map)# match ip address prefix-list REDISTRIBUTION
Nexus-C(config-route-map)# match route-type internal
Passaggio 3. Ridistribuire le route in EIGRP provenienti da un altro protocollo, in questo caso OSPF.
Nexus-C(config)# router eigrp 19
Nexus-C(config-router)# address-family ipv4 unicast
Nexus-C(config-router-af)# autonomous-system 17
Nexus-C(config-router-af)# router-id 11.11.11.11
Nexus-C(config-router-af)# redistribute bgp 6500 route-map BGP-TO-EIGRP
Verifica
Una volta configurata la ridistribuzione, i dispositivi Nexus iniziano a ricevere le route provenienti dagli altri protocolli. Queste route vengono visualizzate come route esterne.
Tabella di routing Nexus-A:
Nexus-A# show ip route ospf-21
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
172.16.21.1/32, ubest/mbest: 1/0 *via 10.12.1.2, Eth1/36, [110/1], 00:00:57, ospf-21, type-2, tag 6500 <<<< this prefix is external to OSPF as it is coming from redistribution, originated from Nexus-B, the original route comes from Nexus-D. 192.168.2.1/32, ubest/mbest: 1/0 *via 10.12.1.2, Eth1/36, [110/2], 00:00:57, ospf-21, intra Nexus-A# show ip route direct 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
10.12.1.0/24, ubest/mbest: 1/0, attached *via 10.12.1.1, Eth1/36, [0/0], 01:37:21, direct 192.168.1.1/32, ubest/mbest: 2/0, attached *via 192.168.1.1, Lo0, [0/0], 23:42:19, direct
Tabella di routing Nexus-B:
Nexus-B# show ip route ospf-21
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.1.1/32, ubest/mbest: 1/0 *via 10.12.1.1, Eth1/49, [110/2], 00:15:08, ospf-21, intra Nexus-B# show ip route bgp-6500 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
172.16.21.1/32, ubest/mbest: 1/0 *via 10.24.1.2, [200/128576], 00:19:49, bgp-6500, internal, tag 6500 <<< This prefix is learned by iBGP from Nexus-C, the original route is coming from the EIGRP redistribution, originated from NexusD.
Tabella di routing Nexus-C:
Nexus-C# show ip route bgp-6500
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.1.1/32, ubest/mbest: 1/0 *via 10.24.1.1, [200/2], 00:15:59, bgp-6500, internal, tag 6500 <<< This prefix is coming from iBGP, the route was originated from Nexus-A. Nexus-C# show ip route eigrp-19 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
172.16.21.1/32, ubest/mbest: 1/0 *via 10.36.1.2, Eth1/49, [90/128576], 00:26:03, eigrp-19, internal
Statistiche di ridistribuzione, esclusive per EIGRP:
Nexus-C# show ip eigrp 19 route-map statistics redistribute bgp 6500
IP-EIGRP Route-map Traffic Statistics for AS 17 VRF default
C: No. of comparisions, M: No. of matches
route-map BGP-TO-EIGRP permit 10
match ip address prefix-list REDISTRIBUTION C: 2 M: 2
match route-type internal C: 2 M: 2
Total accept count for policy: 2
Total reject count for policy: 0
Tabella di routing Nexus-D:
Nexus-D# show ip route eigrp-19
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
172.16.9.1/32, ubest/mbest: 1/0 *via 10.36.1.1, Eth1/2, [90/128576], 00:29:14, eigrp-19, internal 192.168.1.1/32, ubest/mbest: 1/0 *via 10.36.1.1, Eth1/2, [170/51456], 00:12:49, eigrp-19, external, tag 6500 <<< This prefix is external to EIGRP as it is coming from redistribution, it comes from BGP but it was originated on Nexus-A. Nexus-D# sh ip route direct 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
10.36.1.0/24, ubest/mbest: 1/0, attached *via 10.36.1.2, Eth1/2, [0/0], 1d00h, direct 172.16.21.1/32, ubest/mbest: 2/0, attached *via 172.16.21.1, Lo10, [0/0], 01:47:30, direct
Nexus-B(config)# router bgp 6500
Nexus-B(config-router)# address-family ipv4 unicast
Nexus-B(config-router-af)# redistribute ospf 21 route-map OSPF-TO-BGP
Nexus-B(config-router-af)# neighbor 10.24.1.2
Nexus-B(config-router-neighbor)# remote-as 6500
Nexus-B(config-router-neighbor)# address-family ipv4 unicast