VPNs sobrepostas
Configurando VPNs sobrepostas usando grupos de tabela de roteamento
Nas VPNs de Camada 3, um CE roteador costuma ser membro de mais de uma VPN. Este exemplo ilustra como configurar roteadores PE com suporte CE roteadores com suporte a várias VPNs. O suporte a esse tipo de configuração usa um recurso do Junos OS chamado grupos de tabela de roteamento (às vezes também chamados de grupos de base de informações de roteamento [RIB]), o que permite que uma rota seja instalada em várias tabelas de roteamento. Um grupo de tabela de roteamento é uma lista de tabelas de roteamento nas quais o protocolo deve instalar suas rotas.
Você define grupos de tabela de roteamento no [edit routing-options]
nível da hierarquia para a instância padrão. Você não pode configurar grupos de tabela de roteamento no nível da hierarquia; isso [edit routing-instances routing-options]
resulta em um erro de commit.
Depois de definir um grupo de tabela de roteamento, ele pode ser usado por vários protocolos. Você também pode aplicar grupos de tabela de roteamento ao roteamento estático. Os exemplos de configuração nesta seção incluem ambos os tipos de configurações.
A Figura 1 ilustra a topologia do exemplo de configuração nesta seção. As configurações desta seção ilustram a conectividade local entre CE roteadores conectados ao mesmo roteador PE. Se o roteador PE1 estivesse conectado apenas ao Roteador CE2 (VPN AB), não precisaria de nenhuma configuração extra. As declarações de configuração nas seções a seguir permitem que o roteador AB CE2 vpn se comunique com VPN A Router CE1 e VPN B Router CE3, que estão diretamente conectados ao Roteador PE1. As rotas de VPN que se originam dos roteadores PE remotos (o roteador PE2 neste caso) são colocadas em uma tabela de roteamento VPN de Camada 3 global (bgp.l3vpn.inet.0), e rotas com alvos de rota apropriados são importadas para as tabelas de roteamento conforme determina a configuração da política de importação de VRF. A meta é ser capaz de escolher rotas de tabelas de roteamento VPN individuais que são povoadas localmente.
É onde ocorrem todas as modificações de filtragem e configuração. Portanto, somente as configurações de VPN para PE1 são mostradas. Os CE de rede não têm informações sobre a VPN, para que você possa configurá-los normalmente.
As seções a seguir explicam várias maneiras de configurar VPNs sobrepostas.
As seções a seguir ilustram diferentes cenários para configuração de VPNs sobrepostas, dependendo do protocolo de roteamento usado entre pe e CE roteadores. Para todos esses exemplos, você precisa configurar grupos de tabela de roteamento.
- Configuração de grupos de tabela de roteamento
- Configurando rotas estáticas entre pe e CE roteadores
- Configuração de BGP entre PE e CE roteadores
- Configuração de OSPF entre PE e CE roteadores
- Configurando rotas estáticas, BGP e OSPF entre PE e CE roteadores
Configuração de grupos de tabela de roteamento
Neste exemplo, grupos de tabela de roteamento são comuns nos quatro cenários de configuração. Os grupos de tabela de roteamento são usados para instalar rotas (incluindo interface, estática, OSPF e BGP de roteamento) em várias tabelas de roteamento para o padrão e outras instâncias. Na definição do grupo da tabela de roteamento, a primeira tabela de roteamento é chamada de tabela de roteamento principal. (Normalmente, a tabela de roteamento principal é a tabela na qual a rota seria instalada se você não configurasse grupos de tabela de roteamento. As outras tabelas de roteamento são chamadas tabelas de roteamento secundários.)
Os grupos de tabela de roteamento nesta configuração instalam rotas da seguinte forma:
vpna-vpnab
instala rotas em tabelas de roteamento VPN-A.inet.0 e VPN-AB.inet.0.vpnb-vpnab
instala rotas em tabelas de roteamento VPN-B.inet.0 e VPN-AB.inet.0.vpnab-vpna_and_vpnb
instala rotas em tabelas de roteamento VPN-AB.inet.0, VPN-A.inet.0 e VPN-B.inet.0.
Configure os grupos da tabela de roteamento:
[edit] routing-options { rib-groups { vpna-vpnab { import-rib [ VPN-A.inet.0 VPN-AB.inet.0 ]; } vpnb-vpnab { import-rib [ VPN-B.inet.0 VPN-AB.inet.0 ]; } vpnab-vpna_and_vpnb { import-rib [ VPN-AB.inet.0 VPN-A.inet.0 VPN-B.inet.0 ]; } } }
Configurando rotas estáticas entre pe e CE roteadores
Para configurar o roteamento estático entre o roteador PE1 e os roteadores CE1, CE2 e CE3, você deve configurar instâncias de roteamento para VPN A, VPN B e VPN AB (você configura o roteamento estático em cada instância):
- Configurando a instância de roteamento para VPN A
- Configurando a instância de roteamento para VPN AB
- Configurando a instância de roteamento para VPN B
- Configuração de política de VPN
Configurando a instância de roteamento para VPN A
No roteador PE1, configure VPN A:
[edit] routing-instances { VPN-A { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.175:3; vrf-import vpna-import; vrf-export vpna-export; routing-options { interface-routes { rib-group inet vpna-vpnab; } static { route 10.255.14.155/32 next-hop 192.168.197.141; route 10.255.14.185/32 next-hop 192.168.197.178; } } } }
A declaração instala as rotas de interface da VPN A nas tabelas de roteamento interface-routes
definidas no grupo da tabela de roteamento. vpna-vpnab
A declaração configura as rotas estáticas instaladas na tabela de roteamento static
VPN-A.inet.0. A primeira rota estática é para o Roteador CE1 (VPN A) e a segunda é para o Roteador CE2 (em VPN AB).
O próximo salto não está na VPN A. A rota não pode ser instalada no 192.168.197.178
VPN-A.inet.0, a menos que as rotas de interface da instância de roteamento VPN AB sejam instaladas nesta 10.255.14.185/32
tabela de roteamento. Incluindo as interface-routes
declarações na configuração VPN AB fornece este próximo hop. Da mesma forma, incluindo interface-routes
a declaração na configuração VPN AB instala-se 192.168.197.141
em VPN-AB.inet.0.
Configurando a instância de roteamento para VPN AB
No roteador PE1, configure VPN AB:
[edit] routing instances { VPN-AB { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.175:9; vrf-import vpnab-import; vrf-export vpnab-export; routing-options { interface-routes { rib-group vpnab-vpna_and_vpnb; } static { route 10.255.14.185/32 next-hop 192.168.197.178; route 10.255.14.155/32 next-hop 192.168.197.141; route 10.255.14.186/32 next-hop 192.168.197.242; } } } }
Nesta configuração, as seguintes rotas estáticas estão instaladas na tabela de roteamento VPN-AB.inet.0:
10.255.14.185/32
é para o roteador CE2 (em VPN AB)10.255.14.155/32
é para o roteador CE1 (na VPN A)10.255.14.186/32
é para o roteador CE3 (em VPN B)
O próximo salto não pertence a VPN AB. Rotas e não pode ser instalada em 192.168.197.141
192.168.197.242
10.255.14.155/32
VPN-AB.inet.0, a menos que as rotas de interface de VPN A e VPN B sejam instaladas nesta tabela de 10.255.14.186/32
roteamento. As configurações da rota de interface em instâncias de roteamento VPN A e VPN B fornecem esses próximos saltos.
Configurando a instância de roteamento para VPN B
No roteador PE1, configure VPN B:
[edit] routing instances { VPN-B { instance-type vrf; interface fe-1/0/2.0; route-distinguisher 10.255.14.175:10; vrf-import vpnb-import; vrf-export vpnb-export; routing-options { interface-routes { rib-group inet vpnb-vpnab; } static { route 10.255.14.186/32 next-hop 192.168.197.242; route 10.255.14.185/32 next-hop 192.168.197.178; } } } }
Quando você configura a instância de roteamento para VPN B, essas rotas estáticas são colocadas em VPNB.inet.0:
10.255.14.186/32
é para o roteador CE3 (em VPN B)10.255.14.185/32
é para o roteador CE2 (em VPN AB)
O próximo salto não pertence à VPN B. A rota não pode ser instalada no 192.168.197.178
VPN-B.inet.0, a menos que as rotas de interface da VPN AB sejam instaladas nesta 10.255.14.185/32
tabela de roteamento. A configuração da rota de interface em VPN AB fornece este próximo salto.
Configuração de política de VPN
As declarações de política e as declarações de política que você configura para VPNs sobrepostas são as mesmas das declarações de política para VPNs regulares, exceto que você inclui a declaração em cada política de exportação vrf-import
vrf-export
from interface
VRF. Esta declaração força cada VPN a anunciar apenas as rotas que se originaram dessa VPN. Por exemplo, a VPN A tem rotas originadas em VPN A e VPN AB. Caso você não inclua a declaração, a VPN A anuncia suas próprias rotas e as rotas da VPN AB, para que o roteador PE remoto receba vários anúncios para as mesmas from interface
rotas. Incluindo a declaração, cada VPN restringe a anunciar apenas as rotas de origem e permite filtrar as rotas importadas de outras tabelas de roteamento para conectividade from interface
local.
Neste exemplo de configuração, a vpnab-import
política aceita rotas de VPN A, VPN B e VPN AB. A vpna-export
política exporta apenas rotas que se originam na VPN A. Da mesma forma, as vpnb-export
e as políticas só vpnab-export
exportam rotas que se originam nas respectivas VPNs.
No roteador PE1, configure as seguintes políticas de importação e exportação de VPN:
[edit] policy-options { policy-statement vpna-import { term a { from { protocol bgp; community VPNA-comm; } then accept; } term b { then reject; } } policy-statement vpnb-import { term a { from { protocol bgp; community VPNB-comm; } then accept; } term b { then reject; } } policy-statement vpnab-import { term a { from { protocol bgp; community [ VPNA-comm VPNB-comm ]; } then accept; } term b { then reject; } } policy-statement vpna-export { term a { from { protocol static; interface fe-1/0/0.0; } then { community add VPNA-comm; accept; } } term b { then reject; } } policy-statement vpnb-export { term a { from { protocol static; interface fe-1/0/2.0; } then { community add VPNB-comm; accept; } } term b { then reject; } } policy-statement vpnab-export { term a { from { protocol static; interface fe-1/1/0.0; } then { community add VPNB-comm; community add VPNA-comm; accept; } } term b { then reject; } } community VPNA-comm members target:69:1; community VPNB-comm members target:69:2; }
No roteador PE1, aplique as políticas de importação e exportação de VPN:
[edit] routing-instances { VPN-A { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.175:3; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { rib-group vpna-vpnab; route 10.255.14.155/32 next-hop 192.168.197.141; route 10.255.14.185/32 next-hop 192.168.197.178; } } } VPN-AB { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.175:9; vrf-import vpnab-import; vrf-export vpnab-export; routing-options { static { rib-group vpnab-vpna_and_vpnb; route 10.255.14.185/32 next-hop 192.168.197.178; } } } VPN-B { instance-type vrf; interface fe-1/0/2.0; route-distinguisher 10.255.14.175:10; vrf-import vpnb-import; vrf-export vpnb-export; routing-options { static { rib-group vpnb-vpnab; route 10.255.14.186/32 next-hop 192.168.197.242; } } } }
Para VPN A, inclua a declaração em nível de hierarquia para instalar as rotas estáticas diretamente nas tabelas de roteamento routing-options
[edit routing-instances routing-instance-name]
definidas no grupo da tabela de roteamento. vpna-vpnab
Para VPN AB, a configuração instala a rota estática diretamente nas tabelas de roteamento definidas no grupo da tabela de roteamento vpnab-vpna
e vpnab-vpnb
. Para VPN B, a configuração instala a rota estática diretamente nas tabelas de roteamento definidas no grupo da tabela de vpnb-vpnab
roteamento.
Configuração de BGP entre PE e CE roteadores
Neste exemplo de configuração, o grupo BGP VPN A instala as rotas aprendidas da sessão BGP nas tabelas de roteamento definidas no vpna-site1
grupo da tabela de vpna-vpnab
roteamento. Para VPN AB, o grupo instala as rotas aprendidas da sessão BGP as tabelas de roteamento vpnab-site1
definidas no grupo vpnab-vpna_and_vpnb
da tabela de roteamento. Para VPN B, o grupo instala as rotas aprendidas BGP sessão nas tabelas de roteamento vpnb-site1
definidas no grupo vpnb-vpnab
da tabela de roteamento. As rotas de interface não são necessárias para essa configuração.
As políticas de importação e exportação de VRF são semelhantes às definidas na configuração de rotas estáticas entre os roteadores PE e CE,exceto que o protocolo de exportação é BGP em vez de uma rota estática. Em todas vrf-export
as políticas, você usa a from protocol bgp
declaração.
No roteador PE1, configure BGP entre o PE e CE roteadores:
[edit] routing-instances { VPN-A { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.175:3; vrf-import vpna-import; vrf-export vpna-export; protocols { bgp { group vpna-site1 { family inet { unicast { rib-group vpna-vpnab; } } peer-as 1; neighbor 192.168.197.141; } } } } VPN-AB { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.175:9; vrf-import vpnab-import; vrf-export vpnab-export; protocols { bgp { group vpnab-site1 { family inet { unicast { rib-group vpnab-vpna_and_vpnb; } } peer-as 9; neighbor 192.168.197.178; } } } } VPN-B { instance-type vrf; interface fe-1/0/2.0; route-distinguisher 10.255.14.175:10; vrf-import vpnb-import; vrf-export vpnb-export; protocols { bgp { group vpnb-site1 { family inet { unicast { rib-group vpnb-vpnab; } } neighbor 192.168.197.242 { peer-as 10; } } } } } }
Configuração de OSPF entre PE e CE roteadores
Neste exemplo de configuração, as rotas aprendidas na sessão OSPF VPN A são instaladas nas tabelas de roteamento definidas no grupo vpna-vpnab
da tabela de roteamento. Para VPN AB, as rotas aprendidas da sessão OSPF são instaladas nas tabelas de roteamento definidas no grupo vpnab-vpna_and_vpnb
da tabela de roteamento. Para VPN B, as rotas aprendidas da sessão OSPF são instaladas nas tabelas de roteamento definidas no grupo vpnb-vpnab
da tabela de roteamento.
As políticas de importação e exportação de VRF são semelhantes às definidas na configuração de rotas estáticas entre roteadores PE e CE e configurando BGP entre o PE e os roteadores CE,exceto que o protocolo de exportação é OSPF em vez de BGP ou uma rota estática. Portanto, em todas vrf-export
as políticas, você usa a from protocol ospf
declaração em vez da from protocol <static | bgp>
declaração.
No roteador PE1, configure OSPF entre pe e CE roteadores:
[edit] routing-instances { VPN-A { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.175:3; vrf-import vpna-import; vrf-export vpna-export; protocols { ospf { rib-group vpna-vpnab; export vpna-import; area 0.0.0.0 { interface fe-1/0/0.0; } } } } VPN-AB { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.175:9; vrf-import vpnab-import; vrf-export vpnab-export; protocols { ospf { rib-group vpnab-vpna_and_vpnb; export vpnab-import; area 0.0.0.0 { interface fe-1/1/0.0; } } } } VPN-B { instance-type vrf; interface fe-1/0/2.0; route-distinguisher 10.255.14.175:10; vrf-import vpnb-import; vrf-export vpnb-export; protocols { ospf { rib-group vpnb-vpnab; export vpnb-import; area 0.0.0.0 { interface fe-1/0/2.0; } } } } }
Configurando rotas estáticas, BGP e OSPF entre PE e CE roteadores
Esta seção mostra como configurar as rotas entre os roteadores PE e CE usando uma combinação de rotas estáticas, BGP e OSPF:
A conexão entre o roteador PE1 e o roteador CE1 usa roteamento estático.
A conexão entre o roteador PE1 e o roteador CE2 usa BGP.
A conexão entre o roteador PE1 e o roteador CE3 usa OSPF.
Aqui, a configuração para VPN AB também inclui uma rota estática para CE1.
No roteador PE1, configure uma combinação de roteamento estático, BGP e OSPF entre o PE e CE roteadores:
[edit] routing-instances { VPN-A { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.175:3; vrf-import vpna-import; vrf-export vpna-export; routing-options { static { rib-group vpna-vpnab; route 10.255.14.155/32 next-hop 192.168.197.141; } } } VPN-AB { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.175:9; vrf-import vpnab-import; vrf-export vpnab-export; protocols { bgp { group vpnab-site1 { family inet { unicast { rib-group vpnab-vpna_and_vpnb; } } export to-vpnab-site1; peer-as 9; neighbor 192.168.197.178; } } } } VPN-B { instance-type vrf; interface fe-1/0/2.0; route-distinguisher 10.255.14.175:10; vrf-import vpnb-import; vrf-export vpnb-export; protocols { ospf { rib-group vpnb-vpnab; export vpnb-import; area 0.0.0.1 { interface t3-0/3/3.0; } } } } } policy-options { policy-statement to-vpnab-site1 { term a { from protocol static; then accept; } term b { from protocol bgp; then accept; } term c { then reject; } } }
Configurando VPNs sobrepostas usando a exportação automática de rotas
Um problema com várias instâncias de roteamento é como exportar rotas entre instâncias de roteamento. Você pode fazer isso no Junos OS configurando grupos de tabela de roteamento para cada instância de roteamento que precisam exportar rotas para outras tabelas de roteamento. Para obter informações sobre como configurar VPNs sobrepostas usando grupos de tabela de roteamento, consulte Configurar VPNs sobrepostas usando grupos de tabela de roteamento.
No entanto, usar grupos de tabela de roteamento tem limitações:
A configuração do grupo da tabela de roteamento é complexa. Você deve definir um grupo de tabela de roteamento exclusivo para cada instância de roteamento que exportará rotas.
Você também deve configurar um grupo de tabela de roteamento exclusivo para cada protocolo que exportará rotas.
Para limitar e, às vezes, eliminar a necessidade de configurar grupos de tabela de roteamento em várias topologias de instância de roteamento, você pode usar a funcionalidade fornecida pela auto-export
declaração.
A declaração é especialmente útil para configurar VPNs sobrepostas— configurações de VPN nas quais mais de uma instância de roteamento VRF lista o mesmo alvo de roteamento da auto-export
comunidade em sua vrf-import
política. A auto-export
declaração descobre quais tabelas de roteamento para rotas de exportação e rotas de importação para examinar a configuração da política existente.
A auto-export
declaração exporta automaticamente rotas entre as instâncias de roteamento referenciadas a uma determinada comunidade alvo de roteamento. Quando a declaração está configurada, uma árvore alvo vrf é construída com base nas políticas e auto-export
vrf-import
vrf-export
configuradas no sistema. Se uma instância de roteamento referenciar um alvo de roteamento em sua política, o alvo da rota será adicionado à vrf-import
lista de importações do alvo. Se ele referenciar um alvo de rota específico em sua política, a meta de rota será adicionada à vrf-export
lista de exportação para esse alvo. São ignoradas metas de rotear onde haja um único importador que se adeque a um único exportador ou sem importadores ou exportadores.
As alterações para tabelas de roteamento que visam a rota de exportação são acompanhadas. Quando ocorre uma mudança de rota, a política da instância de vpn-export
roteamento é aplicada à rota. Caso seja permitida, a rota é importada para todas as tabelas de importação (sujeitas à política) das metas de rota vrf-import
definidas pela política de exportação.
As seções a seguir descreverão como configurar VPNs sobrepostas usando a instrução para exportação entre instâncias, além de auto-export
grupos de tabela de roteamento:
- Configuração de VPNs sobrepostas com BGP e exportação automática de roteamento
- Configurando VPNs sobrepostas e tabelas adicionais
- Configurando a exportação automática de roteamento para todas as instâncias de VRF
Configuração de VPNs sobrepostas com BGP e exportação automática de roteamento
O exemplo a seguir fornece a configuração de uma VPN sobreposta, na qual BGP é usado entre os roteadores PE e CE de rede.
Configurar instância de VPN-A
roteamento:
[edit] routing-instances { VPN-A { instance-type vrf; interface fe-1/0/0.0; route-distinguisher 10.255.14.175:3; vrf-import vpna-import; vrf-export vpna-export; routing-options { auto-export; } protocols { bgp { group vpna-site1 { peer-as 1; neighbor 192.168.197.141; } } } } }
Configurar instância de VPN-AB
roteamento:
[edit] routing-instances { VPN-AB { instance-type vrf; interface fe-1/1/0.0; route-distinguisher 10.255.14.175:9; vrf-import vpnab-import; vrf-export vpnab-export; routing-options { auto-export; } protocols { bgp { group vpnab-site1 { peer-as 9; neighbor 192.168.197.178; } } } } }
Para essa configuração, a instrução substitui a auto-export
funcionalidade fornecida por uma configuração de grupo de tabela de roteamento. Entretanto, às vezes, é necessário uma configuração adicional.
Uma vez que a política e a política a partir da qual a declaração deduz a matriz de importação e exportação estão configuradas por instância, você deve ser capaz de habilitar ou desativá-los para unicast e multicast, caso as informações de alcance da camada de rede vrf-import
vrf-export
auto-export
multicast (NLRI) sejam configuradas.
Configurando VPNs sobrepostas e tabelas adicionais
Pode ser necessário usar a instrução entre VPNs sobrepostas, mas exigir que um subconjunto das rotas aprendidas com uma tabela VRF seja instalado na tabela auto-export
inet.0 ou em routing-instance.inet.2.
Para dar suporte a esse tipo de cenário, onde nem todas as informações necessárias estão presentes nas políticas e nas políticas, você configura uma lista adicional de tabelas de roteamento usando um grupo de tabela de vrf-import
vrf-export
roteamento adicional.
Para adicionar rotas VPN-A
de e para inet.0 no exemplo descrito, você precisa incluir as seguintes declarações de configuração VPN-AB
adicionais:
Configure as opções de roteamento:
[edit] routing-options { rib-groups { inet-access { import-rib inet.0; } } }
Configurar instância de VPN-A
roteamento:
[edit] routing-instances { VPN-A { routing-options { auto-export { family inet { unicast { rib-group inet-access; } } } } } }
Configurar instância de VPN-AB
roteamento:
[edit] routing-instances { VPN-AB { routing-options { auto-export { family inet { unicast { rib-group inet-access; } } } } } }
Grupos de tabela de roteamento são usados nesta configuração de maneira diferente da forma como são geralmente usados no Junos OS. Normalmente, os grupos de tabela de roteamento exigem que a tabela de roteamento de exportação seja referenciada como a tabela de roteamento de importação primária do grupo da tabela de roteamento. Para essa configuração, a restrição não se aplica. O grupo da tabela de roteamento funciona como uma lista adicional de tabelas para as quais as rotas de exportação são exportadas.
Configurando a exportação automática de roteamento para todas as instâncias de VRF
A configuração a seguir permite configurar a instrução para todas as instâncias de roteamento auto-export
em um grupo de configuração:
[edit] groups { vrf-export-on { routing-instances { <*> { routing-options { auto-export; } } } } } apply-groups vrf-export-on;