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 de encapsulamento de roteamento genérico (GRE) entre os roteadores PE e CE para uma VPN de Camada 3. O túnel GRE pode ter um ou mais hops. 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 (como mostrado na Figura 2).
Para obter mais informações sobre como configurar interfaces de túnel, consulte a Junos OS Services Interfaces Library 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 manual e dinamicamente:
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 seções a seguir:
- Configurando a interface de túnel GRE no roteador PE
- Configurando a interface de túnel GRE no roteador CE
Configurando a 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 esta 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 do túnel GRE, você precisa incluir as seguintes declarações:
source source-address
— Especifique a origem ou 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 Provedor, 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 padrão de roteamento 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. Esse é o caso se a interface de encapsulamento de túnel também estiver configurada na instância de roteamento.
destination
routing-instance-name
— Especifique o nome da instância de roteamento ao configurar a interface do túnel GRE no roteador PE.
Para completar a configuração da interface de túnel GRE, inclua a interface
declaração para a interface GRE na instância de roteamento apropriada:
interface interface-name;
Você pode incluir esta 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]
Configurando a interface de túnel GRE no roteador CE
Você pode configurar o roteador CE local ou remoto para atuar como o endpoint do túnel GRE.
Para configurar a interface do 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 esta 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 next hop, 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, em seguida, 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 pela 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 ficar ativo na interface do túnel e descobrir uma rota para o endpoint do túnel. Isso não é um problema ao configurar 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 esta 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 da faixa de prefixo IPv4 especificada podem ser iniciados.
destination-networks prefix;
Você pode incluir esta 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 de origem para os túneis GRE, incluindo a source-address
declaração. O endereço de origem 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 de loopback).
source-address address;
Você pode incluir esta 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 de 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.
Para obter informações de configuração, consulte as seguintes seções:
- Configurando a instância de roteamento no roteador A
- Configurando a 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
- Configurando a interface de túnel no roteador A
- Configuração da interface do túnel no roteador D
- Configurando as opções de roteamento no roteador A
- Configuração das opções de roteamento no roteador D
- Resumo de configuração para roteador A
- Resumo da configuração do roteador D
Configurando a 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; } } } }
Configurando a 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, ele é 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, ele é 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; } } }
Configurando a interface de túnel no roteador A
Configure a interface do túnel no roteador A (o túnel não tem número):
[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 do túnel no roteador D
Configure a interface do túnel no roteador D (o túnel não tem número):
[edit interfaces interface-name] unit 0 { tunnel { source 10.255.14.178; destination 10.255.14.176; } family inet; family mpls; }
Configurando as opções de roteamento no roteador A
Como parte da configuração de opções de roteamento para 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 de configuração para 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 MPLS
mpls { interface all; }
Configure 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 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; } }
Configure 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 MPLS
mpls { interface all; }
Configure BGP
bgp { group pe-to-pe { type internal; neighbor 10.255.14.176 { family inet-vpn { unicast; } } } }
Configure 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 de núcleo não MPLS. A topologia de rede usada neste exemplo é mostrada na Figura 4.
Por exemplo, preencha os procedimentos descritos nas seguintes seções:
- Configurando a 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
Configurando a 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:
- Configurando a instância de roteamento no roteador PE1
- Configuração da interface de túnel GRE no roteador PE1
- Configurando a interface de encapsulamento no roteador PE1
Configurando a 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 protocolos 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; } }
Configurando a 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/3
de encapsulamento de túnel também estiver configurada na instância de roteamento, 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 seções a seguir:
- Configurando a instância de roteamento no roteador PE1
- Configuração da interface de túnel GRE no roteador PE1
- Configurando a interface de encapsulamento no roteador PE1
Configurando a instância de roteamento no roteador PE1
Se você configurar a interface de encapsulamento de túnel na 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 protocolos 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 protocolos 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; } }
Configurando a 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; } }