BGP PIC para VPNs de Camada 3
Configuração da borda BGP PIC para VPNs de Camada 3 MPLS
Em um ambiente MPLS VPN Camada 3, é comum que os clientes multihomem suas redes forneçam redundância de enlace. Embora o protocolo de gateway interior (IGP) possa fornecer convergência rápida, em determinadas instâncias, o tempo para resolver uma falha de enlace e fornecer uma rota alternativa pode ser demorado. Por exemplo, um roteador de borda (PE) do provedor pode ser configurado com 200.000 ou mais prefixos IP, e uma falha no roteador PE pode afetar muitos desses prefixos.
O BGP Prefix-Independent Convergence (PIC) Edge permite instalar uma rota VPN de Camada 3 na tabela de encaminhamento como um caminho alternativo, permitindo um failover rápido quando um roteador PE falha ou você perde a conectividade para um roteador PE. Esse caminho já instalado é usado até que a convergência global através do IGP seja resolvida. Usar a rota VPN alternativa para o encaminhamento até que a convergência global seja completa reduz a perda de tráfego.
O BGP PIC Edge oferece suporte a multiprotocol BGP IPv4 ou IPv6 VPN de informações de alcance de camada de rede (NLRI) resolvidas usando qualquer um desses protocolos de IGP:
OSPF
IS-IS
Ldp
RSVP
O BGP PIC Edge não aceita tráfego multicast.
Antes de começar:
Configure LDP ou RSVP.
Configure um IGP: ou OSPF ou IS-IS.
Configure uma VPN de Camada 3.
Configure um BGP multiprotocol para uma VPN IPv4 ou uma VPN IPv6.
Para configurar o BGP PIC Edge em uma VPN DE Camada 3 MPLS:
Nas plataformas de roteamento universal 5G da Série MX com concentradores modulares de portas (MPCs), recomendamos fortemente que você habilite serviços aprimorados de rede IP.
Para habilitar serviços aprimorados de rede IP:
[edit chassis] user@host# set network-services enhanced-ip
Exemplo: configurar a borda BGP PIC para VPNs de Camada 3 MPLS
Este exemplo mostra como configurar a borda de convergência independente de prefixo (PIC) BGP, que permite instalar uma rota VPN de Camada 3 na tabela de encaminhamento como um caminho alternativo. Isso permite um failover rápido quando um roteador de borda (PE) do provedor falha ou você perde a conectividade com um roteador PE. Esse caminho já instalado é usado até que a convergência global pelo protocolo de gateway interior (IGP) seja resolvida. Usar a rota VPN alternativa para o encaminhamento até que a convergência global seja completa reduz a perda de tráfego.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Este exemplo usa os seguintes componentes de hardware e software:
Uma plataforma de roteamento universal 5G da Série MX com interfaces MPC para configurar o recurso de borda BGP PIC.
Cinco roteadores que podem ser uma combinação de roteadores de borda multisserviço da Série M, plataformas de roteamento universal 5G da Série MX ou roteadores de núcleo da Série T.
Junos OS Versão 13.2 ou posterior no dispositivo com borda BGP PIC configurada.
Visão geral
Em um ambiente MPLS VPN Camada 3, é comum que os clientes multihomem suas redes forneçam redundância de enlace. Embora o protocolo de gateway interior (IGP) possa fornecer convergência rápida, em determinadas instâncias, o tempo para resolver uma falha de enlace e fornecer uma rota alternativa pode ser demorado. Por exemplo, um roteador de borda (PE) do provedor pode ser configurado com 200.000 ou mais prefixos IP, e uma falha no roteador PE pode afetar muitos desses prefixos.
Este exemplo mostra dois roteadores de borda do cliente (CE), o Dispositivo CE1 e o Dispositivo CE2. Os dispositivos PE1, PE2 e PE3 são roteadores PE. O dispositivo P1 é um roteador de núcleo provedor. Somente o dispositivo PE1 tem a borda BGP PIC configurada. O exemplo usa o enlace P1-PE2 (P-PE) para simular a perda de uma seção da rede.
Para testes, o endereço 172.16.1.5/24 é adicionado como um endereço de interface de loopback no dispositivo CE2. O endereço é anunciado para Dispositivo PE2 e Dispositivo PE3 e é retransmitido por meio do IBGP (BGP) interno para o dispositivo PE1. No dispositivo PE1, existem dois caminhos para a rede 172.16.1.5/24. Estes são os principais e um caminho de backup.
Topologia
A Figura 1 mostra a rede amostral.
A configuração rápida da CLI mostra a configuração para todos os dispositivos na Figura 1.
O procedimento passo a passo da seção descreve as etapas do Dispositivo PE1.
Configuração
Configuração rápida de CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
Dispositivo CE1
set interfaces ge-1/2/0 unit 0 family inet address 10.0.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols bgp group ebgp type external set protocols bgp group ebgp export send-direct set protocols bgp group ebgp neighbor 10.0.0.2 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept set routing-options autonomous-system 101
Dispositivo CE2
set interfaces ge-1/2/4 unit 0 family inet address 10.0.0.42/30 set interfaces ge-1/2/3 unit 0 family inet address 10.0.0.46/30 set interfaces lo0 unit 0 family inet address 192.168.0.8/32 set interfaces lo0 unit 0 family inet address 172.16.1.5/24 set protocols bgp group ebgp type external set protocols bgp group ebgp export send-direct set protocols bgp group ebgp neighbor 10.0.0.45 set protocols bgp group ebgp neighbor 10.0.0.41 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept set routing-options autonomous-system 102
Dispositivo P1
set interfaces ge-1/2/1 unit 0 family inet address 10.0.0.5/30 set interfaces ge-1/2/1 unit 0 family mpls set interfaces ge-1/2/5 unit 0 family inet address 10.0.0.17/30 set interfaces ge-1/2/5 unit 0 family mpls set interfaces ge-1/2/2 unit 0 family inet address 10.0.0.33/30 set interfaces ge-1/2/2 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set protocols mpls interface ge-1/2/1.0 set protocols mpls interface ge-1/2/5.0 set protocols mpls interface ge-1/2/2.0 set protocols ospf area 0.0.0.0 interface ge-1/2/1.0 set protocols ospf area 0.0.0.0 interface ge-1/2/5.0 set protocols ospf area 0.0.0.0 interface ge-1/2/2.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/1.0 set protocols ldp interface ge-1/2/5.0 set protocols ldp interface ge-1/2/2.0 set protocols ldp interface lo0.0 set routing-options autonomous-system 100
Dispositivo PE1
set interfaces ge-1/2/0 unit 0 family inet address 10.0.0.2/30 set interfaces ge-1/2/1 unit 0 family inet address 10.0.0.6/30 set interfaces ge-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols mpls interface ge-1/2/1.0 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.2 set protocols bgp group ibgp family inet unicast set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp export nhs set protocols bgp group ibgp neighbor 192.168.0.7 set protocols bgp group ibgp neighbor 192.168.0.6 set protocols ospf area 0.0.0.0 interface ge-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/1.0 set protocols ldp interface lo0.0 set policy-options policy-statement lb then load-balance per-packet set policy-options policy-statement nhs then next-hop self set routing-instances customer1 instance-type vrf set routing-instances customer1 interface ge-1/2/0.0 set routing-instances customer1 route-distinguisher 100:1 set routing-instances customer1 vrf-target target:100:1 set routing-instances customer1 routing-options protect core set routing-instances customer1 protocols bgp group ebgp type external set routing-instances customer1 protocols bgp group ebgp neighbor 10.0.0.1 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 100 set routing-options forwarding-table export lb
Dispositivo PE2
set interfaces ge-1/2/2 unit 0 family inet address 10.0.0.34/30 set interfaces ge-1/2/2 unit 0 family mpls set interfaces ge-1/2/3 unit 0 family inet address 10.0.0.45/30 set interfaces lo0 unit 0 family inet address 192.168.0.7/32 set protocols mpls interface ge-1/2/2.0 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.7 set protocols bgp group ibgp family inet unicast set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp export nhs set protocols bgp group ibgp neighbor 192.168.0.2 set protocols bgp group ibgp neighbor 192.168.0.6 set protocols ospf area 0.0.0.0 interface ge-1/2/2.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/2.0 set protocols ldp interface lo0.0 set routing-instances customer1 instance-type vrf set routing-instances customer1 interface ge-1/2/3.0 set routing-instances customer1 route-distinguisher 100:1 set routing-instances customer1 vrf-target target:100:1 set routing-instances customer1 protocols bgp group ebgp type external set routing-instances customer1 protocols bgp group ebgp neighbor 10.0.0.46 set routing-options autonomous-system 100
Dispositivo PE3
set interfaces ge-1/2/5 unit 0 family inet address 10.0.0.18/30 set interfaces ge-1/2/5 unit 0 family mpls set interfaces ge-1/2/4 unit 0 family inet address 10.0.0.41/30 set interfaces ge-1/2/4 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.6/32 set protocols mpls interface ge-1/2/5.0 set protocols mpls interface ge-1/2/4.0 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.6 set protocols bgp group ibgp family inet unicast set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp export nhs set protocols bgp group ibgp neighbor 192.168.0.7 set protocols bgp group ibgp neighbor 192.168.0.2 set protocols ospf area 0.0.0.0 interface ge-1/2/5.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface ge-1/2/5.0 set protocols ldp interface lo0.0 set routing-instances customer1 instance-type vrf set routing-instances customer1 interface ge-1/2/4.0 set routing-instances customer1 route-distinguisher 100:1 set routing-instances customer1 vrf-target target:100:1 set routing-instances customer1 protocols bgp group ebgp type external set routing-instances customer1 protocols bgp group ebgp neighbor 10.0.0.42 set routing-options autonomous-system 100
Procedimento
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre a navegação na CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de Usuário da CLI.
Para configurar o dispositivo R1:
-
Configure as interfaces do dispositivo.
[edit interfaces] user@PE1# set ge-1/2/0 unit 0 family inet address 10.0.0.2/30 user@PE1# set ge-1/2/1 unit 0 family inet address 10.0.0.6/30 user@PE1# set ge-1/2/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 192.168.0.2/32
-
Configure MPLS e LDP nas interfaces voltadas para o núcleo.
[edit protocols] user@PE1# set mpls interface ge-1/2/1.0 user@PE1# set ldp interface ge-1/2/1.0 user@PE1# set ldp interface lo0.0
-
Configure um IGP nas interfaces voltadas para o núcleo.
[edit protocols ospf area 0.0.0.0] user@PE1# set interface ge-1/2/1.0 user@PE1# set interface lo0.0 passive
-
Configure conexões IBGP com os outros dispositivos PE.
[edit protocols bgp group ibgp] user@PE1# set type internal user@PE1# set local-address 192.168.0.2 user@PE1# set family inet unicast user@PE1# set family inet-vpn unicast user@PE1# set export nhs user@PE1# set neighbor 192.168.0.7 user@PE1# set neighbor 192.168.0.6
-
Configure a política de balanceamento de carga.
[edit policy-options policy-statement lb] user@PE1# set then load-balance per-packet
-
(Opcional) Configure uma auto-política de próximo salto.
[edit policy-options policy-statement nhs] user@PE1# set then next-hop self
-
Configure a instância de roteamento para criar a conexão CE-PE EBGP.
[edit routing-instances customer1] user@PE1# set instance-type vrf user@PE1# set interface ge-1/2/0.0 user@PE1# set route-distinguisher 100:1 user@PE1# set vrf-target target:100:1 user@PE1# set protocols bgp group ebgp type external user@PE1# set protocols bgp group ebgp neighbor 10.0.0.1
-
Habilite o recurso de borda BGP PIC.
[edit routing-instances customer1] user@PE1# set routing-options protect core
-
Aplique a política de balanceamento de carga.
[edit routing-options forwarding-table] user@PE1# set export lb
-
Atribua o número do ID do roteador e do sistema autônomo (AS).
[edit routing-options] user@PE1# set router-id 192.168.0.2 user@PE1# set autonomous-system 100
Resultados
A partir do modo de configuração, confirme sua configuração entrando nosshow interfaces
, show protocols
, show policy-options
, e show routing-options
show routing-instances
comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@PE1# show interfaces ge-1/2/0 { unit 0 { family inet { address 10.0.0.2/30; } } } ge-1/2/1 { unit 0 { family inet { address 10.0.0.6/30; } family mpls; } } lo0 { unit 0 { family inet { address 192.168.0.2/32; } } }
user@PE1# show protocols mpls { interface ge-1/2/1.0; } bgp { group ibgp { type internal; local-address 192.168.0.2; family inet { unicast; } family inet-vpn { unicast; } export nhs; neighbor 192.168.0.7; neighbor 192.168.0.6; } } ospf { area 0.0.0.0 { interface ge-1/2/1.0; interface lo0.0 { passive; } } } ldp { interface ge-1/2/1.0; interface lo0.0; }
user@PE1# show policy-options policy-statement lb { then { load-balance per-packet; } } policy-statement nhs { then { next-hop self; } }
user@PE1# show routing-instances customer1 { instance-type vrf; interface ge-1/2/0.0; route-distinguisher 100:1; vrf-target target:100:1; routing-options { protect core; } protocols { bgp { group ebgp { type external; peer-as 101; neighbor 10.0.0.1; } } } }
user@PE1# show routing-options router-id 192.168.0.2; autonomous-system 100; forwarding-table { export lb; }
Se terminar de configurar o dispositivo, entre no commit
modo de configuração.
Verificação
Confirme se a configuração está funcionando corretamente.
- Exibição de informações extensas de rota
- Exibindo a tabela de encaminhamento
- Exibindo as rotas dos OSPF
Exibição de informações extensas de rota
Propósito
Confirme que o BGP PIC Edge está funcionando.
Ação
Do dispositivo PE1, execute o show route extensive table customer1.inet.0 172.16.1/24
comando.
user@PE1> show route extensive table customer1.inet.0 172.16.1/24 customer1.inet.0: 7 destinations, 12 routes (7 active, 0 holddown, 0 hidden) 172.16.1.0/24 (3 entries, 2 announced) State: <CalcForwarding> TSI: KRT in-kernel 172.16.1.0/24 -> {indirect(262146), indirect(262142)} Page 0 idx 0, (group ebgp type External) Type 1 val 0x950a62c (adv_entry) Advertised metrics: Nexthop: Self AS path: [100] 102 I Communities: target:100:1 Path 172.16.1.0 from 192.168.0.6 Vector len 4. Val: 0 @BGP Preference: 170/-101 Route Distinguisher: 100:1 Next hop type: Indirect Address: 0x9514a74 Next-hop reference count: 7 Source: 192.168.0.6 Next hop type: Router, Next hop index: 990 Next hop: 10.0.0.5 via ge-1/2/1.0, selected Label operation: Push 299824, Push 299856(top) Label TTL action: prop-ttl, prop-ttl(top) Load balance label: Label 299824: None; Label 299856: None; Session Id: 0x280002 Protocol next hop: 192.168.0.6 Label operation: Push 299824 Label TTL action: prop-ttl Load balance label: Label 299824: None; Indirect next hop: 0x96bc104 262146 INH Session ID: 0x280006 State: <Secondary Active Int Ext ProtectionPath ProtectionCand> Local AS: 100 Peer AS: 100 Age: 1:38:13 Metric2: 1 Validation State: unverified Task: BGP_100.192.168.0.6+45824 Announcement bits (1): 1-BGP_RT_Background AS path: 102 I Communities: target:100:1 Import Accepted VPN Label: 299824 Localpref: 100 Router ID: 192.168.0.6 Primary Routing Table bgp.l3vpn.0 Indirect next hops: 1 Protocol next hop: 192.168.0.6 Metric: 1 Label operation: Push 299824 Label TTL action: prop-ttl Load balance label: Label 299824: None; Indirect next hop: 0x96bc104 262146 INH Session ID: 0x280006 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 10.0.0.5 via ge-1/2/1.0 Session Id: 0x280002 192.168.0.6/32 Originating RIB: inet.3 Metric: 1 Node path count: 1 Forwarding nexthops: 1 Nexthop: 10.0.0.5 via ge-1/2/1.0 BGP Preference: 170/-101 Route Distinguisher: 100:1 Next hop type: Indirect Address: 0x9515570 Next-hop reference count: 7 Source: 192.168.0.7 Next hop type: Router, Next hop index: 933 Next hop: 10.0.0.5 via ge-1/2/1.0, selected Label operation: Push 299856, Push 299872(top) Label TTL action: prop-ttl, prop-ttl(top) Load balance label: Label 299856: None; Label 299872: None; Session Id: 0x280002 Protocol next hop: 192.168.0.7 Label operation: Push 299856 Label TTL action: prop-ttl Load balance label: Label 299856: None; Indirect next hop: 0x96bc000 262142 INH Session ID: 0x280005 State: <Secondary NotBest Int Ext ProtectionPath ProtectionCand> Inactive reason: Not Best in its group - Router ID Local AS: 100 Peer AS: 100 Age: 1:38:13 Metric2: 1 Validation State: unverified Task: BGP_100.192.168.0.7+10985 AS path: 102 I Communities: target:100:1 Import Accepted VPN Label: 299856 Localpref: 100 Router ID: 192.168.0.7 Primary Routing Table bgp.l3vpn.0 Indirect next hops: 1 Protocol next hop: 192.168.0.7 Metric: 1 Label operation: Push 299856 Label TTL action: prop-ttl Load balance label: Label 299856: None; Indirect next hop: 0x96bc000 262142 INH Session ID: 0x280005 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 10.0.0.5 via ge-1/2/1.0 Session Id: 0x280002 192.168.0.7/32 Originating RIB: inet.3 Metric: 1 Node path count: 1 Forwarding nexthops: 1 Nexthop: 10.0.0.5 via ge-1/2/1.0 #Multipath Preference: 255 Next hop type: Indirect Address: 0x9578010 Next-hop reference count: 4 Next hop type: Router, Next hop index: 990 Next hop: 10.0.0.5 via ge-1/2/1.0, selected Label operation: Push 299824, Push 299856(top) Label TTL action: prop-ttl, prop-ttl(top) Load balance label: Label 299824: None; Label 299856: None; Session Id: 0x280002 Next hop type: Router, Next hop index: 933 Next hop: 10.0.0.5 via ge-1/2/1.0 Label operation: Push 299856, Push 299872(top) Label TTL action: prop-ttl, prop-ttl(top) Load balance label: Label 299856: None; Label 299872: None; Session Id: 0x280002 Protocol next hop: 192.168.0.6 Label operation: Push 299824 Label TTL action: prop-ttl Load balance label: Label 299824: None; Indirect next hop: 0x96bc104 262146 INH Session ID: 0x280006 Weight 0x1 Protocol next hop: 192.168.0.7 Label operation: Push 299856 Label TTL action: prop-ttl Load balance label: Label 299856: None; Indirect next hop: 0x96bc000 262142 INH Session ID: 0x280005 Weight 0x4000 State: <ForwardingOnly Int Ext> Inactive reason: Forwarding use only Age: 1:38:13 Metric2: 1 Validation State: unverified Task: RT Announcement bits (1): 0-KRT AS path: 102 I Communities: target:100:1
Significado
As linhas de saída indiretos de próximo salto que contêm peso seguem próximos saltos que o software pode usar para reparar caminhos onde ocorre uma falha no enlace.
O peso do próximo salto tem um dos seguintes valores:
0x1 indica próximos hops ativos.
0x4000 indica próximos saltos passivos.
Exibindo a tabela de encaminhamento
Propósito
Verifique o estado da tabela de encaminhamento e roteamento do kernel usando show route forwarding-table
.
Ação
Do dispositivo PE1, execute o show route forwarding-table table customer1 destination 172.16.1.0/24
comando.
user@PE1> show route forwarding-table table customer1 destination 172.16.1.0/24 Routing table: customer1.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif 172.16.1.0/24 user 0 ulst 262147 2 indr 262146 3 10.0.0.5 Push 299824, Push 299856(top) 990 2 ge-1/2/1.0 indr 262144 3 10.0.0.5 Push 300080, Push 299920(top) 1000 2 ge-1/2/1.0
Significado
além do estado da tabela de encaminhamento e roteamento do kernel, este comando mostra o índice unilist (262147) usado pelo Packet Forwarding Engine.
Exibindo as rotas dos OSPF
Propósito
Mostre o estado de rota do OSPF.
Ação
Do dispositivo PE1, execute o show (ospf | ospf3) route detail
comando.
user@PE1> show ospf route detail betsy@tp0:PE1> show ospf route detail Topology default Route Table: Prefix Path Route NH Metric NextHop Nexthop Type Type Type Interface Address/LSP 192.168.0.3 Intra Router IP 1 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.3, optional-capability 0x0 192.168.0.6 Intra Router IP 2 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.6, optional-capability 0x0 192.168.0.7 Intra Router IP 2 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.7, optional-capability 0x0 10.0.0.4/30 Intra Network IP 1 ge-1/2/1.0 area 0.0.0.0, origin 192.168.0.3, priority low 10.0.0.16/30 Intra Network IP 2 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.6, priority medium 10.0.0.32/30 Intra Network IP 2 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.7, priority medium 192.168.0.2/32 Intra Network IP 0 lo0.0 area 0.0.0.0, origin 192.168.0.2, priority low 192.168.0.3/32 Intra Network IP 1 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.3, priority medium 192.168.0.6/32 Intra Network IP 2 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.6, priority medium session-id: 2621446, version: 1 192.168.0.7/32 Intra Network IP 2 ge-1/2/1.0 10.0.0.5 area 0.0.0.0, origin 192.168.0.7, priority medium session-id: 2621450, version: 1
Significado
A saída mostra os IDs de sessão rastreados para os endereços da interface de loopback nos dispositivos PE2 e PE3.