Introdução
Este documento descreve como configurar a redistribuição de rota em switches baseados no Cisco Nexus NXOS®.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Software NX-OS Nexus.
- Protocolos de roteamento: Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), Enhanced Interior Gateway Routing Protocol (EIGRP).
Componentes Utilizados
As informações neste documento são baseadas no Cisco Nexus 9000 com NXOS versão 10.2.5.M.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Configurar
Diagrama de Rede
- O NEXUS A está anunciando os loopbacks no processo OSPF 21.
loopback0 192.168.1.1/32
- O NEXUS B está anunciando os loopbacks no processo OSPF 21.
loopback0 192.168.2.1/32
- O NEXUS C está anunciando os loopbacks no processo EIGRP 19.
loopback10 172.16.9.1/32
- O NEXUS D está anunciando os loopbacks no processo EIGRP 19.
loopback10 172.16.21.1/32
Configurações
Nesse caso, os switches Nexus estabeleceram sessões de vizinhança usando sessões OSPF, iBGP e EIGRP.
Observação: durante a redistribuição entre dois ou mais protocolos de roteamento em um único roteador, a redistribuição não é transitiva. Em termos mais simples, se um roteador redistribui o protocolo 1 para o protocolo 2 e, em seguida, o protocolo 2 redistribui para o protocolo 3, as rotas do protocolo 1 não são redistribuídas para o protocolo 3.
Redistribuição no OSPF
NEXUS B
Etapa 1. Configure uma lista de prefixos com os prefixos que precisam ser redistribuídos.
Nexus-B(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Observação: é possível pular esta etapa configurando um mapa de rota em branco na etapa 2, 0.0.0.0/0 le 32 inside prefix-list permit all the routes, a intenção da configuração da lista de prefixos neste artigo é ilustrar que você pode selecionar/filtrar as rotas que são redistribuídas.
Etapa 2. Crie um mapa de rotas que corresponda às condições especificadas na lista de prefixos.
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
Observação: o comando match route-type internal é um requisito para que as rotas iBGP sejam redistribuídas, por padrão, somente as rotas eBGP são redistribuídas.
Etapa 3. Redistribua as rotas no OSPF vindas de outro protocolo, neste caso, o 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
Redistribuição no BGP
NEXUS B
Etapa 1. Configure uma lista de prefixos com os prefixos que precisam ser redistribuídos.
Nexus-B(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Etapa 2. Crie um mapa de rota que corresponda às condições especificadas na lista de prefixos.
Nexus-B(config)# route-map OSPF-TO-BGP permit 10
Nexus-B(config-route-map)# match ip address prefix-list REDISTRIBUTION
Etapa 3. Redistribua as rotas no BGP vindas de outro protocolo, neste caso, o 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:
Etapa 1. Configure uma lista de prefixos com os prefixos que precisam ser redistribuídos.
Nexus-C(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Etapa 2. Crie um mapa de rotas que corresponda às condições especificadas na lista de prefixos.
Nexus-C(config)# route-map EIGRP-TO-BGP permit 10
Nexus-C(config-route-map)# match ip address prefix-list REDISTRIBUTION
Etapa 3. Redistribua as rotas no BGP vindas de outro protocolo, neste caso, o 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
Redistribuição no EIGRP
NEXUS C:
Etapa 1. Configure uma lista de prefixos com os prefixos que precisam ser redistribuídos.
Nexus-C(config)# ip prefix-list REDISTRIBUTION seq 5 permit 0.0.0.0/0 le 32
Etapa 2. Crie um mapa de rota que corresponda às condições especificadas na lista de prefixos.
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
Etapa 3. Redistribua as rotas no EIGRP que vêm de outro protocolo, neste caso, o 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
Verificar
Uma vez configurada a redistribuição, os dispositivos Nexus começam a receber as rotas vindas de outros protocolos. Essas rotas são exibidas como rotas externas.
Tabela de roteamento do 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
Tabela de roteamento do 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.
Tabela de roteamento do 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
Estatísticas de redistribuição, exclusivas para 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
Tabela de roteamento do 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