VPN de malla completa
Configuración de una topología VPN simple de malla completa
En este ejemplo se muestra cómo configurar una configuración sencilla de VPN de proveedor de servicios de malla completa, que consta de los siguientes componentes (consulte la figura 1):
Dos VPN separadas (VPN-A y VPN-B)
Dos enrutadores perimetrales de proveedor (PE), los cuales dan servicio a VPN-A y VPN-B
RSVP como protocolo de señalización
Una ruta de conmutación de etiquetas (LSP) RSVP que tuneliza entre los dos enrutadores PE a través de un enrutador de proveedor (P)
VPN simple
En esta configuración, la distribución de rutas en VPN A desde el enrutador VPN-A-Paris al enrutador VPN-A-Tokyo se produce de la siguiente manera:
El enrutador perimetral del cliente (CE) VPN-A-Paris anuncia rutas al enrutador PE Enrutador A.
El enrutador A instala las rutas anunciadas recibidas en su tabla de enrutamiento y reenvío de VPN (VRF), VPN-A.inet.0.
El enrutador A crea una etiqueta MPLS para la interfaz entre él y el enrutador VPN-A-Paris.
El enrutador A comprueba su política de exportación de VRF.
El enrutador A convierte las rutas del protocolo de Internet versión 4 (IPv4) del enrutador VPN-A-Paris al formato VPN IPv4 utilizando su distinguidor de ruta y anuncia estas rutas al enrutador PE C a través del IBGP entre los dos enrutadores PE.
El enrutador C comprueba su política de importación de VRF e instala todas las rutas que coinciden con la política en su tabla de enrutamiento bgp.l3vpn.0. (Se descartan todas las rutas que no coincidan).
El enrutador C comprueba su política de importación de VRF e instala todas las rutas que coinciden en su tabla de enrutamiento VPN-A.inet.0. Las rutas se instalan en formato IPv4.
El enrutador C anuncia sus rutas al enrutador CE Router VPN-A-Tokyo, que las instala en su tabla de enrutamiento principal. (Para las plataformas de enrutamiento que ejecutan Junos OS, la tabla de enrutamiento principal es inet.0.)
El enrutador C utiliza el LSP entre él y el enrutador A para enrutar todos los paquetes del enrutador VPN-A-Tokyo destinados al enrutador VPN-A-Paris.
En la sección final de este ejemplo se consolidan las instrucciones necesarias para configurar la funcionalidad VPN en cada uno de los enrutadores de servicio P que se muestran en la figura 1.
En este ejemplo, se utiliza un número de sistema autónomo (AS) privado para el diferenciador de ruta y el destino de ruta. Este número se utiliza sólo a título ilustrativo. Cuando configure VPN, debe usar un número de AS asignado.
En las siguientes secciones se explica cómo configurar la funcionalidad VPN en los enrutadores PE y P. Los enrutadores CE no tienen información sobre la VPN, por lo que los configura normalmente.
- Habilitación de un IGP en los enrutadores PE y P
- Habilitación de RSVP y MPLS en el enrutador P
- Configuración del túnel LSP MPLS entre los enrutadores PE
- Configuración de IBGP en los enrutadores PE
- Configuración de instancias de enrutamiento para VPN en enrutadores PE
- Configuración de la política VPN en los enrutadores PE
- Configuración VPN simple resumida por enrutador
Habilitación de un IGP en los enrutadores PE y P
Para permitir que los enrutadores PE y P intercambien información de enrutamiento entre sí, debe configurar un protocolo de puerta de enlace interior (IGP) en todos estos enrutadores o debe configurar rutas estáticas. El IGP se configura en la instancia principal del proceso de protocolo de enrutamiento (rpd) (es decir, en el [edit protocols] nivel de jerarquía), no dentro de la instancia de enrutamiento VPN (es decir, no en el [edit routing-instances] nivel de jerarquía).
El IGP se configura de forma estándar. Este ejemplo de configuración no incluye esta parte de la configuración.
Habilitación de RSVP y MPLS en el enrutador P
En el enrutador P, enrutador B, debe configurar RSVP y MPLS porque este enrutador existe en la ruta LSP MPLS entre los dos enrutadores PE, el enrutador A y el enrutador 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;
}
}
Configuración del túnel LSP MPLS entre los enrutadores PE
En este ejemplo de configuración, se utiliza RSVP para la señalización VPN. Por lo tanto, además de configurar RSVP, debe habilitar la compatibilidad con ingeniería de tráfico en un IGP y debe crear un LSP MPLS para tunelizar el tráfico VPN.
En el enrutador PE A, habilite RSVP y configure un extremo del túnel LSP de MPLS. En este ejemplo, la compatibilidad con ingeniería de tráfico está habilitada para OSPF. Al configurar el LSP de MPLS, incluya interface instrucciones para todas las interfaces que participan en MPLS, incluidas las interfaces con los enrutadores PE y CE. Las instrucciones para las interfaces entre los enrutadores PE y CE son necesarias para que el enrutador PE pueda crear una etiqueta MPLS para la interfaz privada. En este ejemplo, la primera interface instrucción configura MPLS en la interfaz conectada al LSP, y las tres restantes configuran MPLS en las interfaces que conectan el enrutador PE a los enrutadores CE.
[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;
}
}
}
En el enrutador PE C, habilite RSVP y configure el otro extremo del túnel LSP de MPLS. Una vez más, la compatibilidad con ingeniería de tráfico está habilitada para OSPF y se configura MPLS en las interfaces con los enrutadores LSP y CE.
[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;
}
}
}
Configuración de IBGP en los enrutadores PE
En los enrutadores PE, configure una sesión IBGP con las siguientes propiedades:
Familia VPN: para indicar que la sesión de IBGP es para la VPN, incluya la
family inet-vpninstrucción.Dirección de circuito cerrado: incluye la
local-addressinstrucción y especifica la dirección de circuito cerrado del enrutador de PE local. La sesión de IBGP para VPN se ejecuta a través de la dirección de circuito cerrado. También debe configurar lalo0interfaz en el nivel jerárquico[edit interfaces]. El ejemplo no incluye esta parte de la configuración del enrutador.Dirección del vecino: incluya la
neighborinstrucción, especificando la dirección IP del enrutador PE vecino, que es su dirección de circuito cerrado (lo0).
En el enrutador A de PE, configure el 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;
}
}
}
En el enrutador PE C, configure el 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;
}
}
}
Configuración de instancias de enrutamiento para VPN en enrutadores PE
Ambos enrutadores PE dan servicio a VPN-A y VPN-B, por lo que debe configurar dos instancias de enrutamiento en cada enrutador, una para cada VPN. Para cada VPN, debe definir lo siguiente en la instancia de enrutamiento:
Distinguidor de ruta, que debe ser único para cada instancia de enrutamiento en el enrutador PE.
Se utiliza para distinguir las direcciones en una VPN de las de otra VPN.
Tipo de instancia de
vrf, que crea la tabla VRF en el enrutador PE.Interfaces conectadas a los enrutadores CE.
Políticas de importación y exportación de VRF, que deben ser las mismas en cada enrutador PE que dé servicio a la misma VPN. A menos que una política de importación contenga solo una
then rejectinstrucción, debe incluir una referencia a una comunidad. De lo contrario, cuando intente confirmar la configuración, se producirá un error en la confirmación.Nota:En este ejemplo, se usa un número de AS privado para el distinguidor de ruta. Este número se utiliza sólo a título ilustrativo. Cuando configure VPN, debe usar un número de AS asignado.
Enrutamiento entre los enrutadores PE y CE, que es necesario para que el enrutador PE distribuya rutas relacionadas con VPN hacia y desde enrutadores CE conectados. Puede configurar un protocolo de enrutamiento (BGP, OSPF o RIP) o puede configurar el enrutamiento estático.
En el enrutador PE A, configure la siguiente instancia de enrutamiento para VPN-A. En este ejemplo, el enrutador A utiliza rutas estáticas para distribuir rutas hacia y desde los dos enrutadores CE a los que 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;
}
}
}
}
En el enrutador PE C, configure la siguiente instancia de enrutamiento para VPN-A. En este ejemplo, el enrutador C utiliza BGP para distribuir rutas hacia y desde el enrutador CE al que 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;
}
}
}
}
}
En el enrutador PE A, configure la siguiente instancia de enrutamiento para VPN-B. En este ejemplo, el enrutador A utiliza OSPF para distribuir rutas hacia y desde el enrutador CE al que 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;
}
}
}
}
}
En el enrutador PE C, configure la siguiente instancia de enrutamiento para VPN-B. En este ejemplo, el enrutador C utiliza RIP para distribuir rutas hacia y desde el enrutador CE al que 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;
}
}
}
}
}
Configuración de la política VPN en los enrutadores PE
Configure las políticas de importación y exportación de VPN en cada enrutador PE para que se instalen las rutas adecuadas en las tablas VRF del enrutador PE. La tabla VRF se utiliza para reenviar paquetes dentro de una VPN. Para VPN-A, la tabla VRF es VPN-A.inet.0, y para VPN-B es VPN-B.inet.0.
En la directiva VPN, también se configuran las comunidades de destino VPN.
En el ejemplo siguiente, se usa un número de AS privado para el destino de ruta. Este número se utiliza sólo a título ilustrativo. Cuando configure VPN, debe usar un número de AS asignado. Los calificadores de directiva que se muestran en este ejemplo son solo los necesarios para que la VPN funcione. Puede configurar calificadores adicionales, según sea necesario, para cualquier directiva que configure.
En el enrutador PE A, configure las siguientes políticas de importación y exportación 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;
}
En el enrutador PE C, configure las siguientes políticas de importación y exportación 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 las directivas de VPN en los enrutadores, incluya las vrf-export instrucciones y vrf-import cuando configure la instancia de enrutamiento. Para ambas VPN, las políticas de importación y exportación de VRF manejan la distribución de rutas a través de la sesión de IBGP que se ejecuta entre los enrutadores PE.
Para aplicar las directivas de VPN en el enrutador PE A, incluya las siguientes instrucciones:
[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 las directivas de VPN en el enrutador PE C, incluya las siguientes instrucciones:
[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;
}
}
Configuración VPN simple resumida por enrutador
Enrutador A (enrutador PE)
Instancia de enrutamiento 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 enrutamiento de instancias
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;
}
}
Instancia de enrutamiento 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 enrutamiento de instancias
protocols {
ospf {
area 0.0.0.0 {
interface ge-0/3/0;
}
}
}
Instancia de protocolo principal
protocols {
}
Habilitar RSVP
rsvp {
interface so-3/0/0.0;
}
Configurar un LSP de MPLS
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;
}
}
Configurar OSPF para la compatibilidad con ingeniería de tráfico
ospf {
traffic-engineering;
area 0.0.0.0 {
interface so-3/0/0.0;
}
}
Configurar la directiva 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;
}
Enrutador B (enrutador P)
Instancia 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;
}
Enrutador C (enrutador PE)
Instancia de enrutamiento 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 enrutamiento de instancias
protocols {
bgp {
group VPN-A-Site2 {
peer-as 1;
neighbor 10.12.1.2;
}
}
}
Instancia de enrutamiento 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 enrutamiento de instancias
protocols {
rip {
group PE-C-to-VPN-B {
neighbor at-1/2/0;
}
}
}
Instancia de protocolo principal
protocols {
}
Habilitar RSVP
rsvp {
interface so-2/0/0.0;
}
Configurar un LSP de MPLS
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;
}
}
Configurar OSPF para la compatibilidad con ingeniería de tráfico
ospf {
traffic-engineering;
area 0.0.0.0 {
interface so-2/0/0.0;
}
}
Configurar la directiva 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;
}
Configuración de una topología VPN de malla completa con reflectores de ruta
Este ejemplo es una variación del ejemplo de topología VPN de malla completa (descrito en Configuración de una topología VPN simple de malla completa) en el que uno de los enrutadores PE es un reflector de ruta BGP. En esta variación, el enrutador C en Configuración de una topología VPN simple de malla completa es un reflector de ruta. El único cambio en su configuración es que debe incluir la cluster instrucción al configurar el grupo BGP:
[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;
}
}
}