Tráfego IPv6 em VPNs de Camada 3
Entendendo as VPNs de Camada 3 IPv6
As interfaces entre os roteadores PE e CE de uma VPN de Camada 3 podem ser configuradas para transportar tráfego ip versão 6 (IPv6). O IP permite que inúmeros nós em diferentes redes interoperem perfeitamente. Atualmente, o IPv4 é usado em intranets e redes privadas, bem como na Internet. O IPv6 é o sucessor do IPv4, e é baseado na maior parte do IPv4.
Na implementação do IPv6 pela Juniper Networks, o provedor de serviços implementa um backbone IPv4 habilitado para MPLS para fornecer serviços VPN para clientes IPv6. Os roteadores PE têm recursos IPv4 e IPv6. Eles mantêm as tabelas de roteamento e encaminhamento de VPN IPv6 (VRF) para seus sites IPv6 e encapsulam o tráfego IPv6 em quadros MPLS que são então enviados para a rede núcleo MPLS. O roteamento VPN IPv6 sobre MPLS também é conhecido como 6VPE.
O IPv6 para VPNs de Camada 3 tem suporte para BGP e para rotas estáticas.
As VPNs IPv6 sobre Camada 3 são descritas em RFC 4659, extensão BGP-MPLS IP Private Network (VPN) para VPN IPv6.
Configuração de VPNs de camada 3 para transportar tráfego IPv6
Você pode configurar a versão IP 6 (IPv6) entre os roteadores PE e CE de uma VPN de Camada 3. O roteador PE deve ter a sessão BGP do roteador PE para PE configurada com a family inet6-vpn
declaração. O roteador CE deve ser capaz de receber tráfego IPv6. Você pode configurar rotas BGP ou estáticas entre os roteadores PE e CE.
As seções a seguir explicam como configurar VPNs IPv6 entre os roteadores PE:
- Configuração do IPv6 no roteador PE
- Configurando a conexão entre os roteadores PE e CE
- Configuração do IPv6 nas interfaces
Configuração do IPv6 no roteador PE
Para configurar o IPv6 entre os roteadores PE e CE, inclua a family inet6-vpn
declaração na configuração no roteador PE:
family inet6-vpn { (any | multicast | unicast) { aggregate-label community community-name; prefix-limit maximum prefix-limit; rib-group rib-group-name; } }
Para obter uma lista de níveis de hierarquia em que você pode configurar esta declaração, veja a seção de resumo da declaração para esta declaração.
Você também deve incluir a ipv6-tunneling
declaração:
ipv6-tunneling;
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
Configurando a conexão entre os roteadores PE e CE
Para oferecer suporte a rotas IPv6, você deve configurar rotas BGP, OSPF versão 3, IS-IS ou estáticas para a conexão entre os roteadores PE e CE na VPN de Camada 3. Você pode configurar o BGP para lidar apenas com rotas IPv6 ou as rotas IP versão 4 (IPv4) e IPv6.
Para obter mais informações sobre IS-IS, veja Exemplo: Configuração do IS-IS,
As seções a seguir explicam como configurar o BGP e as rotas estáticas:
- Configuração do BGP no roteador PE para lidar com rotas IPv6
- Configuração do BGP no roteador PE para rotas IPv4 e IPv6
- Configuração da VERSÃO 3 do OSPF no roteador PE
- Configuração de rotas estáticas no roteador PE
Configuração do BGP no roteador PE para lidar com rotas IPv6
Para configurar o BGP na instância de roteamento VPN de Camada 3 para lidar com rotas IPv6, inclua a bgp
declaração:
bgp { group group-name { local-address IPv6-address; family inet6 { unicast; } peer-as as-number; neighbor IPv6-address; } }
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit routing-instances routing-instance-name protocols]
[edit logical-systems logical-system-name routing-instances routing-instance-name protocols]
Configuração do BGP no roteador PE para rotas IPv4 e IPv6
Para configurar o BGP na instância de roteamento VPN de Camada 3 para lidar com as rotas IPv4 e IPv6, inclua a bgp
declaração:
bgp { group group-name { local-address IPv4-address; family inet { unicast; } family inet6 { unicast; } peer-as as-number; neighbor address; } }
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit routing-instances routing-instance-name protocols]
[edit logical-systems logical-system-name routing-instances routing-instance-name protocols]
O [edit logical-systems]
nível de hierarquia não é aplicável nos roteadores da Série ACX.
Configuração da VERSÃO 3 do OSPF no roteador PE
Para configurar a versão 3 do OSPF na instância de roteamento VPN de Camada 3 para lidar com rotas IPv6, inclua a ospf3
declaração:
ospf3 { area area-id { interface interface-name; } }
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit routing-instances routing-instance-name protocols]
[edit logical-systems logical-system-name routing-instances routing-instance-name protocols]
O [edit logical-systems]
nível de hierarquia não é aplicável nos roteadores da Série ACX.
Configuração de rotas estáticas no roteador PE
Para configurar uma rota estática para o roteador CE na instância de roteamento VPN de Camada 3, inclua a routing-options
declaração:
routing-options { rib routing-table.inet6.0 { static { defaults { static-options; } } } }
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]
O [edit logical-systems]
nível de hierarquia não é aplicável nos roteadores da Série ACX.
Configuração do IPv6 nas interfaces
Você precisa configurar o IPv6 nas interfaces do roteador PE para os roteadores CE e nas interfaces do roteador CE para os roteadores PE.
Para configurar a interface para lidar com as rotas IPv6, inclua a family inet6
declaração:
family inet6 { address ipv6-address; }
Você pode incluir essa declaração nos seguintes níveis de hierarquia:
[edit interfaces interface-name unit unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit unit-number]
O [edit logical-systems]
nível de hierarquia não é aplicável nos roteadores da Série ACX.
Se você tiver configurado a VPN de Camada 3 para lidar com as rotas IPv4 e IPv6, configure a interface para lidar com as rotas IPv4 e IPv6, incluindo a unit
declaração:
unit unit-number { family inet { address ipv4-address; } family inet6 { address ipv6-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]
O [edit logical-systems]
nível de hierarquia não é aplicável nos roteadores da Série ACX.
Exemplo: Tunelamento de camada 3 VPN Ilhas IPv6 em um núcleo IPv4 usando IBGP e domínios independentes
Este exemplo mostra como configurar o Junos OS para o túnel IPv6 em uma rede VPN IPv4 de Camada 3. O BGP interno (IBGP) é usado entre os dispositivos de borda do cliente (CE) e borda do provedor (PE), conforme descrito no rascunho da Internet draft-marques-ppvpn-ibgp-version.txt, redes RFC2547bis usando BGP interno como protocolo PE-CE, em vez das conexões PE-CE externas mais típicas (EBGP).
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Todos os roteadores PE que participam de uma VPN de Camada 3 com a independent-domain
declaração em sua configuração devem estar executando o Junos OS Release 6.3 ou posterior.
Visão geral
Este exemplo mostra um método de permitir que um roteador participe de um domínio do sistema autônomo (AS) vpn do cliente e troque informações de roteamento de forma transparente por uma VPN de Camada 3 sem que os atributos de rede do cliente sejam visíveis para a rede da operadora e sem que os atributos de rede da operadora sejam visíveis para a rede do cliente.
Como um requisito adicional, a rede do cliente neste exemplo é baseada no IPv6, enquanto a rede do provedor usa o IPv4.
O independent-domain
recurso é útil quando os atributos de rota do cliente precisam ser encaminhados de forma transparente pela rede VPN sem que o caminho AS do provedor de serviços (SP) apareça nas rotas. Em uma VPN de Camada 3 típica, os atributos de rota, como O ID do criador, lista de clusters, métrica de rota e caminho AS não são transparentes de um dispositivo CE para outro dispositivo CE.
Por exemplo, suponha que você tenha um VRF do cliente cujo AS é 1. O cliente anuncia rotas para você por BGP (ibGP ou EBGP). Sua rede principal (a instância de roteamento principal) usa AS 3. Sem independent-domain
configuração, se o cliente anunciar 10.0.0.0/24 para você através do BGP, o prefixo contém o AS 1 do cliente no caminho AS. Para transportar o anúncio pelo núcleo até os outros dispositivos PE, o seu núcleo AS 3 é adicionado ao caminho AS pelo BGP multiprotocol (MP-BGP). O caminho AS agora é 3 1. Quando o prefixo é anunciado do núcleo de volta para a VPN de Camada 3 em um dispositivo PE remoto, a VPN de Camada 3 AS 1 é adicionada novamente, tornando o AS Path 1 3 1, que é um loop AS. A independent-domain
declaração garante que apenas as ASs na instância de roteamento sejam verificadas durante a detecção de loop, e as instâncias principais de roteamento primário (AS 3) do seu núcleo não são consideradas. Isso é feito usando o atributo 128 (conjunto de atributos), que é um atributo transitivo opcional. O conjunto de atributos oculta o caminho AS da rota, a preferência local e assim por diante, para que eles não apareçam durante a verificação de loop.
No Junos OS 10.4 e posteriores, você pode especificar a opção no-attrset
de independent-domain
modo que, em vez de usar o atributo 128 (conjunto de atributos), o Junos OS simplesmente faz a verificação de loop em ASs de instância de roteamento sem considerar o AS do seu núcleo usado no MP-BGP. Isso é útil se você estiver usando o local-as
recurso, e você só deseja configurar domínios independentes para manter a independência da ASs local na instância de roteamento, e realizar a detecção de loop BGP apenas para os ASs locais especificados na instância de roteamento. Neste caso, você pode desabilitar a mensagem de conjunto de atributos.
Topologia
A Figura 1 mostra a rede de amostra.
A configuração rápida da CLI mostra a configuração para todos os dispositivos na Figura 1.
A seção Configurando o Dispositivo PE1 descreve as etapas do Dispositivo PE1.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
Dispositivo CE1
set interfaces ge-1/2/1 unit 0 family inet6 address ::10.1.1.1/126 set interfaces ge-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet6 address ::192.0.2.1/32 set protocols bgp group toPE1 type internal set protocols bgp group toPE1 family inet6 unicast set protocols bgp group toPE1 export send-direct set protocols bgp group toPE1 neighbor ::10.1.1.2 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept set routing-options router-id 192.0.2.1 set routing-options autonomous-system 64510
Dispositivo CE2
set interfaces ge-1/2/4 unit 0 family inet6 address ::10.1.1.14/126 set interfaces ge-1/2/4 unit 0 family mpls set interfaces lo0 unit 0 family inet6 address ::192.0.2.5/32 set protocols bgp group toPE2 type internal set protocols bgp group toPE2 family inet6 unicast set protocols bgp group toPE2 export send-direct set protocols bgp group toPE2 neighbor ::10.1.1.13 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept set routing-options router-id 192.0.2.5 set routing-options autonomous-system 64510
Pe1 do dispositivo
set interfaces ge-1/2/1 unit 0 family inet6 address ::10.1.1.2/126 set interfaces ge-1/2/2 unit 0 family inet address 10.1.1.5/30 set interfaces ge-1/2/2 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.0.2.2/32 set protocols mpls ipv6-tunneling set protocols mpls interface ge-1/2/2.0 set protocols bgp group toPE2 type internal set protocols bgp group toPE2 local-address 192.0.2.2 set protocols bgp group toPE2 family inet6-vpn unicast set protocols bgp group toPE2 neighbor 192.0.2.4 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-1/2/2.0 set protocols ldp interface ge-1/2/2.0 set protocols ldp interface lo0.0 set routing-instances red instance-type vrf set routing-instances red interface ge-1/2/1.0 set routing-instances red route-distinguisher 64512:1 set routing-instances red vrf-target target:64512:1 set routing-instances red routing-options router-id 192.0.2.2 set routing-instances red routing-options autonomous-system 64510 set routing-instances red routing-options autonomous-system independent-domain set routing-instances red protocols bgp group toCE1 type internal set routing-instances red protocols bgp group toCE1 family inet6 unicast set routing-instances red protocols bgp group toCE1 neighbor ::10.1.1.1 set routing-options router-id 192.0.2.2 set routing-options autonomous-system 64512
Dispositivo P
set interfaces ge-1/2/2 unit 0 family inet address 10.1.1.6/30 set interfaces ge-1/2/2 unit 0 family mpls set interfaces ge-1/2/3 unit 0 family inet address 10.1.1.9/30 set interfaces ge-1/2/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.0.2.3/32 set protocols mpls interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface all set protocols ldp interface all set routing-options router-id 192.0.2.3
PE2 do dispositivo
set interfaces ge-1/2/3 unit 0 family inet address 10.1.1.10/30 set interfaces ge-1/2/3 unit 0 family mpls set interfaces ge-1/2/4 unit 0 family inet6 address ::10.1.1.13/126 set interfaces lo0 unit 0 family inet address 192.0.2.4/32 set protocols mpls ipv6-tunneling set protocols mpls interface ge-1/2/3.0 set protocols bgp group toPE1 type internal set protocols bgp group toPE1 local-address 192.0.2.4 set protocols bgp group toPE1 family inet6-vpn unicast set protocols bgp group toPE1 neighbor 192.0.2.2 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-1/2/3.0 set protocols ldp interface ge-1/2/3.0 set protocols ldp interface lo0.0 set routing-instances red instance-type vrf set routing-instances red interface ge-1/2/4.0 set routing-instances red route-distinguisher 64512:1 set routing-instances red vrf-target target:64512:1 set routing-instances red routing-options router-id 192.0.2.4 set routing-instances red routing-options autonomous-system 64510 set routing-instances red routing-options autonomous-system independent-domain set routing-instances red protocols bgp group toCE2 type internal set routing-instances red protocols bgp group toCE2 family inet6 unicast set routing-instances red protocols bgp group toCE2 neighbor ::10.1.1.14 set routing-options router-id 192.0.2.4 set routing-options autonomous-system 64512
Configuração do dispositivo PE1
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia do usuário da CLI.
Para configurar o dispositivo PE1:
Configure as interfaces.
[edit interfaces] user@PE1# set ge-1/2/1 unit 0 family inet6 address ::10.1.1.2/126 user@PE1# set ge-1/2/2 unit 0 family inet address 10.1.1.5/30 user@PE1# set ge-1/2/2 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 192.0.2.2/32
Configure o MPLS nas interfaces.
[edit protocols mpls] user@PE1# set ipv6-tunneling user@PE1# set interface ge-1/2/2.0
Configure BGP.
[edit protocols bgp group toPE2] user@PE1# set type internal user@PE1# set local-address 192.0.2.2 user@PE1# set family inet6-vpn unicast user@PE1# set neighbor 192.0.2.4
Configure um protocolo de gateway interior (IGP).
[edit protocols ospf area 0.0.0.0] user@PE1# set interface lo0.0 passive user@PE1# set interface ge-1/2/2.0
Configure um protocolo de sinalização.
[edit protocols] user@PE1# set ldp interface ge-1/2/2.0 user@PE1# set ldp interface lo0.0
Configure a instância de roteamento.
[edit routing-instances red] user@PE1# set instance-type vrf user@PE1# set interface ge-1/2/1.0 user@PE1# set route-distinguisher 64512:1 user@PE1# set vrf-target target:64512:1 user@PE1# set routing-options router-id 192.0.2.2 user@PE1# set protocols bgp group toCE1 type internal user@PE1# set protocols bgp group toCE1 family inet6 unicast user@PE1# set protocols bgp group toCE1 neighbor ::10.1.1.1
Na instância de roteamento, inclua o número DE da rede do cliente e inclua a
independent-domain
declaração.[edit routing-instances red routing-options] user@PE1# set autonomous-system 64510 user@PE1# set autonomous-system independent-domain
Na instância principal, configure o ID do roteador e o número AS do provedor.
[edit routing-options] user@PE1# set router-id 192.0.2.2 user@PE1# set autonomous-system 64512
Resultados
A partir do modo de configuração, confirme sua configuração entrando noshow interfaces
, show protocols
show routing-instances
e show routing-options
comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@PE1# show interfaces interfaces { ge-1/2/1 { unit 0 { family inet6 { address ::10.1.1.2/126; } } } ge-1/2/2 { unit 0 { family inet { address 10.1.1.5/30; } family mpls; } } lo0 { unit 0 { family inet { address 192.0.2.2/32; } } } }
user@PE1# show protocols mpls { ipv6-tunneling; interface ge-1/2/2.0; } bgp { group toPE2 { type internal; local-address 192.0.2.2; family inet6-vpn { unicast; } neighbor 192.0.2.4; } } ospf { area 0.0.0.0 { interface lo0.0 { passive; } interface ge-1/2/2.0; } } ldp { interface ge-1/2/2.0; interface lo0.0; }
user@PE1# show routing-instances red { instance-type vrf; interface ge-1/2/1.0; route-distinguisher 64512:1; vrf-target target:64512:1; routing-options { router-id 192.0.2.2; autonomous-system 64510 independent-domain; } protocols { bgp { group toCE1 { type internal; family inet6 { unicast; } neighbor ::10.1.1.1; } } } }
user@PE1# show routing-options router-id 192.0.2.2; autonomous-system 64512;
Se você terminar de configurar o dispositivo, entre no commit
modo de configuração.
Verificação
Confirme se a configuração está funcionando corretamente.
Verificando se os dispositivos CE têm conectividade
Propósito
Certifique-se de que o túnel esteja operando.
Ação
A partir do modo operacional, entre no ping
comando.
user@CE1> ping ::192.0.2.5 PING6(56=40+8+8 bytes) ::10.1.1.1 --> ::192.0.2.5 16 bytes from ::192.0.2.5, icmp_seq=0 hlim=63 time=1.943 ms 16 bytes from ::192.0.2.5, icmp_seq=1 hlim=63 time=1.587 ms ^C --- ::192.0.2.5 ping6 statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/std-dev = 1.587/1.765/1.943/0.178 ms
user@CE2> ping ::192.0.2.1 PING6(56=40+8+8 bytes) ::10.1.1.14 --> ::192.0.2.1 16 bytes from ::192.0.2.1, icmp_seq=0 hlim=63 time=2.097 ms 16 bytes from ::192.0.2.1, icmp_seq=1 hlim=63 time=1.610 ms ^C --- ::192.0.2.1 ping6 statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/std-dev = 1.610/1.853/2.097/0.244 ms
Significado
Os dispositivos IPv6 CE podem se comunicar pela rede IPv4 de núcleo.
Verificando os caminhos AS
Propósito
Certifique-se de que o número AS do provedor não apareça nas tabelas de roteamento de dispositivos CE.
Ação
A partir do modo operacional, entre no show route protocol bgp detail
comando.
user@CE1> show route protocol bgp detail inet6.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) ::192.0.2.5/32 (1 entry, 1 announced) *BGP Preference: 170/-101 Next hop type: Indirect Address: 0x9514354 Next-hop reference count: 6 Source: ::10.1.1.2 Next hop type: Router, Next hop index: 924 Next hop: ::10.1.1.2 via ge-1/2/1.0, selected Session Id: 0x500001 Protocol next hop: ::10.1.1.2 Indirect next hop: 0x971c000 262147 INH Session ID: 0x500002 State: <Active Int Ext> Local AS: 64510 Peer AS: 64510 Age: 50:58 Metric2: 0 Validation State: unverified Task: BGP_64510.::10.1.1.2+45824 Announcement bits (2): 0-KRT 2-Resolve tree 2 AS path: I Accepted Localpref: 100 Router ID: 192.0.2.2 ::10.1.1.12/126 (1 entry, 1 announced) *BGP Preference: 170/-101 Next hop type: Indirect Address: 0x9514354 Next-hop reference count: 6 Source: ::10.1.1.2 Next hop type: Router, Next hop index: 924 Next hop: ::10.1.1.2 via ge-1/2/1.0, selected Session Id: 0x500001 Protocol next hop: ::10.1.1.2 Indirect next hop: 0x971c000 262147 INH Session ID: 0x500002 State: <Active Int Ext> Local AS: 64510 Peer AS: 64510 Age: 50:58 Metric2: 0 Validation State: unverified Task: BGP_64510.::10.1.1.2+45824 Announcement bits (2): 0-KRT 2-Resolve tree 2 AS path: I Accepted Localpref: 100 Router ID: 192.0.2.2
user@CE2> show route protocol bgp detail inet6.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) ::192.0.2.1/32 (1 entry, 1 announced) *BGP Preference: 170/-101 Next hop type: Indirect Address: 0x9514354 Next-hop reference count: 6 Source: ::10.1.1.13 Next hop type: Router, Next hop index: 914 Next hop: ::10.1.1.13 via ge-1/2/4.0, selected Session Id: 0x400001 Protocol next hop: ::10.1.1.13 Indirect next hop: 0x971c000 262150 INH Session ID: 0x400002 State: <Active Int Ext> Local AS: 64510 Peer AS: 64510 Age: 50:41 Metric2: 0 Validation State: unverified Task: BGP_64510.::10.1.1.13+59329 Announcement bits (2): 0-KRT 2-Resolve tree 2 AS path: I Accepted Localpref: 100 Router ID: 192.0.2.4 ::10.1.1.0/126 (1 entry, 1 announced) *BGP Preference: 170/-101 Next hop type: Indirect Address: 0x9514354 Next-hop reference count: 6 Source: ::10.1.1.13 Next hop type: Router, Next hop index: 914 Next hop: ::10.1.1.13 via ge-1/2/4.0, selected Session Id: 0x400001 Protocol next hop: ::10.1.1.13 Indirect next hop: 0x971c000 262150 INH Session ID: 0x400002 State: <Active Int Ext> Local AS: 64510 Peer AS: 64510 Age: 50:41 Metric2: 0 Validation State: unverified Task: BGP_64510.::10.1.1.13+59329 Announcement bits (2): 0-KRT 2-Resolve tree 2 AS path: I Accepted Localpref: 100 Router ID: 192.0.2.4
Significado
A saída mostra que, para as rotas BGP nos dispositivos CE, o atributo de caminho AS não inclui o provedor AS 64512.