VPNs completas de malha
Configurando uma topologia de VPN simples e completa
Este exemplo mostra como configurar uma configuração de VPN simples de provedor de serviços de malha completa, que consiste nos seguintes componentes (consulte a Figura 1):
Duas VPNs diferentes (VPN-A e VPN-B)
Dois roteadores de borda do provedor (PE), ambos com serviço VPN-A e VPN-B
RSVP como protocolo de sinalização
Um caminho comutado por rótulos (LSP) de RSVP que tunela entre os dois roteadores PE por meio de um roteador de provedor (P)
![Example of a Simple VPN Topology](/documentation/us/en/software/junos/vpn-l3/images/g017183.gif)
Nesta configuração, a distribuição de rotas na VPN A do Roteador VPN-A-Paris ao Roteador VPN-A-Tokyo ocorre da seguinte forma:
O roteador de borda do cliente (CE) VPN-A-Paris anuncia rotas para o roteador PE A.
O Roteador A instala as rotas anunciadas recebidas em sua tabela de roteamento e encaminhamento de VPN (VRF), VPN-A.inet.0.
O Roteador A cria um rótulo MPLS para a interface entre ele e o roteador VPN-A-Paris.
O roteador A verifica sua política de exportação de VRF.
O Roteador A converte as rotas do Protocolo de Internet versão 4 (IPv4) do Roteador VPN-A-Paris em formato VPN IPv4 usando seu diferencial de rotas e anuncia essas rotas para o Roteador PE C pelo IBGP entre os dois roteadores PE.
O Roteador C verifica sua política de importação de VRF e instala todas as rotas que combinam com a política em sua tabela de roteamento bgp.l3vpn.0. (Todas as rotas que não combinarem são descartadas.)
O Roteador C verifica sua política de importação de VRF e instala todas as rotas que combinam com sua tabela de roteamento VPN-A.inet.0. As rotas são instaladas no formato IPv4.
O Roteador C anuncia suas rotas para o CE roteador VPN-A-Tokyo, que as instala em sua tabela de roteamento principal. (Para plataformas de roteamento que executam o Junos OS, a tabela de roteamento principal é inet.0.)
O Roteador C usa o LSP entre ele e o Roteador A para rotear todos os pacotes do Roteador VPN-A-Tokyo que são destinados ao Roteador VPN-A-Paris.
A seção final deste exemplo consolida as declarações necessárias para configurar a funcionalidade vpn em cada um dos roteadores P de serviço mostrados na Figura 1.
Neste exemplo, um número de sistema autônomo privado (AS) é usado para diferenciar a rota e o alvo da rota. Esse número é usado apenas para ilustração. Ao configurar VPNs, use um número AS atribuído.
As seções a seguir explicam como configurar a funcionalidade vpn nos roteadores PE e P. Os CE de rede não têm informações sobre a VPN, portanto, você os configura normalmente.
- Ativação de uma IGP nos roteadores PE e P
- Habilitando RSVP e MPLS no roteador P
- Configurando o túnel MPLS LSP entre os roteadores PE
- Configuração de IBGP nos roteadores PE
- Configuração de instâncias de roteamento para VPNs nos roteadores PE
- Configuração de política de VPN nos roteadores PE
- Configuração de VPN simples resumida pelo roteador
Ativação de uma IGP nos roteadores PE e P
Para permitir que os roteadores PE e P troquem informações de roteamento entre si, você deve configurar um protocolo de gateway interior (IGP) em todos esses roteadores ou configurar rotas estáticas. Você configura o IGP na instância primária do processo de protocolo de roteamento (rpd) (ou seja, no nível da hierarquia), não na instância de roteamento vpn (ou seja, não no nível [edit protocols]
[edit routing-instances]
da hierarquia).
Você configura a IGP de maneira padrão. Este exemplo de configuração não inclui esta parte da configuração.
Habilitando RSVP e MPLS no roteador P
No roteador P, roteador B, você deve configurar RSVP e MPLS porque esse roteador existe no caminho MPLS LSP entre os dois roteadores PE, Roteador A e Roteador C:
[edit] protocols { rsvp { interface so-4/0/0.0; interface so-6/0/0.0; } mpls { interface so-4/0/0.0; interface so-6/0/0.0; } }
Configurando o túnel MPLS LSP entre os roteadores PE
Neste exemplo de configuração, o RSVP é usado para sinalização de VPN. Portanto, além de configurar RSVP, você deve habilitar o suporte à engenharia de tráfego em um IGP e criar um MPLS LSP para tunelar o tráfego vpn.
No roteador PE A, ative RSVP e configure uma ponta do túnel MPLS LSP. Neste exemplo, o suporte à engenharia de tráfego está habilitado para OSPF. Ao configurar o MPLS LSP, inclua declarações de todas as interfaces participantes da MPLS, incluindo as interfaces para os roteadores PE e CE interface
pe. As declarações das interfaces entre pe e CE roteadores são necessárias para que o roteador PE possa criar um rótulo MPLS para a interface privada. Neste exemplo, a primeira instrução configura MPLS na interface conectada ao LSP, e as três restantes configuram MPLS nas interfaces que conectam o roteador PE aos roteadores interface
CE web.
[edit] protocols { rsvp { interface so-3/0/0.0; } mpls { label-switched-path RouterA-to-RouterC { to 10.255.245.47; } interface so-3/0/0.0; interface so-6/0/0.0; interface so-6/0/1.0; interface ge-0/3/0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface so-3/0/0.0; } } }
No roteador PE C, ative RSVP e configure a outra ponta do túnel MPLS LSP. Mais uma vez, o suporte à engenharia de tráfego está habilitado para OSPF e você configura MPLS nas interfaces para o LSP e os CE roteadores.
[edit] protocols { rsvp { interface so-2/0/0.0; } mpls { label-switched-path RouterC-to-RouterA { to 10.255.245.68; } interface so-2/0/0.0; interface ge-1/0/0.0; interface at-1/2/0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface so-2/0/0.0; } } }
Configuração de IBGP nos roteadores PE
Nos roteadores PE, configure uma sessão IBGP com as seguintes propriedades:
família VPN — Para indicar que a sessão do IBGP é para a VPN, inclua a
family inet-vpn
declaração.Endereço de loopback — Inclua a
local-address
declaração, especificando o endereço de loopback do roteador PE local. A sessão IBGP para VPNs é realizada por meio do endereço de loopback. Você também deve configurar alo0
interface em nível de[edit interfaces]
hierarquia. O exemplo não inclui essa parte da configuração do roteador.Endereço do vizinho — Inclua a declaração, especificando o endereço IP do roteador PE vizinho, que é o
neighbor
endereço de loopbacklo0
()
No roteador PE A, configure o IBGP:
[edit] protocols { bgp { group PE-RouterA-to-PE-RouterC { type internal; local-address 10.255.245.68; family inet-vpn { unicast; } neighbor 10.255.245.47; } } }
No roteador PE C, configure o IBGP:
[edit] protocols { bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; } } }
Configuração de instâncias de roteamento para VPNs nos roteadores PE
O serviço VPN-A e VPN-B dos roteadores PE, portanto, você deve configurar duas instâncias de roteamento em cada roteador, uma para cada VPN. Para cada VPN, você deve definir os seguintes exemplos na instância do roteamento:
Diferencial de roteamento, que deve ser exclusivo para cada instância de roteamento no roteador PE.
Ele é usado para diferenciar os endereços em uma VPN daqueles em outra VPN.
Tipo de
vrf
instância, que cria a tabela VRF no roteador PE.Interfaces conectadas aos CE roteadores.
Políticas de importação e exportação de VRF, que devem ser as mesmas em cada roteador PE que presta serviços à mesma VPN. A menos que uma política de importação
then reject
contenha apenas uma declaração, ela deve incluir referência a uma comunidade. Caso contrário, quando você tenta cometer a configuração, o commit falha.Nota:Neste exemplo, um número AS privado é usado para o diferencial de rota. Esse número é usado apenas para ilustração. Ao configurar VPNs, use um número AS atribuído.
Roteamento entre os roteadores PE e CE, o que é necessário para que o roteador PE distribua rotas relacionadas a VPN de roteadores CE conectados. Você pode configurar um protocolo de roteamento — BGP, OSPF ou RIP — ou configurar o roteamento estático.
No roteador PE A, configure a seguinte instância de roteamento para VPN-A. Neste exemplo, o roteador A usa rotas estáticas para distribuir rotas de e para CE roteadores aos quais está conectado.
[edit] routing-instance { VPN-A-Paris-Munich { instance-type vrf; interface so-6/0/0.0; interface so-6/0/1.0; route-distinguisher 65535:0; vrf-import VPN-A-import; vrf-export VPN-A-export; routing-options { static { route 172.16.0.0/16 next-hop so-6/0/0.0; route 172.17.0.0/16 next-hop so-6/0/1.0; } } } }
No roteador PE C, configure a seguinte instância de roteamento para VPN-A. Neste exemplo, o roteador C usa BGP para distribuir rotas de e para o CE roteador ao qual está conectado.
[edit] routing-instance { VPN-A-Tokyo { instance-type vrf; interface ge-1/0/0.0; route-distinguisher 65535:1; vrf-import VPN-A-import; vrf-export VPN-A-export; protocols { bgp { group VPN-A-Site2 { peer-as 1; neighbor 10.12.1.2; } } } } }
No roteador PE A, configure a seguinte instância de roteamento para VPN-B. Neste exemplo, o roteador A usa OSPF para distribuir rotas de e para o CE roteador ao qual está conectado.
[edit] policy-options { policy-statement bgp-to-ospf { from { protocol bgp; route-filter 192.168.1.0/24 orlonger; } then accept; } } routing-instance { VPN-B-Madrid { instance-type vrf; interface ge-0/3/0.0; route-distinguisher 65535:2; vrf-import VPN-B-import; vrf-export VPN-B-export; protocols { ospf { export bgp-to-ospf; area 0.0.0.0 { interface ge-0/3/0; } } } } }
No roteador PE C, configure a seguinte instância de roteamento para VPN-B. Neste exemplo, o Roteador C usa RIP para distribuir rotas de e para CE roteador ao qual está conectado.
[edit] policy-options { policy-statement bgp-to-rip { from { protocol bgp; route-filter 192.168.2.0/24 orlonger; } then accept; } } routing-instance { VPN-B-Osaka { instance-type vrf; interface at-1/2/0.0; route-distinguisher 65535:3; vrf-import VPN-B-import; vrf-export VPN-B-export; protocols { rip { group PE-C-to-VPN-B { export bgp-to-rip; neighbor at-1/2/0; } } } } }
Configuração de política de VPN nos roteadores PE
Configure as políticas de importação e exportação de VPN em cada roteador PE para que as rotas apropriadas sejam instaladas nas tabelas de VRF do roteador PE. A tabela VRF é usada para encaminhamento de pacotes dentro de uma VPN. Para VPN-A, a tabela VRF é VPN-A.inet.0, e para VPN-B ela é VPN-B.inet.0.
Na política de VPN, você também configura comunidades alvo de VPN.
No exemplo a seguir, um número AS privado é usado para o alvo da rota. Esse número é usado apenas para ilustração. Ao configurar VPNs, use um número AS atribuído. As qualificações de políticas mostradas neste exemplo são apenas aquelas necessárias para que a VPN funcione. Você pode configurar qualificadores adicionais, conforme necessário, para todas as políticas configuradas.
No roteador PE A, configure as seguintes políticas de importação e exportação de VPN:
[edit] policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol static; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol ospf; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
No roteador PE C, configure as seguintes políticas de importação e exportação de VPN:
[edit] policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol bgp; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol rip; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Para aplicar as políticas de VPN nos roteadores, inclua as vrf-export
e declarações ao configurar a instância de vrf-import
roteamento. Para ambas as VPNs, as políticas de importação e exportação de VRF lidam com a distribuição de rotas na sessão IBGP em execução entre os roteadores PE.
Para aplicar as políticas de VPN no roteador PE A, inclua as seguintes declarações:
[edit] routing-instance { VPN-A-Paris-Munich { vrf-import VPN-A-import; vrf-export VPN-A-export; } VPN-B-Madrid { vrf-import VPN-B-import; vrf-export VPN-B-export; } }
Para aplicar as políticas de VPN no roteador PE C, inclua as seguintes declarações:
[edit] routing-instance { VPN-A-Tokyo { vrf-import VPN-A-import; vrf-export VPN-A-export; } VPN-B-Osaka { vrf-import VPN-B-import; vrf-export VPN-B-export; } }
Configuração de VPN simples resumida pelo roteador
Roteador A (roteador PE)
Instância de roteamento para VPN-A
routing-instance { VPN-A-Paris-Munich { instance-type vrf; interface so-6/0/0.0; interface so-6/0/1.0; route-distinguisher 65535:0; vrf-import VPN-A-import; vrf-export VPN-A-export; } }
Protocolo de roteamento de instâncias
routing-options { static { route 172.16.0.0/16 next-hop so-6/0/0.0; route 172.17.0.0/16 next-hop so-6/0/1.0; } }
Instância de roteamento para VPN-B
routing-instance { VPN-B-Madrid { instance-type vrf; interface ge-0/3/0.0; route-distinguisher 65535:2; vrf-import VPN-B-import; vrf-export VPN-B-export; } }
Protocolo de roteamento de instâncias
protocols { ospf { area 0.0.0.0 { interface ge-0/3/0; } } }
Instância de protocolo principal
protocols { }
Habilitar RSVP
rsvp { interface so-3/0/0.0; }
Configure um MPLS LSP
mpls { label-switched-path RouterA-to-RouterC { to 10.255.245.47; } interface so-3/0/0.0; interface so-6/0/0.0; interface so-6/0/1.0; interface ge-0/3/0.0; }
Configurar IBGP
bgp { group PE-RouterA-to-PE-RouterC { type internal; local-address 10.255.245.68; family inet-vpn { unicast; } neighbor 10.255.245.47; } }
Configure OSPF para suporte à engenharia de tráfego
ospf { traffic-engineering; area 0.0.0.0 { interface so-3/0/0.0; } }
Configurar política de VPN
policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol static; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol ospf; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Roteador B (Roteador P)
Instância de protocolo principal
protocols { }
Habilitar RSVP
rsvp { interface so-4/0/0.0; interface so-6/0/0.0; }
Habilitar MPLS
mpls { interface so-4/0/0.0; interface so-6/0/0.0; }
Roteador C (Roteador PE)
Instância de roteamento para VPN-A
routing-instance { VPN-A-Tokyo { instance-type vrf; interface ge-1/0/0.0; route-distinguisher 65535:1; vrf-import VPN-A-import; vrf-export VPN-A-export; } }
Protocolo de roteamento de instâncias
protocols { bgp { group VPN-A-Site2 { peer-as 1; neighbor 10.12.1.2; } } }
Instância de roteamento para VPN-B
VPN-B-Osaka { instance-type vrf; interface at-1/2/0.0; route-distinguisher 65535:3; vrf-import VPN-B-import; vrf-export VPN-B-export; }
Protocolo de roteamento de instâncias
protocols { rip { group PE-C-to-VPN-B { neighbor at-1/2/0; } } }
Instância de protocolo principal
protocols { }
Habilitar RSVP
rsvp { interface so-2/0/0.0; }
Configure um MPLS LSP
mpls { label-switched-path RouterC-to-RouterA { to 10.255.245.68; } interface so-2/0/0.0; interface ge-1/0/0.0; interface at-1/2/0.0; }
Configurar IBGP
bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; } }
Configure OSPF para suporte à engenharia de tráfego
ospf { traffic-engineering; area 0.0.0.0 { interface so-2/0/0.0; } }
Configurar política de VPN
policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol bgp; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol rip; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Configurando uma topologia de VPN de malha completa com refletores de roteamento
Este exemplo é uma variação do exemplo de topologia de VPN de malha completa (descrito na Configuração de uma Topologiavpn completa de malha simples), na qual um dos roteadores PE é um refletor de BGP de roteamento. Nesta variação, o Roteador C na configuração de uma topologia vpn simples de malha completa é um refletor de rotas. A única mudança em sua configuração é que você precisa incluir a instrução ao cluster
configurar o BGP grupo:
[edit] protocols { bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; cluster 4.3.2.1; } } }