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 da VPN de camada 2 de malha completa simples
Nas seções a seguir, você configura uma VPN de Camada 2 de malha completa simples que abrange três locais: Sunnyvale, Austin e Portland. Cada local se conecta a um roteador PE. Os roteadores de borda do cliente (CE) em cada local usam o Frame Relay para transportar tráfego de Camada 2 para os roteadores PE. Como este exemplo usa uma topologia de malha completa entre os três sites, 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 dessa VPN de Camada 2.
VPN simples de malha completa 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 de [edit protocols] hierarquia), não dentro da instância de roteamento VPN de Camada 2 (ou seja, não no nível de [edit routing-instances] hierarquia). Ative 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 (LSP) MPLS para fazer um túnel para o tráfego VPN.
No Roteador A, habilite o RSVP e configure uma extremidade do túnel LSP MPLS para o Roteador B. Ao configurar o LSP MPLS, 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 LSP MPLS. Novamente, configure as interfaces usando a interface all instruçã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. Novamente, 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 l2vpndeclaração. -
Endereço local — O
local-addressendereço IP na declaração é o mesmo que otoendereço configurado na declaração no[edit protocols mpls label-switched-path lsp-path-name]nível de hierarquia no roteador PE remoto. A sessão do IBGP para VPNs de Camada 2 é executada por meio desse endereço. -
Endereço vizinho — Inclua a
neighbordeclaraçã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 atendem à 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:
-
Diferenciador de rota, que deve ser exclusivo para cada instância de roteamento no roteador PE. Ele é usado para distinguir os endereços em uma VPN daqueles em outra VPN.
-
Tipo de instância de , que configura o roteador para executar uma VPN de
l2vpnCamada 2. -
Interfaces conectadas aos roteadores CE.
-
Políticas de importação e exportação de roteamento e encaminhamento virtual (VRF), que devem ser as mesmas em cada roteador PE que atende à 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 rejectinstrução, ela deve incluir uma referência a uma comunidade. Caso contrário, quando você tentar confirmar a configuração, a operação de confirmação falhará.
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;
}
}
}
}
}
}
Configurando o encapsulamento CCC nas interfaces
Você precisa especificar um tipo de encapsulamento de conexão cruzada de circuito (CCC) para cada interface de roteador PE para roteador CE em execução na VPN de Camada 2. Esse tipo de encapsulamento deve corresponder ao 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 hierarquia para facilitar as [edit policy-options policy-statement policy-statement-name term term-name then] políticas de exportação de VRF de VPN 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 vrf-export instruções and vrf-import ao configurar a instância de roteamento. As políticas de importação e exportação de VRF lidam com a distribuição de rotas através da sessão do IBGP que corre 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 pelo roteador
Para obter um resumo da configuração em cada roteador nos exemplos deste capítulo, consulte as seguintes seções:
- 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;
}
}
}
}
}
}
Configurar 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ário
protocols {
}
Ativar RSVP
rsvp {
interface all;
}
Configurar LSPs MPLS
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;
}
Configurar o 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;
}
}
}
}
Configurar 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;
}
}
Configurar 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;
}
}
}
}
Configurar 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ário
protocols {
}
Ativar RSVP
rsvp {
interface all;
}
Configurar LSPs MPLS
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;
}
Configurar o 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;
}
}
}
}
Configurar 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;
}
}
Configurar 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;
}
}
}
}
Configurar 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ário
protocols {
}
Ativar RSVP
rsvp {
interface all;
}
Configurar LSPs MPLS
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;
}
Configurar o 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;
}
}
}
}
Configurar 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;
}