sexta-feira, 11 de junho de 2010

IPv6 - Tunel IPv4-compatível IPv6


1        Tunnel IPv6

Para que duas redes IPv6 se conectem através de uma rede IPv4 existente é necessária a configuração de tunelamento IPv6 sobre o protocolo IPv4. Esse tipo de tunelamento pode ser feito de varias maneiras.
A configuração é semelhante a um tunnel genérico (GRE) para transporter, por exemplo, IPX atráves de uma rede IP. Nas extremidades do túnel o pacote IPv6 é encapsulado em um pacote IPv4 e enviado para o destino remoto do túnel, onde o cabeçalho IPv4 é retirado e o pacote IPv6 original é encaminhado até o seu destino através da rede IPv6.
Os cinco métodos de tunelamento IPv6 são:
         Tunelamento IPv6 manual
         Automatic IPv4-Compatible tunnels
         GRE
         Túnel 6to4 manual
         Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) Tunnels
A primeira diferença entre essas Técnicas de tunelamento é o método em que a origem e o destino do túnel são determinados.
É importante saber que a sobreposição de túneis reduz o MTU da interface em 20 octetos. Uma rede que usa a sobreposição de túneis dificulta o troubleshoot.

1.1           Automatic IPv4-compatible IPv6 Tunnels

O tunnel Automatic IPv4-compatible usa um endereço IPv4-compatible IPv6 que possui uma sequencia de zeros nos primeiros 96 bits do IPv6 e o endereço IPv4 é colocado nos últimos 32 bits. Pode ser escrito como: 0:0:0:0:0:0:A.B.C.D or ::A.B.C.D, onde "A.B.C.D" representa o endereço IPv4.
O destino do tunnel é automaticamente determinado pelo endereço IPv4 contido dentro do endereço IPv6. O host ou o roteador de cada extremidade deve suportar os protocolos IPv4 e IPv6. O túnel IPv4-compatible pode ser configurado entre roteadores de borda ou entre roteadores de borda e um host. A técnica do tunel IPv4-compatible é um fácil de ser implementada, mas não é escalável.


2        Cenário

2.1           Objetivo

Seis roteadores (R1, R2, R3, R4, R5 e R6) são conectados fisicamente R1-R2-R3-R4-R5-R6 e deverá ser implementado a conectividade descrita abaixo:
         Os roteadores R1 e R2 possuem uma rede IPv6 entre eles usando o protocolo OSPF na área 0;
         Os a conectividade R2 com R3, R3 com R4 e R4 com R5 é IPv4, e deverá existir ISIS no Level-2 entre esses roteadores com divulgação de todas as redes diretamente conectadas;
         Os roteadores R5 e R6 possuem uma rede IPv6 entre eles usando o protocolo OSPF na área 0;
         Deverá ser implementado um túnel IPv4-compatible entre os roteadores R2 e R5;
         A rede entre os roteadores R2 e R5 dentro do túnel deverá ser 2001:25:25:25:25:25:25/112;
         A área 0 do OSPF IPv6 deverá possuir continuidade pelo túnel.

2.2           Topologia

Figure-01:              Topologia

2.3           IOS utilizados

         R1, R2, R3, R4, R5 e R6 – c7200-k91p-mz.122-25.S15.bin

2.4           Configuração dos Roteadores

Em todos os roteadores, assim como no IPv4, antes de configurar o roteamento BGP, deve-se configurar o IGP, ou seja, o roteamento interno para que os roteadores possam conhecer o endereço IP para fechar a conexão BGP e também para que a rota seja divulgada na tabela de roteamento BGP. Esse IGP pode ser o OSPF, RIPng, estático, etc.

2.4.1      Configurações do IPv6

Inicialmente deve-se habilitar o roteamento IPv6 nos roteadores com o comando “ipv6 unicast-routing”. Nas interfaces os endereços link-global são configurados com o comando “ipv6 address
/” e deve-se habilitar o IPv6 dentro da interface com o comando “IPv6 enable”. Os endereços link-local são automaticamente configurados.

2.4.2      Configurações do OSPF

O roteamento OSPF é configurado nas interfaces diretamente com o comando “ipv6 ospf area <área>”. O OSPF detecta automaticamente o endereço IPv4 disponível para ser o Router-ID. Caso não exista nenhum, deve-se dicionar estáticamente dentro do protocolo com o comando global “ipv6 router ospf ” e com o comando “router-id ”.

2.4.3      Configurações do ISIS IPv4

Em todos os roteadores configura-se o roteamento ISIS adicionando o endereçamento NET de acordo com a área designada e endereçamento de loopback. Dentro das interfaces que farão parte do ISIS, adiciona-se o comando “ip router isis” para habilitar o ISIS na interface.

2.4.4      Configurações do Túnel IPv6 Manual ipv6ip

Com a conectividade estaelecida entre os roteadores de borda entre IPv6 e IPv4, cria-se uma interface de túnel nos dois roteadores de borda com o comando “interface tunnel ”. Dentro da interface, configura-se o endereço de origem do túnel com o comando “tunnel source ”  e habilita o modo do túnel auto-tunnel com o comando “tunnel mode ipv6ip auto-tunnel”.
Após a criar o túnel, configura-se o BGP com o comando “router bgp ” e dentro da address-family ipv6 unicast, configura-se uma vizinhança com o roteador de borda de destino no formato de endereço IPv6 “neighbor :: remote-as ”, habilita-lo com o comando “neighbor :: active” e divulga-lo como next-hop para o vizinho do outro lado do túnel com o comando “neighbor :: next-hop-self”. É muito importante saber que, dentro da address-family IPv6 unicast, configura-se o comando “bgp redistribute-internal” que permite que rotas aprendidas no túnel possam ser redistribuídas para outros roteadores ou outros protocolos. O comando “no bgp default ipv4-unicast” serve para identificar que o protocolo do BGP default é o IPv6.
Em seguida, pode-se redistribuir o BGP no IGP e vice-versa.

