Túneis GRE para VPNs de camada 3
Configuração de túneis GRE para VPNs de camada 3
O Junos OS permite configurar um túnel genérico de encapsulamento de roteamento (GRE) entre os roteadores PE e CE para uma VPN de Camada 3. O túnel GRE pode ter um ou mais saltos. Você pode configurar o túnel do roteador PE para um roteador CE local (como mostrado na Figura 1) ou para um roteador CE remoto (conforme mostrado na Figura 2).
PE
PE
Para obter mais informações sobre como configurar interfaces de túnel, consulte a Biblioteca de interfaces de serviços do Junos OS para dispositivos de roteamento.
Você pode configurar os túneis GRE manualmente ou configurar o Junos OS para instanciar túneis GRE dinamicamente.
As seções a seguir descrevem como configurar túneis GRE de forma manual e dinâmica:
Configuração manual de túneis GRE entre roteadores PE e CE
Você pode configurar manualmente um túnel GRE entre um roteador PE e um roteador CE local ou um roteador CE remoto para uma VPN de Camada 3, conforme explicado nas seguintes seções:
- Configuração da interface de túnel GRE no roteador PE
- Configuração da interface de túnel GRE no roteador CE
Configuração da interface de túnel GRE no roteador PE
Você configura o túnel GRE como uma interface lógica no roteador PE. Para configurar a interface do túnel GRE, inclua a unit declaração:
unit logical-unit-number {
tunnel {
source source-address;
destination destination-address;
routing-instance {
destination routing-instance-name;
}
}
family inet {
address address;
}
}
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit interfaces interface-name][edit logical-systems logical-system-name interfaces interface-name]
Como parte da configuração da interface de túnel GRE, você precisa incluir as seguintes declarações:
source source-address— Especifique a origem ou a origem do túnel GRE, normalmente o roteador PE.destination destination-address— Especifique o destino ou o ponto final do túnel GRE. O destino pode ser um roteador Provider, o roteador CE local ou o roteador CE remoto.
Por padrão, assume-se que o endereço de destino do túnel esteja na tabela de roteamento padrão da Internet, inet.0. Se o endereço de destino do túnel não estiver no inet.0, você precisa especificar qual tabela de roteamento procurar o endereço de destino do túnel configurando a routing-instance declaração. Este é o caso se a interface de encapsulamento de túnel também estiver configurada sob a instância de roteamento.
destinationrouting-instance-name— Especifique o nome da instância de roteamento ao configurar a interface de túnel GRE no roteador PE.
Para concluir a configuração da interface de túnel GRE, inclua a interface declaração para a interface GRE sob a instância de roteamento apropriada:
interface interface-name;
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
Configuração da interface de túnel GRE no roteador CE
Você pode configurar o roteador CE local ou remoto para atuar como endpoint para o túnel GRE.
Para configurar a interface de túnel GRE no roteador CE, inclua a unit declaração:
unit logical-unit-number {
tunnel {
source address;
destination address;
}
family inet {
address address;
}
}
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit interfaces interface-name][edit logical-systems logical-system-name interfaces interface-name]
Configuração dinâmica de túneis GRE
Quando o roteador recebe uma rota VPN para um endereço BGP de próximo salto, mas nenhum caminho MPLS está disponível, um túnel GRE pode ser gerado dinamicamente para transportar o tráfego VPN pela rede BGP. O túnel GRE é gerado e suas informações de roteamento são copiadas na tabela de roteamento inet.3. As rotas IPv4 são o único tipo de rotas suportadas para túneis GRE dinâmicos. Além disso, a plataforma de roteamento deve ter um PIC de túnel.
Ao configurar um túnel GRE dinâmico para um roteador CE remoto, não configure o OSPF na interface do túnel. Ele cria um loop de roteamento forçando o roteador a derrubar o túnel GRE. O roteador tenta restabelecer o túnel GRE, mas será forçado a derrubá-lo novamente quando o OSPF se tornar ativo na interface do túnel e descobrir uma rota para o endpoint do túnel. Isso não é um problema na configuração de túneis GRE estáticos para um roteador CE remoto.
Para gerar túneis GRE dinamicamente, inclua a dynamic-tunnels declaração:
dynamic-tunnels tunnel-name { destination-networks prefix; source-address address; }
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
-
[edit routing-options] -
[edit routing-instances routing-instance-name routing-options] -
[edit logical-systems logical-system-name routing-options] -
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
Especifique a faixa de prefixo IPv4 (por exemplo, 10/8 ou 11,1/16) para a rede de destino, incluindo a destination-networks declaração. Somente túneis dentro do intervalo de prefixo IPv4 especificado podem ser iniciados.
destination-networks prefix;
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
-
[edit routing-options] -
[edit routing-instances routing-instance-name routing-options] -
[edit logical-systems logical-system-name routing-options] -
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
Especifique o endereço fonte para os túneis GRE, incluindo a source-address declaração. O endereço fonte especifica o endereço usado como fonte para o endpoint do túnel local. Este pode ser qualquer endereço local no roteador (normalmente o ID do roteador ou o endereço loopback).
source-address address;
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
-
[edit routing-options] -
[edit routing-instances routing-instance-name routing-options] -
[edit logical-systems logical-system-name routing-options] -
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options ]
Veja também
Configuração de uma interface de túnel GRE entre roteadores PE
Este exemplo mostra como configurar uma interface de túnel de encapsulamento de roteamento genérico (GRE) entre roteadores PE para fornecer conectividade VPN. Você pode usar essa configuração para tunelar o tráfego de VPN em uma rede núcleo não MPLS. A topologia de rede usada neste exemplo é mostrada na Figura 3. Os roteadores P mostrados nesta ilustração não executam MPLS.
de túnel GRE
Para obter informações sobre configuração, veja as seguintes seções:
- Configuração da instância de roteamento no roteador A
- Configuração da instância de roteamento no roteador D
- Configuração de MPLS, BGP e OSPF no roteador A
- Configuração de MPLS, BGP e OSPF no roteador D
- Configuração da interface de túnel no roteador A
- Configuração da interface de túnel no roteador D
- Configuração das opções de roteamento no roteador A
- Configuração das opções de roteamento no roteador D
- Resumo da configuração do roteador A
- Resumo da configuração do roteador D
Configuração da instância de roteamento no roteador A
Configure uma instância de roteamento no Roteador A:
[edit routing-instances]
gre-config {
instance-type vrf;
interface fe-1/0/0.0;
route-distinguisher 10.255.14.176:69;
vrf-import import-config;
vrf-export export-config;
protocols {
ospf {
export import-config;
area 0.0.0.0 {
interface all;
}
}
}
}
Configuração da instância de roteamento no roteador D
Configure uma instância de roteamento no roteador D:
[edit routing-instances]
gre-config {
instance-type vrf;
interface fe-1/0/1.0;
route-distinguisher 10.255.14.178:69;
vrf-import import-config;
vrf-export export-config;
protocols {
ospf {
export import-config;
area 0.0.0.0 {
interface all;
}
}
}
}
Configuração de MPLS, BGP e OSPF no roteador A
Embora você não precise configurar MPLS nos roteadores P neste exemplo, é necessário nos roteadores PE para a interface entre os roteadores PE e CE e na interface GRE (gr-1/1/0.0) ligando os roteadores PE (Roteador A e Roteador D). Configure MPLS, BGP e OSPF no roteador A:
[edit protocols]
mpls {
interface all;
}
bgp {
group pe-to-pe {
type internal;
neighbor 10.255.14.178 {
family inet-vpn {
unicast;
}
}
}
}
ospf {
area 0.0.0.0 {
interface all;
interface gr-1/1/0.0 {
disable;
}
}
}
Configuração de MPLS, BGP e OSPF no roteador D
Embora você não precise configurar MPLS nos roteadores P neste exemplo, é necessário nos roteadores PE para a interface entre os roteadores PE e CE e na interface GRE (gr-1/1/0.0) ligando os roteadores PE (Roteador D e Roteador A). Configure MPLS, BGP e OSPF no roteador D:
[edit protocols]
mpls {
interface all;
}
bgp {
group pe-to-pe {
type internal;
neighbor 10.255.14.176 {
family inet-vpn {
unicast;
}
}
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
interface gr-1/1/0.0 {
disable;
}
}
}
Configuração da interface de túnel no roteador A
Configure a interface de túnel no Roteador A (o túnel não tem números):
[edit interfaces interface-name]
unit 0 {
tunnel {
source 10.255.14.176;
destination 10.255.14.178;
}
family inet;
family mpls;
}
Configuração da interface de túnel no roteador D
Configure a interface de túnel no Roteador D (o túnel não tem números):
[edit interfaces interface-name]
unit 0 {
tunnel {
source 10.255.14.178;
destination 10.255.14.176;
}
family inet;
family mpls;
}
Configuração das opções de roteamento no roteador A
Como parte da configuração de opções de roteamento para o Roteador A, você precisa configurar grupos de tabela de roteamento para permitir a resolução de rotas VPN na tabela de roteamento inet.3.
Configure as opções de roteamento no Roteador A:
[edit routing-options]
interface-routes {
rib-group inet if-rib;
}
rib inet.3 {
static {
route 10.255.14.178/32 next-hop gr-1/1/0.0;
}
}
rib-groups {
if-rib {
import-rib [ inet.0 inet.3 ];
}
}
Configuração das opções de roteamento no roteador D
Como parte da configuração de opções de roteamento para o Roteador D, você precisa configurar grupos de tabela de roteamento para permitir a resolução de rotas VPN na tabela de roteamento inet.3.
Configure as opções de roteamento no roteador D:
[edit routing-options]
interface-routes {
rib-group inet if-rib;
}
rib inet.3 {
static {
route 10.255.14.176/32 next-hop gr-1/1/0.0;
}
}
rib-groups {
if-rib {
import-rib [ inet.0 inet.3 ];
}
}
Resumo da configuração do roteador A
Configure a instância de roteamento
gre-config {
instance-type vrf;
interface fe-1/0/0.0;
route-distinguisher 10.255.14.176:69;
vrf-import import-config;
vrf-export export-config;
protocols {
ospf {
export import-config;
area 0.0.0.0 {
interface all;
}
}
}
}
Configure o MPLS
mpls {
interface all;
}
Configure o BGP
bgp {
traceoptions {
file bgp.trace world-readable;
flag update detail;
}
group pe-to-pe {
type internal;
neighbor 10.255.14.178 {
family inet-vpn {
unicast;
}
}
}
}
Configure o OSPF
ospf {
area 0.0.0.0 {
interface all;
interface gr-1/1/0.0 {
disable;
}
}
}
Configure a interface do túnel
interface-name {
unit 0 {
tunnel {
source 10.255.14.176;
destination 10.255.14.178;
}
family inet;
family mpls;
}
}
Configurar opções de roteamento
interface-routes {
rib-group inet if-rib;
}
rib inet.3 {
static {
route 10.255.14.178/32 next-hop gr-1/1/0.0;
}
}
rib-groups {
if-rib {
import-rib [ inet.0 inet.3 ];
}
}
Resumo da configuração do roteador D
Configure a instância de roteamento
gre-config {
instance-type vrf;
interface fe-1/0/1.0;
route-distinguisher 10.255.14.178:69;
vrf-import import-config;
vrf-export export-config;
protocols {
ospf {
export import-config;
area 0.0.0.0 {
interface all;
}
}
}
}
Configure o MPLS
mpls {
interface all;
}
Configure o BGP
bgp {
group pe-to-pe {
type internal;
neighbor 10.255.14.176 {
family inet-vpn {
unicast;
}
}
}
}
Configure o OSPF
ospf {
traffic-engineering;
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
interface gr-1/1/0.0 {
disable;
}
}
}
Configure a interface do túnel
interface-name {
unit 0 {
tunnel {
source 10.255.14.178;
destination 10.255.14.176;
}
family inet;
family mpls;
}
}
Configure as opções de roteamento
interface-routes {
rib-group inet if-rib;
}
rib inet.3 {
static {
route 10.255.14.176/32 next-hop gr-1/1/0.0;
}
}
rib-groups {
if-rib {
import-rib [ inet.0 inet.3 ];
}
}
Configuração de uma interface de túnel GRE entre um roteador PE e CE
Este exemplo mostra como configurar uma interface de túnel GRE entre um roteador PE e um roteador CE. Você pode usar essa configuração para tunelar o tráfego de VPN em uma rede núcleo não MPLS. A topologia de rede usada neste exemplo é mostrada na Figura 4.
PE
Para este exemplo, preencha os procedimentos descritos nas seguintes seções:
- Configuração da instância de roteamento sem a interface de encapsulamento
- Configurando a instância de roteamento com a interface de encapsulamento
- Configuração da interface de túnel GRE no roteador CE1
Configuração da instância de roteamento sem a interface de encapsulamento
Você pode configurar a instância de roteamento com ou sem a interface de encapsulamento. As seções a seguir explicam como configurar a instância de roteamento sem ela:
- Configuração da instância de roteamento no roteador PE1
- Configuração da interface de túnel GRE no roteador PE1
- Configuração da interface de encapsulamento no roteador PE1
Configuração da instância de roteamento no roteador PE1
Configure a instância de roteamento no Roteador PE1:
[edit routing-instances]
vpna {
instance-type vrf;
interface gr-1/2/0.0;
route-distinguisher 10.255.14.174:1;
vrf-import vpna-import;
vrf-export vpna-export;
protocols {
bgp {
group vpna {
type external;
peer-as 100;
as-override;
neighbor 10.49.2.1;
}
}
}
}
Configuração da interface de túnel GRE no roteador PE1
Configure a interface do túnel GRE no Roteador PE1:
[edit interfaces gr-1/2/0]
unit 0 {
tunnel {
source 192.168.197.249;
destination 192.168.197.250;
}
family inet {
address 10.49.2.2/30;
}
}
Neste exemplo, a interface t3-0/1/3 funciona como a interface de encapsulamento para o túnel GRE.
Quando você configura a clear-dont-fragment-bit declaração em uma interface com a família de protocolo MPLS habilitada, você deve especificar um valor mtu. Esse valor de MTU não deve ser maior do que o valor máximo suportado, que é 9192.
Por exemplo:
user@host# show interfaces gr-1/2/0
unit 0 {
clear-dont-fragment-bit;
family inet {
mtu 9100;
address 10.10.1.1/32;
}
family mpls {
mtu 9100;
}
}
Configuração da interface de encapsulamento no roteador PE1
Configure a interface de encapsulamento no Roteador PE1:
[edit interfaces t3-0/1/3]
unit 0 {
family inet {
address 192.168.197.249/30;
}
}
Configurando a instância de roteamento com a interface de encapsulamento
Se a interface t3-0/1/3de encapsulamento de túnel também estiver configurada na instância de roteamento, então você precisa especificar o nome dessa instância de roteamento sob a definição da interface. O sistema usa esta instância de roteamento para pesquisar o endereço de destino do túnel.
Para configurar a instância de roteamento com a interface de encapsulamento, você executa as etapas nas seguintes seções:
- Configuração da instância de roteamento no roteador PE1
- Configuração da interface de túnel GRE no roteador PE1
- Configuração da interface de encapsulamento no roteador PE1
Configuração da instância de roteamento no roteador PE1
Se você configurar a interface de encapsulamento de túnel sob a instância de roteamento, configure a instância de roteamento no Roteador PE1:
[edit routing-instances]
vpna {
instance-type vrf;
interface gr-1/2/0.0;
interface t3-0/1/3.0;
route-distinguisher 10.255.14.174:1;
vrf-import vpna-import;
vrf-export vpna-export;
protocols {
bgp {
group vpna {
type external;
peer-as 100;
as-override;
neighbor 10.49.2.1;
}
}
}
}
Configuração da interface de túnel GRE no roteador PE1
Configure a interface do túnel GRE no Roteador PE1:
[edit interfaces gr-1/2/0]
unit 0 {
tunnel {
source 192.168.197.249;
destination 192.168.197.250;
routing-instance {
destination vpna;
}
}
family inet {
address 10.49.2.2/30;
}
}
Quando você configura a clear-dont-fragment-bit declaração em uma interface com a família de protocolo MPLS habilitada, você deve especificar um valor mtu. Esse valor de MTU não deve ser maior do que o valor máximo suportado, que é 9192.
Por exemplo:
user@host# show interfaces gr-1/2/0
unit 0 {
clear-dont-fragment-bit;
family inet {
mtu 9100;
address 10.10.1.1/32;
}
family mpls {
mtu 9100;
}
}
Quando você configura a clear-dont-fragment-bit declaração em uma interface com a família de protocolo MPLS habilitada, você deve especificar um valor mtu. Esse valor de MTU não deve ser maior do que o valor máximo suportado, que é 9192.
Por exemplo:
user@host# show interfaces gr-1/2/0
unit 0 {
clear-dont-fragment-bit;
family inet {
mtu 9100;
address 10.10.1.1/32;
}
family mpls {
mtu 9100;
}
}
Configuração da interface de encapsulamento no roteador PE1
Configure a interface de encapsulamento no Roteador PE1:
[edit interfaces t3-0/1/3]
unit 0 {
family inet {
address 192.168.197.249/30;
}
}
Configuração da interface de túnel GRE no roteador CE1
Configure a interface do túnel GRE no Roteador CE1:
[edit interfaces gr-1/2/0]
unit 0 {
tunnel {
source 192.168.197.250;
destination 192.168.197.249;
}
family inet {
address 10.49.2.1/30;
}
}