Exemplo de configuração de VPN de Camada 2
As seções a seguir explicam como configurar a funcionalidade VPN de Camada 2 nos roteadores de borda do provedor (PE) conectados a cada site:
Visão geral simples da VPN de Camada 2 de Malha Completa
Nas seções a seguir, você configura uma VPN de Camada 2 de malha completa simples que abrange três sites: Sunnyvale, Austin e Portland. Cada site se conecta a um roteador PE. Os roteadores de borda do cliente (CE) em cada local usam o Frame Relay para transportar o tráfego de Camada 2 até os roteadores PE. Como este exemplo usa uma topologia de malha completa entre os três locais, cada site requer duas interfaces lógicas (uma para cada um dos outros roteadores CE), embora apenas um link físico seja necessário para conectar cada roteador PE a cada roteador CE. A Figura 1 ilustra a topologia desta VPN de Camada 2.

Habilitação de um IGP nos roteadores PE
Para permitir que os roteadores PE troquem informações de roteamento entre si, você deve configurar um protocolo de gateway interior (IGP) ou rotas estáticas nesses roteadores. Você configura o IGP na instância primária do processo de protocolo de roteamento (rpd) (ou seja, no nível da [edit protocols]
hierarquia), não dentro da instância de roteamento VPN de Camada 2 (ou seja, não no nível da [edit routing-instances]
hierarquia). Ativar a engenharia de tráfego no IGP.
Você configura o IGP da maneira padrão. Este exemplo não inclui essa parte da configuração.
Configuração de túneis MPLS LSP entre os roteadores PE
Neste exemplo de configuração, o RSVP é usado para sinalização MPLS. Portanto, além de configurar o RSVP, você deve criar um caminho comutado por rótulos MPLS (LSP) para tunelar o tráfego vpn.
No roteador A, habilite o RSVP e configure uma extremidade do túnel MPLS LSP para o roteador B. Ao configurar o MPLS LSP, inclua todas as interfaces usando a interface all
declaração.
[edit] protocols { rsvp { interface all; } mpls { interface all; label-switched-path RouterA-to-RouterB { to 192.168.37.5; primary Path-to-RouterB; } label-switched-path RouterA-to-RouterC { to 192.168.37.10; primary Path-to-RouterC; } } }
No roteador B, habilite o RSVP e configure a outra extremidade do túnel MPLS LSP. Mais uma vez, configure as interfaces usando a interface all
declaração.
[edit] protocols { rsvp { interface all; } mpls { interface all; label-switched-path RouterB-to-RouterA { to 192.168.37.1; primary Path-to-RouterA; } label-switched-path RouterB-to-RouterC { to 192.168.37.10; primary Path-to-RouterC; } } }
No roteador C, habilite o RSVP e configure a outra extremidade do túnel MPLS LSP. Mais uma vez, configure todas as interfaces usando a interface all
declaração.
[edit] protocols { rsvp { interface all; } mpls { interface all; label-switched-path RouterC-to-RouterA { to 192.168.37.1; primary Path-to-RouterA; } label-switched-path RouterC-to-RouterB { to 192.168.37.5; primary Path-to-RouterB; } } }
Configuração do IBGP nos roteadores PE
Nos roteadores PE, configure uma sessão de IBGP com os seguintes parâmetros:
VPN de Camada 2 — Para indicar que a sessão do IBGP é para uma VPN de Camada 2, inclua a
family l2vpn
declaração.Endereço local — o
local-address
endereço IP na declaração é o mesmo que o endereço configurado nato
declaração no nível de[edit protocols mpls label-switched-path lsp-path-name]
hierarquia no roteador PE remoto. A sessão IBGP para VPNs de Camada 2 passa por esse endereço.Endereço do vizinho — inclua a
neighbor
declaração, especificando o endereço IP do roteador PE vizinho.
No roteador A, configure o IBGP:
[edit] protocols { bgp { import match-all; export match-all; group pe-pe { type internal; neighbor 192.168.37.5 { local-address 192.168.37.1; family l2vpn { signaling; } } neighbor 192.168.37.10 { local-address 192.168.37.1; family l2vpn { signaling; } } } } }
No roteador B, configure o IBGP:
[edit] protocols { bgp { local-address 192.168.37.5; import match-all; export match-all; group pe-pe { type internal; neighbor 192.168.37.1 { local-address 192.168.37.5; family l2vpn { signaling; } } neighbor 192.168.37.10 { local-address 192.168.37.5; family l2vpn { signaling; } } } } }
No roteador C, configure o IBGP:
[edit] protocols { bgp { local-address 192.168.37.10; import match-all; export match-all; group pe-pe { type internal; neighbor 192.168.37.1 { local-address 192.168.37.10; family l2vpn { signaling; } } neighbor 192.168.37.5 { local-address 192.168.37.10; family l2vpn { signaling; } } } } }
Configuração de instâncias de roteamento para VPNs de Camada 2 nos roteadores PE
Os três roteadores PE são atendidos pela VPN de Camada 2, então você precisa configurar uma instância de roteamento em cada roteador. Para a VPN, você deve definir o seguinte em cada instância de roteamento:
Distinguidor de rotas, que deve ser único para cada instância de roteamento no roteador PE. Ele é usado para distinguir os endereços em uma VPN daqueles de outra VPN.
Tipo de
l2vpn
instância, que configura o roteador para executar uma VPN de Camada 2.Interfaces conectadas aos roteadores CE.
Políticas de importação e exportação de roteamento virtual (VRF), que devem ser as mesmas em cada roteador PE que presta serviços à mesma VPN e são usadas para controlar a topologia da rede. A menos que a política de importação contenha apenas uma
then reject
declaração, ela deve incluir uma referência a uma comunidade. Caso contrário, quando você tenta comprometer a configuração, a operação de compromisso falha.
No roteador A, configure a seguinte instância de roteamento para a VPN de Camada 2:
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { instance-type l2vpn; interface so-6/0/0.0; interface so-6/0/0.1; route-distinguisher 100:1; vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; protocols { l2vpn { encapsulation-type frame-relay; site Sunnyvale { site-identifier 1; interface so-6/0/0.0 { remote-site-id 2; } interface so-6/0/0.1 { remote-site-id 3; } } } } } }
No roteador B, configure a seguinte instância de roteamento para a VPN de Camada 2:
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { instance-type l2vpn; interface so-6/0/0.2; interface so-6/0/0.3; route-distinguisher 100:1; vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; protocols { l2vpn { encapsulation-type frame-relay; site Austin { site-identifier 2; interface so-6/0/0.2 { remote-site-id 1; } interface so-6/0/0.3 { remote-site-id 3; } } } } } }
No roteador C, configure a seguinte instância de roteamento para a VPN de Camada 2:
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { instance-type l2vpn; interface so-6/0/0.4; interface so-6/0/0.5; route-distinguisher 100:1; vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; protocols { l2vpn { encapsulation-type frame-relay; site Portland { site-identifier 3; interface so-6/0/0.4 { remote-site-id 1; } interface so-6/0/0.5 { remote-site-id 2; } } } } } }
Configuração do encapsulamento de CCC nas interfaces
Você precisa especificar um tipo de encapsulamento de circuito cross-connect (CCC) para cada interface de roteador PE para CE em execução na VPN de Camada 2. Esse tipo de encapsulamento deve combinar com o tipo de encapsulamento configurado na instância de roteamento.
Configure os seguintes tipos de encapsulamento CCC para as interfaces no Roteador A:
[edit] interfaces so-6/0/0 { encapsulation frame-relay-ccc; unit 0 { encapsulation frame-relay-ccc; } } interfaces so-6/0/0 { encapsulation frame-relay-ccc; unit 1 { encapsulation frame-relay-ccc; } }
Configure os seguintes tipos de encapsulamento CCC para as interfaces no Roteador B:
[edit] interfaces so-6/0/0 { encapsulation frame-relay-ccc; unit 2 { encapsulation frame-relay-ccc; } } interfaces so-6/0/0 { encapsulation frame-relay-ccc; unit 3 { encapsulation frame-relay-ccc; } }
Configure os seguintes tipos de encapsulamento CCC para as interfaces no Roteador C:
[edit] interface so-6/0/0 { encapsulation frame-relay-ccc; unit 4 { encapsulation frame-relay-ccc; } } interface so-6/0/0 { encapsulation frame-relay-ccc; unit 5 { encapsulation frame-relay-ccc; } }
Configuração da política de VPN nos roteadores PE
Você deve configurar políticas de importação e exportação de VPN em cada um dos roteadores PE para que eles instalem as rotas apropriadas em suas tabelas VRF, que os roteadores usam para encaminhar pacotes dentro da VPN.
Use a community add community-name
declaração no nível de [edit policy-options policy-statement policy-statement-name term term-name then]
hierarquia para facilitar as políticas de exportação de VPN VRF de Camada 2.
No roteador A, configure as seguintes políticas de importação e exportação de VPN:
[edit] policy-options { policy-statement match-all { term acceptable { then accept; } } policy-statement vpn-SPA-export { term a { then { community add SPA-com; accept; } } term b { then reject; } } policy-statement vpn-SPA-import { term a { from { protocol bgp; community SPA-com; } then accept; } term b { then reject; } } community SPA-com members target:69:100; }
No roteador B, configure as seguintes políticas de importação e exportação de VPN:
[edit] policy-options { policy-statement match-all { term acceptable { then accept; } } policy-statement vpn-SPA-import { term a { from { protocol bgp; community SPA-com; } then accept; } term b { then reject; } } policy-statement vpn-SPA-export { term a { then { community add SPA-com; accept; } } term b { then reject; } } community SPA-com members target:69:100; }
No roteador C, configure as seguintes políticas de importação e exportação de VPN:
[edit] policy-options { policy-statement match-all { term acceptable { then accept; } } policy-statement vpn-SPA-import { term a { from { protocol bgp; community SPA-com; } then accept; } term b { then reject; } } policy-statement vpn-SPA-export { term a { then { community add SPA-com; accept; } } term b { then reject; } } community SPA-com members target:69:100; }
Para aplicar as políticas de VPN nos roteadores, inclua as e vrf-import
as vrf-export
declarações quando você configurar a instância de roteamento. As políticas de importação e exportação de VRF lidam com a distribuição de rotas em toda a sessão do IBGP em execução entre os roteadores PE.
Para aplicar as políticas de VPN no Roteador A, inclua as seguintes declarações:
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; } }
Para aplicar as políticas de VPN no Roteador B, inclua as seguintes declarações:
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; } }
Para aplicar as políticas de VPN no Roteador C, inclua as seguintes declarações:
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; } }
Configuração de VPN de Camada 2 resumida por roteador
Para obter um resumo da configuração em cada roteador nos exemplos deste capítulo, veja as seções a seguir:
- Resumo do roteador A (roteador PE para Sunnyvale)
- Resumo do roteador B (roteador PE para Austin)
- Resumo do roteador C (roteador PE para Portland)
Resumo do roteador A (roteador PE para Sunnyvale)
Instância de roteamento para VPN de Camada 2
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { instance-type l2vpn; interface so-6/0/0.0; interface so-6/0/0.1; route-distinguisher 100:1; vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; protocols { l2vpn { encapsulation-type frame-relay; site Sunnyvale { site-identifier 1; interface so-6/0/0.0 { remote-site-id 2; } interface so-6/0/0.1 { remote-site-id 3; } } } } } }
Configure tipos de encapsulamento CCC para interfaces
interfaces { interface so-6/0/0 { encapsulation frame-relay-ccc; unit 0 { encapsulation frame-relay-ccc; } } interface so-6/0/0 { encapsulation frame-relay-ccc; unit 1 { encapsulation frame-relay-ccc; } } }
Instância de protocolo primária
protocols { }
Habilitar o RSVP
rsvp { interface all; }
Configure MPLS LSPs
mpls { label-switched-path RouterA-to-RouterB { to 192.168.37.5; primary Path-to-RouterB { cspf; } } label-switched-path RouterA-to-RouterC { to 192.168.37.10; primary Path-to-RouterC { cspf; } } interface all; }
Configure IBGP
bgp { import match-all; export match-all; group pe-pe { type internal; neighbor 192.168.37.5 { local-address 192.168.37.1; family l2vpn { signaling; } } neighbor 192.168.37.10 { local-address 192.168.37.1; family l2vpn { signaling; } } } }
Configure a política de VPN
policy-options { policy-statement match-all { term acceptable { then accept; } } policy-statement vpn-SPA-export { term a { then { community add SPA-com; accept; } } term b { then reject; } } policy-statement vpn-SPA-import { term a { from { protocol bgp; community SPA-com; } then accept; } term b { then reject; } } community SPA-com members target:69:100; }
Resumo do roteador B (roteador PE para Austin)
Instância de roteamento para VPN
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { instance-type l2vpn; interface so-6/0/0.2; interface so-6/0/0.3; route-distinguisher 100:1; vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; } }
Configure a VPN de Camada 2
protocols { l2vpn { encapsulation-type frame-relay; site Austin { site-identifier 2; interface so-6/0/0.2 { remote-site-id 1; } interface so-6/0/0.3 { remote-site-id 3; } } } }
Configure tipos de encapsulamento CCC para interfaces
[edit] interfaces { interface so-6/0/0 { encapsulation frame-relay-ccc; unit 2 { encapsulation frame-relay-ccc; } } interface so-6/0/0 { encapsulation frame-relay-ccc; unit 3 { encapsulation frame-relay-ccc; } } }
Instância de protocolo primária
protocols { }
Habilitar o RSVP
rsvp { interface all; }
Configure MPLS LSPs
mpls { label-switched-path RouterB-to-RouterA { to 192.168.37.1; primary Path-to-RouterA { cspf; } } label-switched-path RouterB-to-RouterC { to 192.168.37.10; primary Path-to-RouterC { cspf; } } interface all; }
Configure IBGP
bgp { local-address 192.168.37.5; import match-all; export match-all; group pe-pe { type internal; neighbor 192.168.37.1 { local-address 192.168.37.5; family l2vpn { signaling; } } neighbor 192.168.37.10 { local-address 192.168.37.5; family l2vpn { signaling; } } } }
Configure a política de VPN
policy-options { policy-statement match-all { term acceptable { then accept; } } policy-statement vpn-SPA-import { term a { from { protocol bgp; community SPA-com; } then accept; } term b { then reject; } } policy-statement vpn-SPA-export { term a { then { community add SPA-com; accept; } } term b { then reject; } } community SPA-com members target:69:100; }
Resumo do roteador C (roteador PE para Portland)
Instância de roteamento para VPN
[edit] routing-instances { VPN-Sunnyvale-Portland-Austin { instance-type l2vpn; interface so-6/0/0.3; interface so-6/0/0.4; route-distinguisher 100:1; vrf-import vpn-SPA-import; vrf-export vpn-SPA-export; } }
Configure a VPN de Camada 2
protocols { l2vpn { encapsulation-type frame-relay; site Portland { site-identifier 3; interface so-6/0/0.4 { remote-site-id 1; } interface so-6/0/0.5 { remote-site-id 2; } } } }
Configure tipos de encapsulamento CCC para interfaces
[edit] interfaces { interface so-6/0/0 { encapsulation frame-relay-ccc; unit 4 { encapsulation frame-relay-ccc; } } interface so-6/0/0 { encapsulation frame-relay-ccc; unit 5 { encapsulation frame-relay-ccc; } } }
Instância de protocolo primária
protocols { }
Habilitar o RSVP
rsvp { interface all; }
Configure MPLS LSPs
mpls { label-switched-path RouterC-to-RouterA { to 192.168.37.1; primary Path-to-RouterA { cspf; } } label-switched-path RouterC-to-RouterB { to 192.168.37.5; primary Path-to-RouterB { cspf; } } interface all; }
Configure IBGP
bgp { local-address 192.168.37.10; import match-all; export match-all; group pe-pe { type internal; neighbor 192.168.37.1 { local-address 192.168.37.10; family l2vpn { signaling; } } neighbor 192.168.37.5 { local-address 192.168.37.10; family l2vpn { signaling; } } } }
Configure a política de VPN
policy-options { policy-statement match-all { term acceptable { then accept; } } policy-statement vpn-SPA-import { term a { from { protocol bgp; community SPA-com; } then accept; } term b { then reject; } } policy-statement vpn-SPA-export { term a { then { community add SPA-com; accept; } } term b { then reject; } } community SPA-com members target:69:100; }