2.5           Observações e Bugs

Documentação:

2.6           Comandos Importantes de Verificação

R2#show ip bgp ipv6 unicast
BGP table version is 11, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2001::1/128      ::                       1         32768 ?
*> 2001::2/128      ::                       0         32768 ?
*>i2001::5/128      ::45.45.45.5             0    100      0 ?
*>i2001::6/128      ::45.45.45.5             1    100      0 ?
*> 2001:12:12:12:12:12:12:0/112
                    ::                       0         32768 ?
*>i2001:56:56:56:56:56:56:0/112
                    ::45.45.45.5             0    100      0 ?

R1#show ipv6 route
IPv6 Routing Table - 10 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O   ::23.23.23.2/128 [110/1]
     via FE80::2:FF:FE00:0, FastEthernet0/0
LC  2001::1/128 [0/0]
     via ::, Loopback0
O   2001::2/128 [110/1]
     via FE80::2:FF:FE00:0, FastEthernet0/0
OE2  2001::5/128 [110/9999]
     via FE80::2:FF:FE00:0, FastEthernet0/0
OE2  2001::6/128 [110/9999]
     via FE80::2:FF:FE00:0, FastEthernet0/0
C   2001:12:12:12:12:12:12:0/112 [0/0]
     via ::, FastEthernet0/0
L   2001:12:12:12:12:12:12:1/128 [0/0]
     via ::, FastEthernet0/0
OE2  2001:56:56:56:56:56:56:0/112 [110/9999]
     via FE80::2:FF:FE00:0, FastEthernet0/0
L   FE80::/10 [0/0]
     via ::, Null0
L   FF00::/8 [0/0]
     via ::, Null0


3        Configuração

3.1           R1

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ipv6 address 2001::1/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:12:12:12:12:12:12:1/112
 ipv6 enable
 ipv6 ospf 1 area 0
!

3.2           R2

ipv6 unicast-routing
!
interface Tunnel25
 ipv6 enable
 tunnel source FastEthernet1/0
 tunnel mode ipv6ip auto-tunnel
!
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
 ip router isis
 ipv6 address 2001::2/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:12:12:12:12:12:12:2/112
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet1/0
 ip address 23.23.23.2 255.255.255.0
 ip router isis
!
router isis
 net 49.2345.0000.0000.0002.00
 is-type level-2-only
 redistribute connected
!
!
router bgp 25
 bgp router-id 2.2.2.2
 no bgp default ipv4-unicast
 neighbor ::45.45.45.5 remote-as 25
 !
 address-family ipv6
 neighbor ::45.45.45.5 activate
 neighbor ::45.45.45.5 next-hop-self
 bgp redistribute-internal
 redistribute connected
 redistribute ospf 1
!
!
ipv6 router ospf 1
redistribute bgp 25 metric 9999


3.3           R3

!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip router isis
!
interface FastEthernet0/0
 ip address 23.23.23.3 255.255.255.0
 ip router isis
!
interface FastEthernet1/0
 ip address 34.34.34.3 255.255.255.0
 ip router isis
!
!
Router isis
 Net 49.2345.0000.0000.0003.00
 Redistribute connected
 is-type level-2-only
!

3.4           R4

!
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip router isis
!
interface FastEthernet0/0
 ip address 34.34.34.4 255.255.255.0
 ip router isis
!
interface FastEthernet1/0
 ip address 45.45.45.4 255.255.255.0
 ip router isis
!
!
Router isis
 Net 49.2345.0000.0000.0004.00
 Redistribute connected
 is-type level-2-only
!

3.5           R5

!
ipv6 unicast-routing
!
!
interface Tunnel52
 ipv6 enable
 tunnel source FastEthernet0/0
 tunnel mode ipv6ip auto-tunnel
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
 ip router isis
 ipv6 address 2001::5/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ip address 45.45.45.5 255.255.255.0
 ip router isis
!
interface FastEthernet1/0
 ipv6 address 2001:56:56:56:56:56:56:5/112
 ipv6 enable
 ipv6 ospf 1 area 0

!
router isis
 net 49.2345.0000.0000.0005.00
 is-type level-2-only
 redistribute connected
!
router bgp 25
 bgp router-id 5.5.5.5
 no bgp default ipv4-unicast
 neighbor ::23.23.23.2 remote-as 25
 !
 address-family ipv6
 neighbor ::23.23.23.2 activate
 neighbor ::23.23.23.2 next-hop-self
 bgp redistribute-internal
 redistribute connected
 redistribute ospf 1
!
!
ipv6 router ospf 1
 redistribute bgp 25
!

3.6           R6

!
ipv6 unicast-routing
!
interface Loopback0
 ip address 6.6.6.6 255.255.255.255
 ipv6 address 2001::6/128
 ipv6 enable
 ipv6 ospf 1 area 0
!
interface FastEthernet0/0
 ipv6 address 2001:56:56:56:56:56:56:6/112
 ipv6 enable
 ipv6 ospf 1 area 0
!

Nenhum comentário: