tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
DlteC do Brasil®
www.dltec.com.br
[email protected] | 41 3045.7810
DLTEC DO BRASIL
APOSTILA/E-BOOK DO CURSO IPV6
Apostila/E-Book do Curso IPv6 DlteC do Brasil® Todos os direitos reservados©
Apostila/E-B
ook do Curso
IPv6
Página 1
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Sobre o E-book/Apostila
O conteúdo desse documento é uma adaptação da matéria online de leitura do curso. O presente material traz conteúdo teórico do curso online, porém temos que deixar claro que não é um curso e sim uma adaptação do nosso material online para e-book/apostila.
Portanto recursos como exercícios, simulados, tutoria (tira dúvidas com professores) e vídeo aulas não fazem parte desse e-book, pois são exclusivos para alunos devidamente matriculados em nosso site oficial.
Para maiores informações sobre nossos treinamento visite o site:
>>> http://www.dltec.com.br <<<
Apostila/E-B
ook do Curso
IPv6
Página 2
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Direitos Autorais Aviso Importante! Esse material é de propriedade da DlteC do Brasil Ltda e é protegido pela lei de direitos autorais 9610/98. É expressamente proibida cópia física ou em meio digital, reprodução parcial, reprografia, fotocópia ou qualquer forma de extração de informações deste sem prévia autorização da DlteC do Brasil conforme legislação vigente. Seu uso pessoal e intransferível é somente para o cliente que adquiriu o referido e-book/apostila. A cópia e distribuição são expressamente proibidas e seu descumprimento implica em processo cível de danos morais e materiais previstos na legislação contra quem copia e para quem distribui, sejam cópias físicas e/ou digitais. Copyright © 2016.
Apostila/E-B
ook do Curso
IPv6
Página 3
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Indice Capítulo 01 - Introdução .............................................................................................................. 5 Capítulo 02 - Protocolo IPv6 ........................................................................................................ 6 Capítulo 03 - Implementando o IPv6 .......................................................................................... 31 Capítulo 04 - Técnicas de Convivência e Tunelamento IPv6......................................................... 66 Capítulo 05 - Conceitos de Segurança no IPv6 ............................................................................ 93
Apostila/E-B
ook do Curso
IPv6
Página 4
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Capítulo 01 - Introdução Objetivos do Capítulo Olá, Essa apostila que você recebendo é uma adaptação do material de leitura Online do curso IPv6 da DlteC do Brasil. Aqui nessa apostila colocamos uma adaptação em texto do nosso material online de estudo (matéria online do curso IPv6). Esperamos que você aproveite o material e bons estudos.
Apostila/E-B
ook do Curso
IPv6
Página 5
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Capítulo 02 - O Protocolo IPv6 Nesse primeiro capítulo do curso vamos estudar em detalhe o funcionamento do IP versão 6 para entender
Objetivos do Capítulo Ao final desse capítulo você deverá ter estudado e compreendido os seguintes
as principais diferenças a versão anterior (IPv4),com assim como novas funcionalidades que foram introduzidas nessa nova versão do protocolo IP.
assuntos: Diferença entre o IPv6 e IPv4 Principais características do IPv6 Principais recursos do IPv6 Técnicas de convivência e transição entre IPv4 e IPv6
Lembrem-se que o lançamento oficial em nível mundial do IPv6 aconteceu no ano de 2012 e por um bom tempo as duas versões do protocolo IP devem coexistir, pois até uma total migração da comunicação pela Internet e nas redes corporativas para a versão 6 do protocolo IP teremos um longo caminho pela frente.
Sumário do Capítulo
1 Qual a Maior Diferença entre o I Pv4 e o IPv6?_______________________________ 8 2
Campos do Pacote IPv6 ____________ 9
3
Tipos de Comunicação e Endereços em
IPv6 ______________________________ 11 4 Escrevendo e Interpretando Endereços IPv6 ______________________________ 13 5 Faixas de Endereçamento e Endereços Especiais___________________________ 15 5.1
Bons estudos.
6
IEEE EUI-64 _____________________ 17
Recursos e Serviços do IPv6 ________ 18 6.1
ICMPv6 ________________________ 18
6.2
NDP (Neighbor Discovery Protocol) _ 19
6.2.1 Determinando o Endereço MAC de Hosts Vizinhos __________________________ 20 6.2.2 Encontrando Roteadores Vizinhos __ 20 6.2.3 Detectando Endereços IPv6 Duplicados 21 6.2.4 Determinando a Acessibilidade dos Vizinhos 22 6.2.5 Redirecionamento de Pacotes ______ 22
6.3 Distribuindo Endereços Autoconfiguração e DHCPv6 ____________ 23 6.3.1 6.3.2 6.3.3
6.4
Apostila/E-B
Configuração Manual _____________ 23 Autoconfiguração Stateless ________ 25 DHCPv6 – Stateless e Stateful ______ 26
Fragmentação __________________ 27
ook do Curso
IPv6
Página 6
tel 41 3045.7810 - info
6.5
Mobilidade _____________________ 28
6.6
QoS – Qualidade de Serviços _______ 29
6.7
Roteamento IPv6 ________________ 30
Apostila/E-B
dltec.com.br - www.dltec.com.br
ook do Curso
IPv6
Página 7
tel 41 3045.7810 - info
1
dltec.com.br - www.dltec.com.br
Qual a Maior Diferença entre o IPv4 e o IPv6?
A maior diferença entre o IPv4 e o IPv6 com certeza é o número de endereços IP disponíveis em cada um dos protocolos. No IPv4 temos 4,294,967,296 endereços, enquanto no IPv6 temos um total de 340,282,366,920,938,463,463,374,607,431,768,211,456 endereços IP. Note abaixo como a diferença é gritante: IPv4:
4,294,967,296
IPv6: 340,282,366,920,938,463,463,374,607,431,768,211,456
Esta diferença de valores entre o IPv4 e o IPv6 representa aproximadamente 79 octilhões de vezes a quantidade de endereços IPv6 em relação a endereços IPv4, além disso, mais de 56 octilhões de endereços por ser humano na Terra, considerando-se a população estimada em 6 bilhões de habitantes. Tecnicamente as funcionalidades da Internet continuarão as mesmas com a introdução do IPv6 na rede e, com certeza, ambas versões do protocolo IP deverão funcionar ao mesmo tempo, tanto nas redes já implantadas em IPv4 como em novas redes que serão montadas. Atualmente as redes que suportam IPv6 também suportam o IPv4 e ambos protocolos deverão ser utilizados por um bom tempo ainda. Acompanhe na tabela onde mostramos uma comparação simples em termos somente do formato dos endereços e quantidades.
Outras diferenças importantes são a introdução dos endereços de anycast e a retirada dos endereços de broadcast. Isso mesmo, o grande vilão do IPv4, o broadcast, no IPv6 não existe mais. Agora no IPv6 temos endereços de unicast, multicast e anycast. Caso seja necessário enviar uma mensagem a todoschamado os hostsdepode-se utilizar um” (FF02::1). pacote de multicast para o “all nodes endereço de link-local de destino address Outro ponto importante é que no IPv6 ainda temos a parte de rede, subrede e host, como no IPv4, mas não utilizamos mais o termo máscara e sim somente prefixo. O prefixo do IPv6 tem a mesma funcionalidade do prefixo do CIDR e conta a quantidade de bits de rede ou subrede que a máscara tem, sendo que os bits 1 continuam indicando a porção de redes e os bits zero os hosts. No exemplo dado na tabela anterior temos a rede 3FFE:F200:0234::/48 e o /48 representa o prefixo dessa rede, ou seja, os primeiros 48 bits do endereço são bits de rede e os demais 80 bits (128-48) são de host. Isso mesmo, temos 80 bits para hosts nesse exemplo. Apostila/E-B
ook do Curso
IPv6
Página 8
tel 41 3045.7810 - info
2
dltec.com.br - www.dltec.com.br
Campos do Pacote IPv6
O cabeçalho do pacote IPv6 é bem mais simples que o do IPv4, contendo apenas 8 campos principais e caso serviços adicionais sejam necessários existem extensões de cabeçalho que podem ser utilizadas. O cabeçalho (header) básico está na figura abaixo.
A descrição de cada campo segue abaixo:
Version (versão - 4 bits): Contém o valor para versão 6. Priority ou Traffic Class (classe de tráfego - 8 bits): Um valor de DSCP para QoS
(qualidade de serviços).
Flow Label (identificador de fluxo - 20 bits): Campo opcional que identifica fluxos individuais. Idealmente esse campo é configurado pelo endereço de destino para separar
os fluxos de cada uma das aplicações e os nós intermediários de rede podem utilizá-lo de forma agregada com os endereços de srcem e destino para realização de tratamento específico dos pacotes. Payload Length (tamanho do payload - 16 bits): Tamanho do payload em bytes. Next Header (próximo cabeçalho - 8 bits) : Cabeçalho ou protocolo que virá a seguir. É utilizado para identificar que existem cabeçalhos de extensão após o principal. Hop Limit (limite de saltos - 8 bits): Similar ao tempo de vida de um pacote IPv4 (TTL - time to live) utilizado no teste de traceroute. Source Address (endereço IPv6 de srcem - 128 bits) : Endereço IP de quem está enviando os pacotes. Destination Address (endereço IPv6 de destino - 128 bits) : Endereço IP do host remoto que deve receber os pacotes.
Aqui vem mais uma diferença do IPv6, pois no IPv4 o cabeçalho base continha todas as informações principais e opcionais (mesmo que não fossem utilizadas). Já o IPv6 trata essas informações adicionais como cabeçalhos opcionais chamados de “cabeçalhos de extensão”. Os cabeçalhos de extensão são inseridos entre o cabeçalho base e o cabeçalho da camada imediatamente acima (payload), não tendo nem quantidade ou tamanho fixo. Caso existam múltiplos cabeçalhos de extensão no mesmo pacote, eles serão encadeados em série formando uma “cadeia de cabeçalhos”. A figura abaixo mostra um exemplo dessa situação.
Apostila/E-B
ook do Curso
IPv6
Página 9
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
De uma maneira resumida seguem os cabeçalhos de extensão possíveis e seus identificadores:
Options (0): Transporta informações adicionais que devem ser examinadas por todos os roteadores de caminho, por isso o nome hop-by-hop que em português significa salto a salto. Routing (43): Definido para ser utilizado como parte do mecanismo de suporte a mobilidade do IPv6. Fragment (44): Indica se o pacote foi fragmentado na srcem. Encapsulating Security Payload (50) e Authentication Header (51) : fazem parte do cabeçalho IPSec, utilizados para criptografia do payload. Destination Options (60): Transporta informações que devem ser processadas apenas pelo computador de destino. Hop-by-hop
Portanto, o cabeçalho do IPv6 além de ser mais simples que o do IPv4, também trata de questões como QoS e segurança de maneira nativa, ou seja, dentro do próprio cabeçalho sem a necessidade de implementações e recursos adicionais como era necessário para o IPv4.
Apostila/E-B
ook do Curso
IPv6
Página 10
tel 41 3045.7810 - info
3
dltec.com.br - www.dltec.com.br
Tipos de Comunicação e Endereços em IPv6
Como já citado anteriormente, no IPv6 não temos mais os endereços e a comunicação via broadcast. Os endereços de unicast e multicast continuam existindo e com a mesma função em ambas versões de protocolo, porém foi criado um tipo a mais de endereçamento chamado de anycast. Veja abaixo a descrição resumida de cada um deles:
Unicast Comunicação um para um. Multicast Comunicação um para muitos (grupo de dispositivos configurados com o
mesmo endereço). Anycast Endereço configurado em múltiplas interfaces.
Veja a figura a seguir com a representação de cada um dos três tipos de comunicação.
Para visualizar a diferença e aplicação do uso do unicast para multicast considere a figura abaixo, onde você tem um dispositivo de vídeo que irá transmitir o sinal para três hosts na rede. Caso a transmissão seja feita utilizando unicast terão que ser criados três fluxos, um para cada host de destino, ocupando mais banda, pois a mesma informação é triplicada. Já no caso do uso do multicast o transmissor envia as informações para um único endereço que está configurado em todos os hosts que participam do mesmo “grupo de multicast” que ele, portanto
a informação é transmitida utilizando apenas um fluxo até os hosts.
Apostila/E-B
ook do Curso
IPv6
Página 11
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
O endereço IP de anycast é um endereço que podemos configurar em mais de um dispositivo, portanto ele será anunciado em diferentes roteadores. Mas para que serve o anycast na prática? Uma das respostas e a mais utilizada é para redundância (apesar de que pode ser utilizado para balanceamento de carga). Por exemplo, você tem três servidores DNS e configura o mesmo IP de anycast nos três, porém cada um está conectado por caminhos diferentes (roteadores distintos ou larguras de bandas diferentes). Quando o computador for realizar uma consulta ao DNS ele enviará o pacote para o IP de anycast (destino) configurado em sua placa de rede, porém quando a rede receber o pacoteo com o endereço um anycast os mesmo roteadores encaminharão esse com pacote para melhor destino de emdestino relaçãosendo à srcem. Ou seja, tendo três servidores o mesmo IP de Anycast o que tiver melhor métrica em relação ao protocolo de roteamento utilizado é o que receberá a solicitação. Por exemplo, você está utilizando OSPFv3, o qual utiliza um custo como métrica para encontrar o melhor caminho, se um dos servidores tem custo 25 (Server A), o segundo custo 40 (Server B) e o terceiro custo 20 (Server C) qual dos três irá receber a consulta enviada pelo cliente? Com certeza será o que possui menor custo (menor métrica), portanto o Server C receberá os pacotes referentes à consulta de nomes e deverá responder ao cliente.
Duas dicas importantes, o IP de anycast não é utilizado como srcem em um pacote IPv6, somente como destino e precisa estar anunciado entre os roteadores (através do protocolo de roteamento) para que possa ser encaminhado conforme exemplo anterior. Portanto não é só configurar um IP, o uso do anycast exige configurações de roteamento na rede.
Apostila/E-B
ook do Curso
IPv6
Página 12
tel 41 3045.7810 - info
4
dltec.com.br - www.dltec.com.br
Escrevendo e Interpretando Endereços IPv6
Antes de falar de como o endereçamento é dividido vamos ver como podemos escrever um endereço IPv6 (notação em hexadecimal) e também as partes que o compõe. Caso você tenha dúvidas sobre o sistema hexadecimal volte ao capítulo sobre endereçamento IP e revise a parte de Sistemas de Numeração. Como já visto em capítulos anteriores, o endereço IPv6 possui 128 bits e é escrito em hexadecimal, diferente do IPv4 que eram 32 bits (4 conjuntos de 8 bits escritos em decimal pontuado). Portanto, agora cada algarismo de um IPv6 pode ter os números de 0 a 9, assim como as letras de A a F, totalizando 16 algarismos, por isso o nome hexadecimal. Veja quanto vale de A a F em decimal ( você pode escrever as letras do hexadecimal tanto em maiúsculo como em minúsculo, tanto faz! ):
“A” vale 10 em decimal “B” vale 11 em decimal “C” vale 12 em decimal “D” vale 13 em decimal “E” vale 14 em decimal “F” vale 15 em decimal
Como cada algarismo em hexadecimal tem 4 bits, em 128 bits temos um total de 32 algarismos hexadecimais divididos de 4 em 4, ou seja, oito conjuntos de quatro algarismos em hexadecimal separados por dois pontos “:” (não mais pelo ponto “.” como era no IPv4). Um exemplo de IPv6 é “2000:1234:ade4:ffa0:2234:0000:0000:0012”.
Existem ainda três contrações (reduções) que podemos fazer nos endereços IPv6: 1. Zero a esquerda pode ser omitido: 2000:1234:ade4:ffa0:2234:0000:0000:12 2. Conjuntos de 4 zeros na mesma casa podem ser reduzidos para um zero: 2000:1234:ade4:ffa0:2234:0:0:12 3. Sequências de zeros podem ser substituídas por dois conjuntos de dois pontos: 2000:1234:ade4:ffa0:2234::12 A única recomendação é que não haja ambiguidade para a terceira contração. Para entender vamos ver um exemplo com o IP 2000:1234:ade4:0000:0000:2234:0000:12. Se escrevermos ele com a contração 2000:1234:ade4::2234::12 nós sabemos, por visualizar o IP que deu srcem, que existem dois conjuntos de 4 zeros à esquerda do 2234 e um só conjunto à direita. No entanto, como um dispositivo (roteador ou computador) irá distinguir como ele deve completar isso na prática? Pois se pegarmos apenas o IP contraído 2000:1234:ade4::2234::12 ele pode ser tanto 2000:1234:ade4:0000:2234:0000:0000:12 como 2000:1234:ade4:0000:0000:2234:0000:12. Logo, essa notação é inválida, pois para o dispositivo ela é ambígua uma vez que ele não vai saber como preencher os espaços com os zeros. Portando, o IP deveria ser escrito como “2000:1234:ade4:0:0:2234::12 ” ou “2000:1234:ade4::2234:0:12 ”. Outra representação importante, a qual já foi comentada anteriormente, é a dos prefixos de rede. No IPv6 continuamos escrevendo os endereços como no IPv4 utilizando a notação CIDR, ou seja, “endereço-IPv6/tamanho do prefixo”, onde “tamanho do prefixo” é um valor decimal que especifica a quantidade de bits contíguos à esquerda do endereço que
compreendem o prefixo, ou seja, a soma dos bits uns do prefixo.
Apostila/E-B
ook do Curso
IPv6
Página 13
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Um endereço IPv6 pode ser dividido em um Prefixo Global (Global Prefix), Subrede (subnet ID) e endereço da Interface (Interface ID). O prefixo global normalmente é um /32, já o prefixo de subrede pode ser /48 (usuários corporativos) ou /56 a /64 (para usuários residenciais) dependendo do uso e recomendação de cada país. Já o endereço da interface utiliza os bits restantes do prefixo, ou seja, 128 bits menos o prefixo de subrede.
Vamos a um exemplo utilizando a rede 2001:db:3000:1::/64, onde sabemos que temos 128 bits totais no endereço, porém 64 bits são utilizados para identificar a sub-rede, portanto termos:
Prefixo 2001:db:3000:1::/64 Prefixo global 2001:db::/32 ID da sub-rede 3000:1 ID de host: temos 64 bits (ou seja, 2^64= 18.446.744.073.709.551.616 endereços IP)
Da mesma maneira que mostramos no IPv4 com o CIDR e a notação em prefixos, no IPv6 podemos fazer a agregação de várias subredes de maneira hierárquica para reduzir a quantidade de redes anunciadas pelos protocolos de roteamento, além de continuar valendo o conceito de subrede e a utilização de diferentes prefixos conforme a necessidade de cada rede IPv6, similar ao VLSM. Com dos endereços IPv6 em. URLs Resource eles agorarelação passama arepresentação ser representados entre colchetes Deste(Uniform modo, não haveráLocators), ambiguidades caso seja necessário indicar o número de uma porta juntamente com a URL, por exemplo: http://[2001:db:3000:1::22]/index.html http://[2001:db:3000:1::22]:8080
Apostila/E-B
ook do Curso
IPv6
Página 14
tel 41 3045.7810 - info
5
dltec.com.br - www.dltec.com.br
Faixas de Endereçamento e Endereços Especiais
Se analisarmos a faixa total de endereços IPv6 vai de :: (0000:0000:0000:0000:0000:0000:0000:0000) até ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff e assim como no IPv4 a IANA fez a alocação dos endereços entre os diversos tipos de endereçamento e faixas necessárias para serem distribuídas conforme explicado no capítulo sobre a Internet. Portanto, vamos agora analisar a divisão dos endereços IPv6 e algumas faixas dedicadas a uso especial.
::/0 -> Rota padrão. ::/128 -> Endereço não especificado (Unspecified). ::1/128 -> Endereço de Loopback (no IPv4 é o 127.0.0.1). ::/96 -> Reservado para compatibilidade com IPv4, porém seu uso foi descontinuado.
Seria um endereço como ::192.168.1.1, o motivo do /96 é que como temos 32 bits no
IPv4 dá um total de “96+32=128 bits”. ::FFFF:0:0/96 -> Endereço IPv4 mapeado como IPv6. É aplicado em técnicas de
transição para que hosts IPv6 e IPv4 se comuniquem, por exemplo, ::FFFF:192.168.1.1. 2001::/32 prefixo utilizado no mecanismo de transição Teredo. (mais para frente veremos o que é o Teredo). 2001:DB8::/32 -> prefixo utilizado para representar endereços IPv6 em textos e documentações. 2002::/16 -> Prefixo utilizado no mecanismo de transição 6to4. FC00::/7 -> Unique local (ULA). Este endereço provavelmente será globalmente único, utilizado apenas para comunicações locais, geralmente dentro de um mesmo enlace ou conjunto de enlaces, portanto o endereço ULA não deve ser roteável na Internet. FE80::/10 -> Link-local unicast. Este endereço é utilizado apenas na LAN onde a interface está conectada, o endereço link local é atribuído automaticamente utilizando o prefixo FE80::/64 e os outros 64 bits do ID da Interface são configurados utilizando o formato IEEE EUI-64, uma composição que utiliza o endereço MAC do host para formar o endereço da Interface.
Site-local unicast, porém sua utilização foi substituída pelos endereços ULA e ele caiu em desuso. FF00::/8 Faixa de endereços de multicast. Por exemplo, o IP FF02::9 é o endereço de multicast utilizado pelo protocolo de roteamento RIPng enviar seus anúncios de roteamento.
FEC0::/10
Apostila/E-B
ook do Curso
IPv6
Página 15
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Abaixo seguem alguns outros endereços de multicast reservados: FF02::1 -> Todos os Hosts no Link FF02::2 -> Todos os Roteadores no Link FF02::5 -> Protocolo OSPFv3 FF02::6 -> Protocolo OSPFv3 FF02::A -> Protocolo EIGRP/Cisco FF02::1:2 -> Todos os Relay-Agents DHCP FF05::1:3 -> Todos os Servidores DHCP FF05::101 -> Todos os Servidores NTP Informações Extras sobre Multicast :
Os flags são definidos da seguinte forma:
O primeiro bit mais a esquerda é reservado e deve ser marcado com 0; Flag R: Se o valor for 1, indica que o endereço multicast “transporta” o
endereço de um ponto de encontro (Rendezvous Point). Se o valor for 0, indica que não há um endereço de ponto de encontro embutido; Flag P: Se o valor for 1, indica que o endereço multicast é baseado em um prefixo de rede. Se o valor for 0, indica que o endereço não é baseado em um prefixo de rede; Flag T: Se o valor for 0, indica que o endereço multicast é permanente, ou seja, é atribuído pela IANA. Se o valor for 1, indica que o endereço multicast não é permanente, ou seja, é atribuído dinamicamente. Os quatro bits que representam o escopo do endereço multicast (Scope), são utilizados para delimitar a área de abrangência de um grupo multicast. Os valores atribuídos a esse campo são o seguinte: 1 – abrange apenas a interface local; 2 – abrange os nós de um enlace; 3 – abrange os nós de uma sub-rede 4 – abrange a menor área que pode ser configurada manualmente; 5 – abrange os nós de um site; 8 – abrange vários sites de uma mesma organização; E – abrange toda a Internet; 0, F – reservados; 6, 7, 9, A, B, C, D – não estão alocados
Para os endereços de Unicast (os roteáveis na Internet) está reservada para atribuição de endereços a faixa 2000::/3, ou seja, dos endereços de 2000:: a 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff. Isso representa 13% do total de endereços possíveis com IPv6. O nome dado aos endereços de Unicast é “Global Unicast” ou endereço global unicast.
Apostila/E-B
ook do Curso
IPv6
Página 16
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
A faixa 2800::/12 foi destinada à LACNIC para alocação na América Latina. No Brasil o NIC.br possui um /16 que faz parte deste /12 para distribuir entre as instituições e ISPs do nosso país. Os endereços de Anycast são criados a partir da faixa de endereços unicast e não há diferenças de notação entre eles. O que os diferencia é a configuração realizada nos roteadores e um anúncio explícito de que aquele IP é de Anycast. Dessa maneira vai haver o roteamento e troca de informações sobre esses endereços de Anycast entre os roteadores, além disso, evita que os roteadores interpretem esse endereço como um IP duplicado e gere erros, pois o Anycast é um mesmo IP de Unicast configurado em vários hosts! 5.1 IEEE EUI-64
O padrão EUI-64 é utilizado para formação do endereço de Link Local, no processo de autoconfiguração e também pode ser utilizado no DHCPv6. O objetivo básico é utilizar o endereço MAC da placa de rede do host para formar um Interface ID de 64 bits. Sabemos que um endereço MAC tem 48 bits e já é escrito em Hexadecimal, portanto para completar os 64 bits faltam apenas 16 bits, ou seja, quatro algarismos em Hexadecimal. Isto é feito com a inserção no meio do endereço MAC dos algarismos 0xfffe (FF-FE). Além disso, o sétimo bit mais a esquerda (chamado de bit U/L – Universal/Local) do endereço MAC deve ser invertido, isto é, se for 1 será alterado para 0 e se for 0 será alterado para 1 . Veja a figura a seguir, no meio do endereço MAC foi inserida a palavra em hexadecimal 0xfffe e como os dois primeiros algarismos do MAC são 00, que em binário é 000000 00, se trocarmos o sétimo bit ele fica 000000 10 ou 02 em hexadecimal (lembre que a cada 4 bits temos um algarismo em hexadecimal).
Lembre-se que se recebermos um prefixo /64 podemos perfeitamente utilizar o EUI-64 para formar o Interface ID e assim termos o endereço global do computador (endereço de Internet), além do link local. Esse processo se chama autoconfiguração do IPv6. Por exemplo, um computador que tem como endereço MAC 001e.130b.1aee e recebe um prefixo 2001::/64 do seu roteador terá os seguintes endereços de Link Local e Global Unicast:
FE80::21E:13FF:FE0B:1AEE 2001::21E:13FF:FE0B:1AEE -> Prefixo 2001::/64
Como chegamos nesses valores acima? Note que o MAC é 001e.130b.1aee, portanto vamos achar o sétimo bit e fazer a inversão: 00 -> 00000000 -> 00000010 -> 02. Agora vamos inserir o FF-FE no meio e formar o EUI 64: 021e:13ff:fe0b:1aee.
Apostila/E-B
ook do Curso
IPv6
Página 17
tel 41 3045.7810 - info
6
dltec.com.br - www.dltec.com.br
Recursos e Serviços do IPv6
Assim como no IPv4 tem o ICMP, o IPv6 possui o ICMPv6 para reportar mensagens de erro e realização de testes, porém o ICMPv6 teve suas capacidades aumentadas devido ao fato de não existir mais o broadcast. Consequentemente, alguns protocolos que eram baseados no broadcast também não existem mais, por exemplo, o ARP foi substituído pelo NDP (Protocolo de Descoberta de Vizinhança). Além disso, com mecanismos como a autoconfiguração, o DHCPv6 pode funcionar de maneiras diferentes. Outro detalhe é que algumas funcionalidades que eram externas ao cabeçalho do IPv4 foram trazidas para dentro do cabeçalho do IPv6, como a parte de segurança e criptografia. Vamos agora estudar os principais serviços e recursos do IPv6 e suas características. 6.1 ICMPv6
O protocolo ICMPv6, assim como já era o ICMPv4, é responsável pelas funções de relatar erros no processamento de pacotes, realizar diagnósticos e informar características da rede. O cabeçalho do ICMPv6 vem logo após o cabeçalho principal do IPv6 ou de algum cabeçalho de extensão (quando existir) com o campo de próximo cabeçalho (Next Header) indicando o código 58. Veja o cabeçalho do ICMPv6 na figura a seguir.
Abaixo segue uma descrição resumida dos campos do cabeçalho:
Tipo: tipo da mensagem (8 bits). Código: informações adicionais para determinados tipos de mensagens (8 bits). Soma de Verificação: utilizado para detectar dados corrompidos no cabeçalho ICMPv6
e em parte do cabeçalho IPV6 (16 bits). Dados: informações de diagnóstico e erro, de acordo com o tipo de mensagem. (Tamanho varia de acordo com a mensagem).
O ICMPv6 tem mais mensagens que a versão anterior, pois além das mensagens padrões ele incorpora funções de outros protocolos como o ARP/RARP e IGMP (Internet Group Management Protocol). Tais protocolos são importantes para:
Descoberta de Vizinhança (Neighbor Discovery Protocol - NDP) Gerenciamento de Grupos Multicast Mobilidade Descoberta do Path MTU
Apostila/E-B
ook do Curso
IPv6
Página 18
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
As mensagens de erro que o ICMPv6 pode notificar seguem na tabela abaixo. Tipo
Nome
Descrição
1
Destination Unreachable
2
Packet too big
3
Time Exceeded
4
Parameter Problem
100-101 102-126
-
127
-
Indica falhas na entrega do pacote como endereço ou porta desconhecida ou problemas na comunicação. Indica que o tamanho do pacote é maior que a MTU de um enlace. Indica que o limite de roteamento ou o tempo de remontagem do pacote foi excedido. Indica erroindicado em algum cabeçalho IPv6 ou não que o tipo no campo campodo "próximo cabeçalho" foi reconhecido. Uso experimental. Não utilizado. Reservado para expansão das mensagens de erro ICMPv6.
Existem ainda as mensagens de informação, as quais são utilizadas pelos protocolos que estudaremos a seguir. 6.2 NDP (Neighbor Discovery Protocol)
O protocolo de descoberta de vizinhos ou simplesmente NDP tem várias funções dentro do IPv6, conforme listadas abaixo:
Determinar o endereço MAC dos nós da rede (substituto do ARP). Encontrar roteadores vizinhos. Determinar prefixos e outras informações de configuração da rede. Detectar endereços duplicados. Determinar a acessibilidade dos roteadores. Redirecionamento de pacotes. Autoconfiguração de endereços.
Os recursos acima são realizados com as seguintes mensagens d ICMPv6: Cód ICMP
Mensagem ICMP
133
Router Solicitation
134
Router Adivertisement
135
Neighbor Solicitation
136
Neighbor Advertisement
137
Redirect Message
Função
Mensagens utilizadas para que hosts requisitem aos roteadores as mensagens de Router Advertisements proativamente, ou seja, sem esperar um anúncio por parte do roteador. Mensagens enviadas periodicamente pelos roteadores ou em resposta a uma Router Solicitation enviada por um host. São utilizadas pelos roteadores para anunciar sua presença em uma rede local ou na Internet. Mensagem de multicast enviada por um nó para determinar o endereço MAC e a acessibilidade de um vizinho. Utilizada também para detectar a existência de endereços duplicados. Mensagem enviada como resposta a um Neighbor Solicitation. Pode também ser enviada para anunciar a mudança de algum endereço MAC dentro do enlace. Mensagem utilizada por roteadores para informar ao host que existe um roteador mais indicado para se alcançar um destino, ou seja, um redirecionamento.
Apostila/E-B
ook do Curso
IPv6
Página 19
tel 41 3045.7810 - info
6.2.1
dltec.com.br - www.dltec.com.br
Determinando o Endereço MAC de Hosts Vizinhos
Assim como a comunicação do IPv4, para enviar um pacote IPv6 para um vizinho, o computador precisa saber o endereço MAC de srcem (dele mesmo, portanto já sabe) e o endereço MAC do destino (computador remoto), o que é função do ARP na versão 4 do protocolo IP. Já no IPv6 o processo é realizado através da troca de mensagens ICMP e funciona com um host enviando uma mensagem Neighbor Solicitation informando no campo de dados seu endereço MAC e também solicitando o endereço MAC do vizinho . Ao receber a Neighbor Advertisement mensagem, o vizinho a responde enviando uma de mensagem informando seu endereço MAC. Após essa troca mensagens o computador de srcem tem condições de iniciar a troca de pacotes com o computador de destino. Veja a figura.
6.2.2
Encontrando Roteadores Vizinhos
O processo utilizado para localizar roteadores vizinhos dentro do mesmo enlace, bem como aprender prefixos e parâmetros relacionas à autoconfiguração de endereço, se inicia com o envio de um Router Solicitation (RS) pelo host. O roteador local responde com uma mensagem de Router Advertisement (RA) para o endereço multicast all-nodes com as informações configuradas nele. Mais para frente você aprenderá mais sobre a autoconfiguração e o DHCPv6, os quais utilizam o processo de descoberta de roteadores no seu funcionamento.
Apostila/E-B
ook do Curso
IPv6
Página 20
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Também é possível que o host receba uma mensagem de Router Advertisement sem ter enviado a solicitação (Router Solicitation), isso porque os roteadores fazem o anúncio de suas redes periodicamente, de maneira proativa.
6.2.3
Detectando Endereços IPv6 Duplicados
No IPv4 a detecção de IPs duplicados era feita pelo protocolo ARP utilizando ARPs gratuitos (Gratuitous ARP). No IPv6 essa detecção é realizada utilizando mensagens "Neighbor Solicitation" para o endereço "All-nodes Multicast" da seguinte maneira, o host envia seu endereço IPv6 na mensagem "Neighbor Solicitation" e aguarda uma resposta. Caso haja uma resposta ele sabe que o IP que ele utiliza está duplicado.
Apostila/E-B
ook do Curso
IPv6
Página 21
tel 41 3045.7810 - info
6.2.4
dltec.com.br - www.dltec.com.br
Determinando a Acessibilidade dos Vizinhos
O NDP é capaz de determinar a disponibilidade de um vizinho analisando protocolos da camada superior. Por exemplo, verificando os ACKs recebidos pelo protocolo TCP, ou então, proativamente realizando uma resolução de endereços (via ICMPv6) quando certos limites são excedidos, porém esse monitoramento só é realizado para comunicações unicast (comunicações host a host, roteador a host ou roteador a roteador). Para esse rastreamento são utilizadas duas tabelas:
Neighbor Cache: Mantém uma lista de vizinhos locais para os quais foi enviado tráfego
recentemente. Essas listas contém o endereço IP, o endereço MAC, um flag que identifica se esse IP é um Host ou um Router, se há pacotes na fila para serem enviados a esse destino, a sua acessibilidade e a próxima vez que um evento de detecção de vizinhos está agendado. É semelhante à tabela ARP do IPv4.
Destination Cache: Mantém informações sobre destinos, locais e/ou remotos, para os
quais foi enviado tráfego recentemente. As entradas dessa tabela são atualizadas com informações recebidas por mensagens "Redirect". A tabela Neighbor Cache pode ser considerada como um subconjunto dessa tabela. 6.2.5
Redirecionamento de Pacotes
As mensagens de redirecionamento no IPv6 são quase idênticas as mensagens de redirecionamento no IPv4. Elas são enviadas por roteadores e tem como função redirecionar um host automaticamente para outro roteador mais apropriado ou para informar ao host que o destino encontra-se no mesmo enlace.
Apostila/E-B
ook do Curso
IPv6
Página 22
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
6.3 Distribuindo Endereços - Autoconfiguração e DHCPv6
Assim como na versão 4 do protocolo IP, a primeira etapa para que um host tenha acesso à rede é a atribuição de um endereço de host à sua Interface. No IPv4 tínhamos a possibilidade de configurar um IP estaticamente (manual) ou através de um servidor DHCP. Para o IPv6 temos quatro opções: a configuração manual dos endereços, a autoconfiguração stateless, o DHCPv6 stateless e o DHCPv6 statefull. 6.3.1
Configuração Manual
A configuração manual dispensa comentários, nela o administrador de redes deve definir manualmente o endereço IPv6 a ser utilizado, assim como os demais parâmetros. No Windows 7, ou acima, o IPv6 já vem habilitado e o caminho para chegar às configurações é parecida, porém escolha no final o protocolo IPv6 ao invés do IPv4. Vá em “Painel de Controle > Rede e Internet > Central de Rede e Compartilhamento ”, clique na interface de rede
desejada, depois clique em propriedades e dois cliques no protocolo TCP/IP versão 6 (TCP/IPv6), conforme tela da figura mostrada a seguir.
Assim como para o IPv4, o IPv6 vem configurado para pegar os dados automaticamente via DHCP ou autoconfiguração no Windows 7, porém você pode clicar na opção de “Usar o seguinte endereço IPv6” e definir manualmente o endereço, prefixo, gateway padrão e servidor DNS.
Para testar a configuração podemos utilizar o ping para o IP do gateway configurado, veja a saída do comando na tela da figura a seguir (a esquerda). Na direita, você tem a tela do acesso via HTTPS ao roteador com IP 2001::1, assim testamos a conectividade das camadas 2 e 3 com o ping e até a camada 7 com o acesso HTTPS.
Apostila/E-B
ook do Curso
IPv6
Página 23
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Para verificar as configurações você pode utilizar o comando “ipconfig /all” ou “ netsh int ipv6 sh addr”, conforme mostrado abaixo.
Apostila/E-B
ook do Curso
IPv6
Página 24
tel 41 3045.7810 - info
6.3.2
dltec.com.br - www.dltec.com.br
Autoconfiguração Stateless
O processo de autoconfiguração stateless consiste na atribuição automática do endereço sem que haja intervenção do administrador. O endereço é gerado em duas etapas: 1. Formação dos 64 Bits de Host (Interface ID) através do padrão EUI-64. 2. Formação dos 64 Bits de Prefixo através de um anúncio realizado pelo roteador. O prefixo será descoberto por meio da comunicação entre o host com algum roteador previamente configurado. Para que essa atribuição automática ocorra o protocolo NDP – (Neighbor roteador. Discovery Protocol Protocolo de Descoberta de Vizinhos) é utilizado entre o host e o
Portanto os computadores enviam uma solicitação chamada “Router Solicitation” para o endereço de multicast FF02::2, o qual significa todos os roteadores ou “all routers”. Ao receber
essa mensagem, o roteador que está na mesma subrede responde com o prefixo e o seu endereço, o qual será utilizado como roteador padrão, através de um “Router Advertisement”
para o endereço FF02::1, que é o endereço de multicast para todos os computadores (uma espécie de emulação do broadcast utilizando multicast). Com isso o computador já tem seu endereço de Internet e o IP do roteador padrão. Além disso, o roteador pode passar o MTU e o limite de encaminhamento do cabeçalho IPv6.
Apostila/E-B
ook do Curso
IPv6
Página 25
tel 41 3045.7810 - info
6.3.3
DHCPv6
–
dltec.com.br - www.dltec.com.br
Stateless e Stateful
Com o DHCPv6 Stateful, os endereços dos hosts, servidores DNS, nome do domínio e demais opções necessárias aos clientes são automaticamente atribuídos através de um serviço DHCPv6 previamente habilitado em um servidor, o qual irá manter uma tabela atualizada de hosts ativos para fins de controle. Daí o nome Statefull, pois guarda o estado dos hosts configurados.
No DHCP stateful o roteador desabilita a autoconfiguração através de flags (indicadores no cabeçalho da mensagem de RA – “M-Flag ON” e “A -Flag OFF” para indicar o DHCPv6 Stateful) e repassa tanto a alocação do endereço IP quanto a configuração dos demais parâmetros de rede para o servidor DHCP. Dessa forma, o servidor consegue manter uma tabela que vincula os endereços de host IPv6 alocados para cada máquina. Os Flags que são passados na mensagem de RA pelos roteadores aos hosts é que dizem como o host deve se configurar (autoconfig, DHCPv6 Stateful ou Stateless), veja o que eles significam:
“M” flag (“Managed Address Configuration”): diz ao host que tem um servidor DHCPv6
disponível para alocação de IP e parâmetros de rede.
“A” flag (“Autonomous Address Configuration”): diz ao host que a autoconfiguração está
disponível (SLAAC) para alocação de IPs e parâmetros de rede.
“O” flag (“Other Stateful Configuration”): diz ao computador que existe um servidor
DHCPv6 disponível para que ele possa pegar apenas os parâmetros de rede, mas não para atribuição de endereço. Além disso, existe uma variação desse serviço de DHCPv6 denominada Stateless, na qual servidor não mantém nenhum registro dos endereços atribuídos. Nesse caso a configuração do IP é feita pelo processo de autoconfiguração pelo próprio roteador (vista no tópico anterior) e depois o computador faz uma solicitação ao servidor DHCP requisitando os parâmetros adicionais, tais como nome de domínio e servidores DNS.
Apostila/E-B
ook do Curso
IPv6
Página 26
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Veja a figura abaixo, onde o roteador envia o RA com o “A -Flag” em ON e “O-Flag” também em
ON, ou seja, o flag A diz que o computador deve usar a autoconfiguração para pegar seu endereço IP e o flag O diz que ele deve ainda solicitar ao DHCP as demais configurações de rede.
A grande vantagem do DHCPv6 em relação ao DHCPv4 é que não existem mais broadcasts no IPv6 e a descoberta do servidor não inunda mais o switch com ARP Requests. Agora a busca é feita através de um endereço multicast que identifica todos os servidores DHCPv6 (FF05::1:3 ou FF02::1:2). Em ambos os casos, DHCPv6 stateful ou stateless, se o servidor DHCP não estiver na mesma rede local que os clientes é utilizado um DHCP Relay para o encaminhamento das mensagens até o servidor DHCP. Nesse caso a configuração é feita nos roteadores para que eles sirvam de intermediário entre os hosts e o servidor DHCP. 6.4 Fragmentação
O processo de fragmentação de um pacote de dados se inicia utilizando o protocolo Path MTU Discovery, o qual tem a função de descobrir de forma dinâmica qual o tamanho máximo permitido ao pacote, permitindo identificar previamente os MTUs de cada enlace no caminho até o destino. O MTU é o Maximum Transmission Unity, o qual depende de configurações locais em cada roteador e também do tipo de interface, por exemplo, o MTU do protocolo Ethernet são 1500Bytes. O Path MTU Discovery assume que o MTU de todo o caminho é igual ao MTU do primeiro salto. Se o tamanho de qualquer um dos pacotes enviados for maior do que o suportado por algum roteador ao longo do caminho, este irá descartá-lo e retornar uma mensagem ICMPv6 Packet Too Big (pacote muito grande). Após o recebimento dessa mensagem, o nó de srcem reduzirá too o tamanho dos pacotes termina de acordo com oo tamanho MTU do caminho packet big. O procedimento quando do pacoteindicado for igualna oumensagem inferior ao menor MTU do caminho e todos os roteadores deixarem o pacote seguir até seu destino.
Apostila/E-B
ook do Curso
IPv6
Página 27
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Portanto, o processo de fragmentação do IPv6 é realizado somente na srcem, o que reduz a sobrecarga dos roteadores intermediários com cálculos dos cabeçalhos. Essa troca de mensagens pode ser feita várias vezes até que o menor MTU seja descoberto e o pacote alcance seu destino. Outra diferença entre o IPv4 e o IPv6 é referente ao envio de pacotes de tamanho elevado, chamados jumbograms. No IPv6 existe uma opção do cabeçalho de extensão hop-by-hop (chamada jumbo payload), que permite o envio de pacotes com cargas úteis (payload) entre 65.536 e 4.294.967.295 bytes de comprimento, o que no IPv4 existia uma limitação de 64Kbytes. 6.5 Mobilidade
O suporte à mobilidade no IPv6 permite que um dispositivo móvel se desloque de uma rede para outra, sem necessidade de alterar seu IP de srcem. Quando um dispositivo móvel se desloca da sua rede de srcem, ele obtém um novo endereço IPv6 na rede remota. Este endereço remoto pode ser obtido através de mecanismos de autoconfiguração stateless ou statefull. Para ter certeza de que os pacotes IPv6 cheguem a sua rede remota, é necessária a associação entre o endereço remoto (Care-of Address) e o endereço de srcem (Home Address). Essa associação é feita pelo agente de srcem , o qual registra o endereço remoto enviado em uma mensagem binding update pelo dispositivo móvel e responde com uma mensagem binding acknowledgement.
Apostila/E-B
ook do Curso
IPv6
Página 28
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Para que tudo isso seja possível um novo cabeçalho de extensão foi criado e chamado Mobility, além disso, foi adicionado um novo tipo de cabeçalho routing, o Type 2, para dar suporte ao recurso de mobilidade no IPv6. Foram criadas também quatro novas mensagens ICMPv6 para mobilidade:
Home Agent Address Discovery Request Home Agent Address Discovery Reply Mobile Prefix Solicitation Mobile Prefix Advertisement
6.6 QoS
–
Qualidade de Serviços
O QoS (Qualidade do Serviço) para redes é um conjunto de padrões e mecanismos que asseguram o desempenho de alta qualidade para aplicativos críticos. Os administradores de rede podem utilizar mecanismos de QoS para priorizar e gerenciar a taxa de envio do tráfego de rede de saída, assim como o atraso do envio desses pacotes. O uso desses mecanismos assegura que os recursos sejam utilizados de forma eficiente para fornecer o nível desejado de serviço. Foram designados dois campos do cabeçalho IPv6 para o tratamento de QoS: "classe de tráfego" (utilizando valores de DSCP) e "indicador de fluxo", ambos com o objetivo de implementar a priorização do fluxo de determinados pacotes. No cabeçalho do IPv4, o valor de (Differentiated ou DiffServ) no é armazenado no campo TOS (Tipo de Serviço). No DSCP cabeçalho IPv6, esseservices valor é armazenado campo Classe de Tráfego. Roteadores que oferecem suporte a DSCP verificam o valor de DSCP e posicionam o pacote a ser enviado em uma fila (priorização). Configurando as filas e valores de DSCP para roteadores em uma rede, é possível alcançar níveis diferenciados de serviço para tráfego marcado com o DSCP correto na rede. O QoS é importante, tanto em uma rede IPv4 como em uma rede Ipv6, para que determinados tipos de fluxos possam ser devidamente identificados, através da marcação da classe do tráfego, para que eles recebam a prioridade e a largura de banda necessária para seu funcionamento. Por exemplo, tráfegos de tempo real como voz e vídeo sobre IP necessitam de um mínimo de atraso e uma quantidade de largura de banda garantida. Com a marcação correta dos fluxos de voz e vídeo, seus pacotes podem receber o tratamento correto pelos roteadores (através das configurações de QoS) e não serão afetados mesmo sendo transmitidos com protocolos mais agressivos como o HTTP, FTP ou programas P2P.
Apostila/E-B
ook do Curso
IPv6
Página 29
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
6.7 Roteamento IPv6
Os protocolos de roteamento para o IPv6 continuam tendo a mesma base dos utilizados para o IPv4, porém recebem novos nomes. Os principais protocolos de roteamento interno para IPv6 (IGP) são:
RIPng (baseado no RIP versão 2 do IPv4) OSPFv3 (baseado no OSPFv2 do IPv4) IS-IS (não teve alteração de versão, apenas inserções de campos para tratativa do
endereçamento IPv6) Além dos protocolos IGP acima, ainda existe um protocolo proprietário do fabricante Cisco chamado EIGRP que tem também sua versão para IPv6 chamado EIGRPv6. Todos eles têm seu princípio de funcionamento, cálculo de melhor rota (métrica) e formas de trocar informações (updates) mantidas da mesma maneira que no IPv4, porém tudo agora baseado no endereçamento IPv6. Já para o roteamento externo (EGP) o BGP continua sendo utilizado, porém com uma extensão multiprotocolo (MBGP – BGP Multiprotocolo ou Multiprotocol Border Gateway Protocol), a qual possui as mesmas funcionalidades do BGP para IPv4, porém com capacidade de tratar endereços tanto do IP versão 4 como da versão 6.
Apostila/E-B
ook do Curso
IPv6
Página 30
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Capítulo 03 Implementando o IPv6 Agora nesse capítulo vamos analisar com mais profundidade aspectos práticos da ativação e configuração do IPv6 nos clientes, assim como estudar as opções de configuração automática dos clientes.
-
Objetivos do Capítulo Como podemos fazer essas configurações no IPv6? Quais as características de cada sistema operacional? Será que tudo é tão simples como para o IPv4? Nesse capítulo temos como objetivo responder a essas perguntas e também mostrar como ativar o IPv6 em alguns sistemas operacionais
Assim como você já deve ter estudado para o IPv4, uma rede com IPv6 possui clientes e servidores, pois não estamos alterando as camadas superiores da pilha do protocolo TCP/IP, portanto um cliente para se comunicar em rede precisará de um endereço IPv6 com um prefixo de rede (equivalente a máscara do IPv4), um roteador padrão para acessar endereços externos e um endereço de servidor DNS para realizar a tradução de nomes de domínio para endereços IPv6.
Ao final desse capítulo você deverá conhecer as possibilidades de configuração de endereços IPv6 nos principais sistemas operacionais de clientes e as mudanças em relação a servidores DNS e aplicativos.
Bons estudos e agora sim “seja bem vindo ao mundo
do IPv6”!
Apostila/E-B
ook do Curso
IPv6
Página 31
tel 41 3045.7810 - info
4 Alterações no Serviço de Resolução de Nomes ____________________________ 64
Sumário do Capítulo
4.1
1
dltec.com.br - www.dltec.com.br
Planejando a Rede - Subredes com I Pv6 33
Aspectos Práticos do DNS com IPv6 _ 64
5 Considerações sobre Aplicativos e Suporte ao IPv6 _____________________ 65
1.1 Endereços Globais de Unicast e Divisão em Subredes _________________________ 34
2 Ativando e Configurando IPv6 nos Clientes ____________________________ 37 2.1 IPv6
Opções de Configuração em Clientes 38
2.2
IPv6 no Windows XP ______________ 39
2.3
IPv6 no Windows 7 _______________ 42
2.3.1 Desabilitando Endereços Temporários no Windows ____________________________ 44 2.3.2 Verificando a Tabela de Vizinhos IPv6 no Windows 45 2.3.3 Informações Extras sobre IPv6 no Windows 45
2.4
IPv6 no Linux Ubuntu _____________ 46
2.4.1 2.4.2
Privacy Extension no Linux _________ 47 Verificando Vizinhos IPv6 no Linux __ 47
2.5
IPV6 no Mac OS X ________________ 48
2.6
IPv6 em Roteadores e Switches Cisco 49
2.6.1 Verificando as Interfaces IPv6 e Vizinhos em Roteadores Cisco _____________________ 51 2.6.2 Tabela de Vizinhos IPv6 em Roteadores Cisco 52 2.6.3 Uso do GNS3 para Criar Topologias e Laboratórios IPv6 ________________________ 52
2.7 Resumo dos Comandos Básicos para Troubleshooting e Monitoração do IPv6 em Clientes _____________________________ 53
3 Alocando IPs Dinamicamente – DHCPv6 e SLAAC _____________________________ 55 3.1
Atribuindo Endereços via DHCPv6
Statefull _____________________________ 56 3.2 Atribuindo Endereços com SLAAC e DHCPv6 Stateless______________________ 59 3.3 Exemplo de DHCPv6 Statefull e SLAAC com DHCPv6 Stateless em Roteadores Cisco 62 3.3.1 3.3.2
3.4
DHCPv6 Statefull ________________ 62 SLAAC com DHCPv6 Stateless ______ 63
Outros Termos Utilizados no DHCPv6 63
Apostila/E-B
ook do Curso
IPv6
Página 32
tel 41 3045.7810 - info
1
dltec.com.br - www.dltec.com.br
Planejando a Rede - Subredes com IPv6
Assim como para o IPv4, a implantação de uma rede IPv6 precisa da alocação de endereços para os dispositivos de redes, hosts e servidores de rede. Normalmente no IPv4 tínhamos endereços IP privativos, conforme RFC1918, na parte interna da rede ou Intranet e um ou mais endereços IPs públicos fornecidos por um ISP (provedor de Internet) configurados em uma ou mais interfaces de saída para a Internet. Normalmente nessa saída de Internet utilizamos no IPv4 um processo de tradução com o NAT (Network Address Translation) ou um servidor Proxy, pois o IP da Intranet é privativo e não roteado na Internet pública. Veja a figura a seguir.
Essa é uma grande diferença do IPv6, pois com a quantidade de endereços disponíveis não precisaremos mais utilizar redes privativas, portanto todos os endereços de host das empresas serão endereços de Internet válidos, possibilitando comunicação fim a fim entre dispositivos na Internet IPv6. Você verá que essa é uma vantagem do IPv6 que precisa de um cuidado maior com a segurança das redes, hosts e dispositivos de redes, pois todos os dispositivos estarão expostos na rede pública, o que com os IP’s privat ivos não acontecia, pois eles escondem os hosts da rede interna dificultando um ataque direto aos hosts da rede. Isso traz uma preocupação maior com a implantação das redes IPv6 no que tange aos firewalls, IPS’s e demais dispositivos de
segurança. Mais para frente estudaremos os conceitos de segurança com o IPv6. Um passo anterior à configuração é verificar se os dispositivos de rede suportam IPv6, assim como os hosts, servidores e demais clientes de rede onde o IP versão 6 será utilizado como protocolo de rede.
Apostila/E-B
ook do Curso
IPv6
Página 33
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
1.1 Endereços Globais de Unicast e Divisão em Subredes
Assim como no IPv4 o IPv6 foi dividido em diversas faixas pela IANA para divisão entre as regiões que administram os endereços de Internet, seus ISPs e empresas. Essa divisão gerou o que é chamad o de “Global Address Space” e na Internet a faixa reservada para Unicast é a 2000::/3, o que resulta na faixa iniciando em 2000:0:0:0:0:0:0:0 até 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF para endereçamento. Portanto a corresponde IANA dividiuao essa faixareservado de endereços cadaalocar uma na dasAmérica regiões Latina. (RIR) eO oNIC.br bloco 2800::/12 espaço para oentre LACNIC (responsável pelas alocações do IPv6 no Brasil) por sua vez, trabalhará com um /16 que faz parte deste /12. Essa divisão de endereços é top-down, ou seja, a IANA definiu um bloco de IPv6 para cada região ou RIR, os quais passarão para seus ISPs, que por sua vez distribuirão suas faixas de IPv6 em regiões para seus clientes e usuários finais, possibilitando uma agregação de rotas mais eficiente do que a atual para o IPv4. No projeto do IPv6 para sair de uma região para outra apenas uma rota IPv6 será necessária, por exemplo, para que um roteador de borda da Europa alcance determinada rede nos Estados Unidos apenas uma rota será necessária, assim como para um cliente alcançar as rotas do seu ISP também apenas uma rota será necessária, reduzindo a tabela de roteamento e aumentando a eficiência do IPv6 em relação ao roteamento no IPv4. Os endereços globais de Unicast ou “Global Routing Prefix” são divididos em porção de rede e porção de host, porém a porção de rede terá algumas “fatias” que representam a região. Por
exemplo, 2800::/12 representa que é um IP da LACNIC (América Latina), depois terá mais um pedaço que representará o Brasil e omais dopara seu oservice ou ISP, normalmente um /32. Quando o ISP(/16) passar blocoum depedaço endereço cliente provider será passado um /48 aí ele terá mais 16 bits para fazer subrede, uma vez que normalmente os hosts utilizam 64 bits para sua identificação. Veja a figura abaixo com um resumo do que será um endereço de Internet em IPv6. Temos três campos básicos, o de identificação do ISP (/48) que tem dentro dele também a identificação do RIR e da entidade local que administra os IPv6 (por exemplo, NIC.BR), depois mais 16 bits de subrede e 64 bits para host.
Note que a máscara de subrede utiliza a notação Classless Interdomain Routing (CIDR) com a barra “/” e a quantidade de bits de rede da máscara, conforma já citada anteriormente.
E o prefixo ou rede IPv6 é representada como um endereço IPv6 normal, porém com a porção de hosts toda em zero (assim como já era no IPv4). Portanto a notação e simplificação de um prefixo IPv6 é como para um endereço comum do IPv6 e sempre precisamos ter os dois pontos no final seguidos da barra (/) e o número de bits de subrede, por exemplo:
Apostila/E-B
ook do Curso
IPv6
Página 34
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
2800::/12 que é a faixa de IPs da América Latina é o mesmo que 2800:0000:0000:0000:0000:0000:0000:0000, porém as sequências de zero foram substituídas pelo “::”.
Seria errado escrever 28::/12, porque somente o zero a esquerda pode ser suprimido. Seria errado escrever 2800/12, porque 2800 não é um IPv6
Veja o exemplo na figura abaixo onde a IANA fornece o bloco 2340::/12 para a ARIN (RIR que representa a região de Américas), a qual fornece para o ISP1 a faixa 2340:1111::/32, o qual alocou o bloco 2340:1111:AAAA::/48 para seu cliente chamado Company1.
Dentro da rede de Company1 ele pode agora subdividir esse /48 em diversas subredes conforme suas necessidades internas. Por exemplo, na figura abaixo temos quatro subredes alocadas: 2340:1111:AAAA:0001::/64 para a LAN de R1; 2340:1111:AAAA:0002::/64 para a WAN entre R1 e R2; 2340:1111:AAAA:0003::/64 para a LAN de R3 2340:1111:AAAA:0004::/64 para a WAN entre R1 e o roteador do ISP.
Apostila/E-B
ook do Curso
IPv6
Página 35
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Com 16 bits o cliente tem 2^16 subredes ou 65.536 subredes com 64 bits de host ou 18,7x10^18 endereços de hosts. Devido a esse número elevado de hosts é possível quebrar mais ainda as subredes para um melhor aproveitamento no endereçamento de redes WAN ou dispositivos que utilizam IPs fixos. Por exemplo, pegar a subrede 2340:1111:AAAA:0002::/64 e dividi-la em subredes /112, ou seja, 48 bits para subrede (mais que o espaço do IPv4 de 32 bits) e 16 bits para host, dando mais 281 trilhões de subredes com 65536 IPs versão 6 cada subrede. Esta é a lógica para você planejar e endereçar seus laboratórios e cenários de estudo relativos ao IPv6 ou até mesmo a implantação de IPv6 na empresa onde você trabalha, por exemplo, veja a mesma figura anterior já com os alguns hosts e endereços de interfaces abaixo:
Para verificar a alocação de prefixos atuais pela IANA consulte o link: http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-addressassignments.xml Outra opção de endereçamento interno é com a utilização de endereços locais de unicast ou ULA (FD00::/8) divididos em subredes, porém não está previsto o NAT de IPv6 para IPv6 como no IPv4, portanto acredita-se que essa solução com o tempo será simplesmente abandonada, porém você pode ver esse tipo de endereçamento em exemplos práticos.
Apostila/E-B
ook do Curso
IPv6
Página 36
tel 41 3045.7810 - info
2
dltec.com.br - www.dltec.com.br
Ativando e Configurando IPv6 nos Clientes
No IPv4 podemos atribuir IPs para hosts e dispositivos de rede através de IPs fixos ou utilizando um servidor DHCP, sendo que para um host se comunicar na Internet ele precisa de no mínimo um endereço IP, Máscara, gateway padrão e pelo menos um endereço de servidor DNS. Os requisitos para que um host IPv6 navegue na Internet são os mesmos, continuamos precisando de um IPv6 válido (dentro da faixa de global Unicast 2000::/3), tamanho do prefixo de rede (similar à mascara com notação CIDR), um gateway ou roteador padrão e também pelo menos um endereço de servidor DNS para tradução das URLs para endereços IPv6. Para configurar um IPv6 podemos utilizar IP fixo (configuração estática pelo administrador de redes) e também as seguintes novas formas de atribuição de endereço IPv6 que não existem no IPv4:
IP fixo com ou sem EUI-64: o EUI-64 atribui o endereço de host do IPv6 utilizando o
endereço MAC da interface de rede como base, porém podemos configurar um IPv6 fixo completo como em interfaces IPv4, por exemplo, 2340:1111:AAAA:0002::1/64. Autoconfiguração stateless (Stateless Address Autoconfiguration ou SLAAC) : permite que o computador utilize informações coletadas através do protocolo NDP (Neighbor Discovery Protocol) para atribuir automaticamente um IP a sua interface utilizando um prefixo de rede anunciado por um roteador mais o EUI-64 para definir a porção de host do seu endereço. Configuração via DHCPv6 stateless: utilizada em conjunto com a autoconfiguração para atribuir as demais informações necessárias para que o computador navegue na Internet ou utilize determinados serviços de rede, tais como endereço do servidor DNS ou de um servidor TFTP para telefonia IP. Configuração via DHCPv6 statefull: a função de um servidor DHCP statefull, ou seja, que guarda o estado da atribuição, é a mesma que o conceito para o IPv4, ou seja, o IPv6 do host, assim como sua máscara, roteador padrão e servidor DNS serão passados pelo servidor DHCP, o qual recebe o nome de DHCPv6. Existem algumas diferenças, tal como no DHCPv6 se utiliza multicast e não unicast para troca de mensagens entre o cliente DHCPv6 e seu servidor, porém o funcionamento e mensagens básicas permanecem as mesmas. SLAAC com RDNSS: o RDNSS permite que a autoconfiguração passe endereços de DNS em seus anúncios, possibilitando que toda a informação necessária para o Host seja passada em seu anúncio do NDP, porém essa opção não é ainda suportada por alguns sistemas operacionais.
A palavra statefull e stateless significam “com informações do estado” e “sem informações de estado”. Lembre-se do CCNA que os servidores DHCP no IPv4 guardam as informações do
estado dos clientes, tais como o IP que foi alocado pelo host, tempo de empréstimo desse IP, o endereço MAC do computador que alocou determinado IP, etc., ou seja, o DHCPv4 é statefull, pois ele guarda o estado de cada alocação de IPv4 feita por ele. Nos servidores DHCPv6 nós podemos ter as duas opções, stateful igual ao IPv4 ou stateless, na qual o servidor apenas fornecerá algumas informações mas não vai guardar o estado dessas informações fornecidas. Portanto, se usarmos a opção de IPv6 fixo ou DHCPv6 statefull os clientes já estarão com todas as informações necessárias para funcionar.
Apostila/E-B
ook do Curso
IPv6
Página 37
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
2.1 Opções de Configuração em Clientes IPv6
O suporte ao protocolo IP versão 6 é definido pelo sistema operacional, tanto em clientes como em servidores ou dispositivos de rede, tais como roteadores e switches. Atualmente a maioria dos sistemas operacionais suportam o protocolo IPv6, porém existem particularidades de configurações e opções de funcionamento em cada protocolo. Em pesquisa realizada pela “ IPv6 Intelligence” em 2009 o suporte ao IPv6 pelos principais
sistemas operacionais atualmente utilizados é realizado por padrão, com exceção do Windows XP que precisa ser habilitado, veja tabela abaixo. Fonte: http://ipv6int.net/systems/index.html
Na época o Windows 7 ainda não estava com a definição sobre o IPv6, porém já sabemos atualmente que tanto o 7 como o Windows 8 suportam IPv6, nos quais o protocolo já vem habilitado por padrão. Para uma lista mais atualizada consulte o link abaixo ou procure as especificações do fabricante que você pretende ativar o IPv6: http://en.wikipedia.org/wiki/Comparison_of_IPv6_support_in_operating_systems Você vai notar na tabela do link anterior uma coluna indicando o suporte ao “ Recursive DNS Server Option” ou RDNSS. A função do RDNSS é transmitir um ou mais endereços IPv6 de
servidores DNS. Ele é enviado nas mensagens Router Advertisement e deve ser ignorado em outras mensagens, porém nem todos os sistemas operacionais suportam essa facilidade. Lembrem que a autoconfiguração não passa o DNS, com essa facilidade e a autoconfiguração a necessidade de um servidor DHCPv6 seria eliminada. Um teste simples para verificar se o IPv6 está realmente ativado em seu sistema operacional é realizando um ping para o IPv6 de loopback “::1”.
Apostila/E-B
ook do Curso
IPv6
Página 38
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Podemos também utilizar o “ping -6 ::1” no Windows. No Linux e Mac OS X o comando para o ping é o “ping6 ::1”. 2.2 IPv6 no Windows XP
O protocolo IPv6 no Windows XP não vem habilitado por padrão, portanto antes de configurar um endereço precisamos ativá-lo. Para ativação e configuração do IPv6 precisaremos utilizar o prompt de comando e também os comandos disponíveis via “netsh”, já a verificação pode ser via “ipconfig /all” ou através de comandos do netsh.
Veja abaixo o comando e a mensagem de sucesso na ativação do IPv6:
Para desinstalar o IPv6 basta entrar com o comando “ipv6 uninstall” e reinicializar o
computador. Uma vez instalado o IPv6, o XP ativa o SLAAC para configuração do seu IPv6 global unicast (endereço de Internet) e ao mesmo tempo já cria a loopback “::1” e seu endereço de link local com o prefixo FE80::/10 utilizando seu MAC e o EUI-64 para criar o interface-ID. Na figura a seguir temos o campo IP marcado com o IPv6 de link local criado pelo XP e também três endereços IPv6 de DNS que são gerados automaticamente pelo próprio sistema operacional.
Apostila/E-B
ook do Curso
IPv6
Página 39
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
O XP não aceita configuração via painel de controle como mostramos no capítulo anterior para o Windows 7, portanto para configurar um endereço manual é preciso fazer via linha de comando utilizando o Netsh. Veja abaixo os comandos para configurar os parâmetros do IPv6 via linha de comando:
Definir o endereço IPv6: netsh interface ipv6 add address " Conexão de rede local" [endereço-ipv6-do-host] Definir gateway padrão: netsh interface ipv6 add route ::/0 " Conexão de rede local" [ipv6-do-gateway] Adicionar DNS primário: netsh interface ipv6 add dns " Conexão de rede local" [ ipv6-doDNS-primário] Adicionar DNS secundário: netsh interface ipv6 add dns " Conexão de rede local" [ipv6do-DNS-secundário] index=2
Por exemplo, temos um computador com IPv6 que deve ter o endereço 2001::10/64, seu gateway é o endereço 2001::1 e servidor DNS 2001::45, sendo que sua conexão de rede se chama “Local Area Connection” (é o nome qu e o Windows dá para a conexão de rede):
O “Ok” após a execução do comando indica que a configuração foi aceita. Podemos agora
verificar com o ipconfig /all se os endereços foram adicionados corretamente, conforme figura a seguir.
Apostila/E-B
ook do Curso
IPv6
Página 40
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Outra maneira de configurar e verificar os parâmetros do IPv6 é digitando “netsh” no prompt e depois “interface ipv6”. Agora estamos em um contexto relativo ao IPv6 e podemos utilizar o comando “show address” para verificar os endereços IPv6 configurados, veja exemplo a s eguir:
Note que a conexão local foi chamada de “Interface 5”, já os IPs de loopback estão configurados na “Interface 1”, por isso no ipconfig aparece um %5 após o endereço de link local
da interface física, pois ele representa o índice da interface. As interfaces 2 e 4 representam túneis Teredo criados automaticamente pelo sistema operacional. É importante notar que mesmo com essa configuração estática o SLAAC ainda está habilitado, portanto se existir um roteador enviando mensagens de RA (router advertisement) o computador terá um IPv6 fixo e outro autoconfigurado. Você deve saber que as opções de configuração do IPv6 via XP são limitadas, por exemplo, o DHCPv6 não é suportado de forma nativa nele, apenas o SLAAC. A seguir vamos estudar o IPv6 no Windows 7, onde muitas das características e comandos são os mesmos estudados para o XP.
Apostila/E-B
ook do Curso
IPv6
Página 41
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
2.3 IPv6 no Windows 7
No Windows 7 o IPv6 já vem habilitado por padrão utilizando o SLAAC ou DHCPv6 como modo de atribuição dinâmica de seu endereço IPv6 local. Normalmente se os hosts devem utilizar o SLAAC ou DHCPv6 é configurado no roteador e repassado via mensagens de RA através dos bits M e O. Lembre-se que já estudamos que o bit M em “1” significa que o host deve utilizar um servidor DHCPv6 Statefull para atribuir seu endereço local. Já o bit O setado é utilizado em conjunto com o SLAAC para indicar ao host que ele deve pegar informações adicionais, tal como o DNS, de um servidor DHCPv6 Stateless. Atualmente as versões de Windows não suportam o uso de RDNSS para atribuição do servidor DNS via mensagens NDP, mais especificamente pelo router advertisement. Uma vantagem do Windows 7 e 8 sobre o XP é que podemos configurar os endereços IPv6 das interfaces através da Central de Rede e Compartilhamento, assim como para o IPv4, porém os mesmos comandos netsh utilizados no Windows XP anteriormente valem para as versões 7 e 8.
Veja abaixo a saída do comando ipconfig /all de um computador com Windows 7 conectado a um roteador da Cisco sem o prefixo IPv6 global estar configurado.
Apostila/E-B
ook do Curso
IPv6
Página 42
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Com a saída acima você vai notar um detalhe diferente em relação ao XP, o endereço IPv6 de link local não está utilizando o padrão EUI-64, pois se estivesse utilizando o endereço seria FE80::C218:85E5:EEDB, uma vez que o MAC da placa de rede sem fio é C0-18-85-E5-EE-DB. Já o %20 representa ainda a interface que esse link local está configurado, você pode ver os índices das interfaces com o comando “ netsh interface ipv6 show interfaces ”, veja saída a seguir confirmando que a conexão de rede sem fio tem o índice (Ind) 20.
Voltando ao IPv6 de link local não utilizar o EUI-64, isso se deve porque o Windows 7 e 8 utilizarem seu endereçamento com base na RFC 3041, a qual foi mais tarde atualizada na RFC 4941, chamada “Privacy Extensions for Stateless Address Autoconfiguration in IPv6”. Essa RFC ao invés de utilizar o MAC diretamente exposto no endereço de link local, utiliza um hash MD5 para éesconder o em endereço físico dofica host. RFC trata do host, pois EUI-64 se seu MAC mostrado seu endereço fácilEssa descobrir qualda seuprivacidade endereço global unicast ou fazer ataques de camada 2. Essa mesma técnica é utilizada para esconder os endereços IPv6 de unicast global, veja a saída do comando abaixo após o host pegar via SLAAC seu prefixo para autoconfiguração.
Apostila/E-B
ook do Curso
IPv6
Página 43
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Esses endereços temporários tem um tempo de vida e são trocados por padrão a cada 7 dias. Com o comando “ netsh interface ipv6 show privacy ” podemos ver essas configurações conforme saída mostrada na sequência. Note na saída que os endereços temporários estão habilitados e com um tempo de vida máximo de 7 dias, além disso, a detecção de endereços duplicados (DAD) está ativa para eles.
2.3.1
Desabilitando Endereços Temporários no Windows
Os endereços temporários dão privacidade aos hosts, porém acabam dificultando o gerenciamento da rede, por isso muitas vezes precisam ser desabilitados, fazendo com que a placa de rede utilize o padrão de interface-ID via EUI-64. Para fazer essa configuração utilize os comandos abaixo:
netsh interface interface ipv6 ipv6 set set privacy global randomizeidentifiers=disabled netsh state=disabled
Note na saída do ipconfig /all após a aplicação dos comandos e desativação/ativação da conexão de rede sem fio abaixo, verificando que agora os interface-IDs estão conforme o EUI64.
Essa configuração é recomendada quando estamos fazendo testes em laboratório, pois fica mais simples a identificação dos hosts.
Apostila/E-B
ook do Curso
IPv6
Página 44
tel 41 3045.7810 - info
2.3.2
dltec.com.br - www.dltec.com.br
Verificando a Tabela de Vizinhos IPv6 no Windows
Uma vez configurado o IPv6 podemos utilizar o comando “netsh interface ipv6 show neighbors” para verificar a tabela de vizinhança do IPv6, a qual é montada com as mensagens de NA e NS do protocolo de descoberta de vizinhos (NDP). Esse comando é equivalente ao “arp –a” utilizado no IPv4, porém lembre -se que no IPv6 não
existe mais ARP, pois não existe mais suporte ao broadcast! A resolução de endereços de camada-2 foi incorporada pelo ICMPv6, mais especificamente pelo NDP (Neighbor Discovery Protocol). Veja saída a seguir com um exemplo da tabela de vizinhos NDP.
2.3.3
Informações Extras sobre IPv6 no Windows
Por padrão o Windows 7 e 8 dão preferência ao IPv6 em relação ao IPv4, por exemplo, se você tiver os dois protocolos configurados, onde ambos tem DNSs configurados e você digita HTTP://www.cisco.com no seu browser, por padrão o sistema operacional irá utilizar a interface IPv6 e, caso via IPv6 esse nome não seja resolvido, o IPv4 será utilizado. Para alterar esse comportamento ou desabilitar o IPv6 no Windows 7 a Microsoft disponibilizou uma página com diversos “Fixes” que você encontra em:
http://support.microsoft.com/kb/929852 Nessa página você pode baixar arquivos executáveis para alterar desabilitar ou habilitar ferramentas padrões do Ipv6 disponibilizadas no Windows 7 e algumas outras versões, incluindo apagar interfaces túneis que são criadas por padrão pelo Windows. Se você percebeu nas telas anteriores haviam algumas interfaces marcadas como “Túneis ISATAP” ou “Teredo”,
os quais serão estudados em capítulo posterior. A Microsoft não recomenda desabilitar o IPv6, porém se você não for implementar e utilizar em sua rede doméstica ou corporativa é sim recomendado que o IPv6 seja desativado, pois ele pode ser porta de entrada para ataques muito simples de serem realizados, porém vamos conversar mais sobre o assunto no capítulo sobre segurança em redes IPv6.
Apostila/E-B
ook do Curso
IPv6
Página 45
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
2.4 IPv6 no Linux Ubuntu
No Linux o IPv6 também já vem habilitado por padrão, porém você pode confirmar com o comando “ping6 –c5 ::1”. Por padrão a interface IPv6 do Linux vem configurada para utilizar a
autoconfiguração (não mostrado na configuração), porém podemos utilizar DHCPv6 ou endereços IPv6 estáticos opcionalmente. Para que a autoconfiguração ou SLAAC seja explícita no arquivo de configuração adicione a linha “iface eth0 inet6 auto" no arquivo “/etc/network/interfaces”. Uma opção para ativar um cliente DHCPv6 é utilizar o comando “ sudo apt-get install isc-dhcpclient” e depois “sudo dhclient
”, por exemplo, “sudo dhclient eth0”. Para configurar um endereço IPv6 estático adicione ao arquivo “/etc/network/interfaces” os
seguintes comandos: iface eth0 inet6 static pre-up modprobe ipv6 address endereço-IPv6 netmask 64 gateway endereço-IPv6-do-gateway dns-nameservers endereço-IPv6-do-gateway Em seguida reinicie a interface de rede com o comando “ifup –force eth0” e verifique com o ifconfig se o endereço configurado é mostrado na interface eth0 ou com o comando “ ip addr show”.
Veja um exemplo de configuração de IPv6 estático abaixo, onde utilizaremos o endereço 2001:1111:1234:5678::a157/64 na interface eth0 do computador. auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp iface eth0 inet6 static address 2001:1111:1234:5678::a157 netmask 64 gateway 2001:1111:1234:5678::1 dns-nameservers 2001:1111:1234:5678::20 dns-search dltec.com.br
Apostila/E-B
ook do Curso
IPv6
Página 46
tel 41 3045.7810 - info
2.4.1
dltec.com.br - www.dltec.com.br
Privacy Extension no Linux
Assim como para o Windows, o Linux também utiliza extensões de privacidade para proteger o endereço IPv6 global Unicast das interfaces configuradas, além disso, também utilizam endereços IPv6 temporários. Veja saída abaixo. dltec ~ $ip addr show 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128forever scope host valid_lft preferred_lft forever 2: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:7c:78:ca brd ff:ff:ff:ff:ff:ff inet 192.168.1.42/24 brd 192.168.1.255 scope global eth1 inet6 2001:db8:1111:0:b845:43f2:8650:c5f0/64 scope global temporary dynamic valid_lft 603515sec preferred_lft 84515sec inet6 2001:db8:1111:0:a00:27ff:fe7c:78ca/64 scope global dynamic valid_lft 2591928sec preferred_lft 604728sec inet6 fe80::a00:27ff:fe7c:78ca/64 scope link valid_lft forever preferred_lft forever 3: eth2: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:13:fb:d3 brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 brd 192.168.56.255 scope global eth2 inet6 fe80::a00:27ff:fe13:fbd3/64 scope link valid_lft forever preferred_lft forever dltec ~ $ 2.4.2
Verificando Vizinhos IPv6 no Linux
Os vizinhos descobertos via NDP no Linux podem ser verificados com o comando “ip -6 neighbor show”, veja a saída do comando abaixo.
dltec ~ $ip -6 neighbor show fe80::1 dev eth1 lladdr 00:1e:13:0b:1a:ef router STALE dltec ~ $ Note que apenas o roteador padrão é conhecido via NDP, portanto vamos pingar o host com IPv6 2001:db8:1111:0:c218:85ff:fee5:eedb e verificar novamente a tabela de vizinhos IPv6. dltec ~ $ping6 -c5 2001:db8:1111:0:c218:85ff:fee5:eedb PING 2001:db8:1111:0:c218:85ff:fee5:eedb(2001:db8:1111:0:c218:85ff:fee5:eedb) 56 data bytes 64 bytes from 2001:db8:1111:0:c218:85ff:fee5:eedb: icmp_seq=1 ttl=64 time=0.810 ms 64 bytes from 2001:db8:1111:0:c218:85ff:fee5:eedb: icmp_seq=2 ttl=64 time=0.568 ms 64 bytes from 2001:db8:1111:0:c218:85ff:fee5:eedb: icmp_seq=3 ttl=64 time=0.723 ms 64 bytes from 2001:db8:1111:0:c218:85ff:fee5:eedb: icmp_seq=4 ttl=64 time=0.389 ms 64 bytes from 2001:db8:1111:0:c218:85ff:fee5:eedb: icmp_seq=5 ttl=64 time=0.447 ms --- 2001:db8:1111:0:c218:85ff:fee5:eedb ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 3998ms
Apostila/E-B
ook do Curso
IPv6
Página 47
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
rtt min/avg/max/mdev = 0.389/0.587/0.810/0.161 ms dltec ~ $ dltec ~ $ip -6 neighbor show 2001:db8:1111:0:c218:85ff:fee5:eedb dev eth1 lladdr c0:18:85:e5:ee:db REACHABLE fe80::1 dev eth1 lladdr 00:1e:13:0b:1a:ef router STALE dltec ~ $
Com esse teste podemos confirmar que ambos os hosts estão se comunicando via IPv6! 2.5 IPV6 no Mac OS X
Assim como para os dois sistemas operacionais anteriores, o Mac OS X também traz o IPv6 ativado por padrão em suas interfaces, verifique em “System Preferences > Network” e clique em “Advance…”, note que em “Configure IPv6” está setado como “automatic”.
Apostila/E-B
ook do Curso
IPv6
Página 48
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
2.6 IPv6 em Roteadores e Switches Cisco
Em roteadores e switches Cisco o suporte ao IPv6 depende da versão do sistema operacional em uso ou IOS (Interetwork Operating System), além disso, o roteamento IPv6 não vem habilitado por padrão e precisa ser ativado antes da configuração completa dos serviços IPv6, principalmente em roteadores. Ao configurar um endereço IPv6 na interface LAN de um roteador Cisco, automaticamente ele repassará o prefixo configurado e seu próprio IPv6 como gateway padrão via NDP (mensagem de RA) para os clientes configurados com autoconfiguração stateless (SLAAC). A configuração do IPv6 deve ser realizada em modo privilegiado iniciando com a ativação do roteamento IPv6 Unicast (comando “ipv6 unicast-routing”) e depois realizando a configuração dos endereços nas interfaces. As interfaces IPv6 dos roteadores Cisco suportam configuração de IPv6 estático, via EUI-64, SLAAC ou DHCPv6 cliente statefull, veja os comandos suportados abaixo. Habilitando o IPv6: “ipv6 unicast-routing” Configurando IPv6 em interfaces:
interface fastethernet 0/0 ipv6 enable ipv6 address /64 eui-64 ipv6 address ipv6 address autoconfig dhcp ipv6 address link-local
Uma interface é configurada em modo de configuração de interface e podemos apenas ativar o IPv6 para criar um endereço de link local via EUI- 64 com o comando “ipv6 enable”. Já o comando “ipv6 address” permite configurar endereços IPv6 fixos com ou sem EUI -64 (segundo e terceiro comandos), com a opção autoconfig ativamos o SLAAC, na opção dhcp ativamos o cliente DHCPv6 e ainda podemos definir um endereço de link local estático, ou seja, um link local que terá um interface-ID bem definido, pois não utilizará o EUI-64. Abaixo segue um exemplo de configuração de interface ativando a pilha dupla, ou seja, com endereço IPv6 e IPv4 simultaneamente: Interface Fastthernet0/0 ip address 192.168.1.254 255.255.255.0 ipv6 address 2001:db8:123:1::2/64
Com a configuração acima o roteador consegue responder para hosts em ambos os protocolos, IP versão 4 e/ou 6, assim como o prefixo 2001:db8:123:1::/64 e o IPv6 de gateway 2001:db8:123:1::2/64 serão repassados aos hosts da rede local do roteador via NDP (mensagem de RA) para que eles possam se autoconfigurar e comunicar-se com outros hosts e até com a Internet via IPv6.
Apostila/E-B
ook do Curso
IPv6
Página 49
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Veja abaixo outro exemplo prático da configuração em um roteador ADSL Cisco 877 conectado a um provedor de Internet que tem suporte ao protocolo IPv6. 1. Ativando o roteamento IPv6 e o encaminhamento através do CEF:
ipv6 unicast-routing ipv6 cef
Habilitando o IPv6 na interface WAN conectada à rede ADSL: interface Dialer0 ipv6 address NODE-PD ::FF:0:0:0:1/128 ipv6 enable ipv6 dhcp client pd NODE-PD rapid-commit 2. Criando rota padrão estática apontando para o ISP:
ipv6 route ::/0 Dialer0
Com o comando acima o endereço IPv6 da interface WAN irá pegar o prefixo do provedor de Internet e inserir o interface- ID “::FF:0:0:0:1/128”, porém com um comprimento de 128 bits (como se fosse uma máscara /32 do IPv4). 3. Habilitando o endereço IPv6 na interface LAN e DHCPv6 stateless para informar endereços dos DNSs primário e secundário:
interface Vlan1 ipv6 address NODE-PD ::1/64 ipv6 enable ipv6 nd other-config-flag ipv6 dhcp server NODE-DHCPV6 O comando “ipv6 nd other -config-flag” ativa o bit O que indica aos hosts para procurarem por
opções adicionais via DHCPv6. 4. Ativando o serviço DHCPv6 stateless para configuração do DNS nos clientes:
ipv6 dhcp pool NODE-DHCPV6 dns-server 2001:44B8:1::1 dns-server 2001:44B8:2::2
Apostila/E-B
ook do Curso
IPv6
Página 50
tel 41 3045.7810 - info
2.6.1
dltec.com.br - www.dltec.com.br
Verificando as Interfaces IPv6 e Vizinhos em Roteadores Cisco
Para verificar as configurações das interfaces IPv6 em roteadores Cisco inicie com o comando “show ipv6 interface brief”, onde temos um resumo das interfaces e seus endereços IPv6 de
Unicast configurados, veja exemplo do comando abaixo. DlteC-FW-GW#show ipv6 interface brief FastEthernet0/0 [up/up] unassigned FastEthernet0/1 [up/up] unassigned FastEthernet0/1.10 [up/up] FE80::1 2001:DB8:1111::1 FastEthernet0/1.20 [up/up] FE80::21E:13FF:FE0B:1AEF 2000:1::1 FastEthernet0/1.30 [up/up] FE80::21E:13FF:FE0B:1AEF 2000:2::1 DlteC-FW-GW#
Os endereços iniciados com FE80 são links locais e os globais unicast estão logo abaixo, além disso, interfaces não configuradas aparecem como unassigned. Para verificar as configurações completas utilize o comando “show ipv6 interface”, podendo
especificar a interface conforme saída do comando abaixo. DlteC-FW-GW#show ipv6 interface fastEthernet 0/1.10 FastEthernet0/1.10 is up, line protocol is up IPv6 is enabled, link-local address is FE80::1 No Virtual link-local address(es): Description: $FW_OUTSIDE$ Global unicast address(es): 2001:DB8:1111::1, subnet is 2001:DB8:1111::/64 Joined group address(es): FF02::1 FF02::2 FF02::1:FF00:1 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 29387) ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses. DlteC-FW-GW#
Em amarelo temos o IPv6 de link local, endereço global de unicast e também o prefixo que será anunciado via NDP através dos routers advertisements.
Apostila/E-B
ook do Curso
IPv6
Página 51
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Em verde temos os grupos de multicast que a interface foi adicionada, lembre-se que os endereços de multicast iniciam com FF, sendo que o FF02::1 é o grupo de todos os hosts da rede local, já o FF02::2 é o grupo de todos os roteadores e o endereço FF02::1:FF00:1 representa o endereço chamado de Solicited-Node utilizado pelo NDP para obtenção dos endereços de camada-2 de hosts na rede local. Em cinza temos o DAD ou detecção de endereços duplicados, o qual faz uma tentativa após a interface ativada para verificar se existe outro IPv6 igual na rede, e também o temporizador do envio dos RAs que será realizado a cada 200s, ou seja, a cada 3 minutos e vinte segundos. Em azul temos a indicação de que a interface utiliza o SLAAC para passar informações de prefixo e gateway para os hosts. 2.6.2
Tabela de Vizinhos IPv6 em Roteadores Cisco
Para verificar a tabela formada pelo NDP em roteadores Cisco podemos utilizar o comando “show ipv6 neighbors”, veja saída do comando abaixo.
DlteC-FW-GW#show ipv6 neighbors IPv6 Address 2000::D572:39DC:8A47:12CE FE80::B0DA:76EE:A6EB:E46F 2001:DB8:1111:0:A08:C2FF:FEAA:E1B6 FE80::C218:85FF:FEE5:EEDB FE80::A08:C2FF:FEAA:E1B6 2001:DB8:1111:0:C218:85FF:FEE5:EEDB 2001:DB8:1111:0:D572:39DC:8A47:12CE FE80::A084:ED7E:50D8:2B36 2001:DB8:1111:0:C8C1:14AF:FD12:7F2C
Age 184 183 180 125 180 125 182 85 93
Link-layer Addr 90e6.bad0.3f07 90e6.bad0.3f07 0808.c2aa.e1b6 c018.85e5.eedb 0808.c2aa.e1b6 c018.85e5.eedb 90e6.bad0.3f07 c018.85e5.ecbf c018.85e5.ecbf
State STALE STALE STALE STALE STALE STALE STALE STALE STALE
Interface Fa0/1.10 Fa0/1.10 Fa0/1.10 Fa0/1.10 Fa0/1.10 Fa0/1.10 Fa0/1.10 Fa0/1.10 Fa0/1.10
DlteC-FW-GW# 2.6.3
Uso do GNS3 para Criar Topologias e Laboratórios IPv6
Uma ferramenta muito útil que você pode utilizar para estudar e fazer laboratórios de teste do protocolo IPv6 é o GNS3. Para quem está acostumado com equipamentos do fabricante Cisco com certeza já utilizou ou ouviu falar no GNS3, porém para quem não é do mundo Cisco vale a pena aprender o básico para criar seus laboratórios de teste. O GNS3 a grosso modo virtualiza roteadores da Cisco, portanto ele não é simulador e sim um roteador real, o qual ainda possibilita interação com seu próprio computador, máquinas virtuais (VMs) ou até outros hosts da sua rede local, podendo fazer topologias reais e analisar como o protocolo funciona no mundo real. Nesse capítulo você verá, de forma ilustrativa, a saída de alguns comandos em roteadores cisco utilizando o GNS3. Se você quer aprender mais sobre o mundo Cisco confira nossos cursos online Cisco CCNA Network, CCNA Security e CCNA Voice.
Apostila/E-B
ook do Curso
IPv6
Página 52
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
2.7 Resumo dos Comandos Básicos para Troubleshooting e Monitoração do IPv6 em Clientes
Abaixo seguem tabelas com comandos úteis para o troubleshooting em redes IPv6 em diversos sistemas operacionais. Apple OS X, *BSD
Ping para IPv6
/sbin/ping6
Traceroute para IPv6
/usr/sbin/traceroute6
Informações das Interfaces /sbin/ifconfig Tabela de Roteamento IPv6 /usr/sbin/netstat -f inet6 -rn Tabela de Vizinhos IPv6
/usr/sbin/ndp -an
Windows: Vista, 7, Server 2008 and higher
Ping para IPv6
ping -6
Traceroute para IPv6
tracert -6
Informações das Interfaces ipconfig /all Tabela de Roteamento IPv6 netsh interface ipv6 show route Tabela de Vizinhos IPv6
netsh interface ipv6 show neighbors
Linux
Ping para IPv6
ping6
Traceroute para IPv6
traceroute -6
Informações das Interfaces ip address show Tabela de Roteamento IPv6 netstat -A inet6 -rn Tabela de Vizinhos IPv6
ip -6 neighbor show
Solaris
Ping para IPv6
/usr/sbin/ping -A inet6
Traceroute para IPv6
/usr/sbin/traceroute -A inet6
Informações das Interfaces /bin/netstat -ain Tabela de Roteamento IPv6 /bin/netstat -f inet6 -rn Tabela de Vizinhos IPv6
/bin/netstat -pn -f inet6
Apostila/E-B
ook do Curso
IPv6
Página 53
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Cisco
Ping para IPv6
ping
Traceroute para IPv6
traceroute
Informações das Interfaces Show ipv6 interface [brief] Tabela de Roteamento IPv6 Show ipv6 route Tabela de Vizinhos IPv6 Juniper
–
Show ipv6 neighbors
JUNOS
Ping para IPv6
ping inet6
Traceroute para IPv6
Traceroute inet6
Informações das Interfaces Show ipv6 interface Tabela de Roteamento IPv6 Show ipv6 route Tabela de Vizinhos IPv6
Show ipv6 neighbors
Apostila/E-B
ook do Curso
IPv6
Página 54
tel 41 3045.7810 - info
3
Alocando IPs Dinamicamente
–
dltec.com.br - www.dltec.com.br
DHCPv6 e SLAAC
A alocação dinâmica de IPs no IPv6 é um assunto ainda controverso e em fase de estudo e desenvolvimento, pois no IPv4 tínhamos apenas o DHCP como opção de alocação dinâmica. No IPv6 a autoconfiguração foi a princípio elaborada para suprir a necessidade de um servidor DHCP, porém em sua implementação inicial não foi inserida a opção do servidor DNS nos anúncios dos roteadores. Por esse motivo foram desenvolvidos os serviços de DHCP para o IP versão 6, chamado DHCPv6, o qual pode ser similar ao DHCP e guardar o estado das atribuições, por isso classificado como statefull, ou então mais simples para atuar juntamente com o SLAAC e fornecer apenas informações adicionais ao prefixo e gateway padrão. Outra opção desenvolvida é o uso do SLAAC com “ Recursive DNS Server Option” ou RDNSS. A
função do RDNSS é transmitir um ou mais endereços IPv6 de servidores DNS. Ele é enviado nas mensagens Router Advertisement e deve ser ignorado em outras mensagens, porém nem todos os sistemas operacionais suportam essa facilidade. Um exemplo de sistema operacional que suporta o RDNSS é o Linux. Portanto as opções de configuração dinâmica no IPv6 são:
SLAAC: Não serve como uma solução completa, pois não passa a informação do DNS e
precisaria da configuração manual ou em massa via script do endereço dos servidores DNS nos clientes. SLAAC com DHCPv6 Stateless: Suportado por praticamente todos os clientes IPv6 e necessita que o bit O na mensagem de anúncio do roteador (RA ou Router Advertisement) seja ativada pelo roteador que está anunciando o prefixo. SLAAC com RDNSS: O RDNSS ou Recursive DNS Server Option está definido na RFC 6106 e permite que a mensagem de anúncio do roteador passe endereços de DNS, porém não é suportada por alguns sistemas operacionais. DHCPv6 Statefull: Passa todas as informações como no DHCP do IPv4 com exceção do gateway padrão, o qual é aprendido pelo cliente através da mensagem de RA enviada pelo roteador local. Para que os hosts entendam que precisam utilizar o DHCPv6 é necessário que o bit M da mensagem de RA enviada pelo roteador esteja setado.
Mais tarde veremos no capítulo de segurança os riscos que essas facilidades de configuração podem trazer para as redes IPv6. A seguir estudaremos o Dibbler, software gratuito e Open Source que atua como DHCPv6 server, client, relay e muito mais, sua vantagem é que é suportado por sistemas operacionais como Windows e Linux, portanto você pode instalar em seu computador e realizar testes com tranquilidade. Na sequência passaremos um script para configuração do SLAAC e DHCPv6 stateless que pode ser utilizado via GNS3 para testes entre um roteador Cisco e seu próprio computador.
Apostila/E-B
ook do Curso
IPv6
Página 55
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.1 Atribuindo Endereços via DHCPv6 Statefull
Assim como no mundo IPv4 o serviço de DHCP para IPv6 pode ser ativado diretamente em roteadores ou switches Layer-3. A outra opção é a ativação em servidores de rede. O DHCPv6 pode também trabalhar de forma distribuída ou centralizada. Na forma centralizada precisará dos agentes Relay que repassam as solicitações de IPv6 locais através da rede até chegar no servidor centralizado, o qual tem os escopos (faixas de IPv6 a serem atribuídas dinamicamente) configurados. Veja a figura a seguir.
O DHCPv6 está definido na RFC3315, sendo que os clientes utilizam a porta UDP 546 e os servidores e relays escutam as mensagens DHCP na porta UDP 547. Como o IPv6 não possui mais broadcast o multicast é utilizado para troca de informações com os seguintes endereços:
ff02::1:2 ff05::1:3
todos os agentes DHCPv6 relay e servidores. todos os servidores DHCPv6.
Veja a figura abaixo com as mensagens utilizadas pelo DHCPv6.
Em termos de software o Dibbler é um aplicativo DHCPv6 muito utilizado em ambientes de teste e produção. Trata-se de um software gratuito, open source e pode ser baixado na página http://klub.com.pl/dhcpv6/#DOWNLOAD. Ele é suportado por diversos sistemas operacionais, incluindo Windows XP, Windows 7 e Linux Ubuntu.
Apostila/E-B
ook do Curso
IPv6
Página 56
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Uma vez instalado existe um arquivo de configuração do servidor que vem com o seguinte padrão (esse arquivo está no menu iniciar, dentro do dibbler com o nome “ Server Edit config file”): log-level 7 log-mode short iface "Local Area Connection" { # clients should renew every half an hour T1 1800 T2 2000 class { pool 2001:db8:1111::1-2001:db8:1111::ff } option dns-server 2001:db8::1, 2001:db8::2 option domain example.com, test1.example.com } Você pode utilizar esse padrão alterando apenas o “pool”, que é a faixa de endereços que será
fornecida ao cliente de acordo com sua topologia, assim como os IPs de DNS (que pode ser apenas um) em option dns-server e o nome do domínio em option domain. Cuidado com o nome da interface (marcado em azul na configuração padrão acima) tanto no Linux quanto no Windows, pois ela deve se igual ao que o sistema operacional nomear. Por exemplo, se você utiliza Windows 7 e uma placa de rede sem fio, normalmente, a conexão local é chamada de "Conexão de Rede sem Fio" e você deverá abrir o arquivo de configuração e trocar de "Local Area Connection" para o nome especificado pelo seu sistema operacional. Após acertar os parâmetros básicos no arquivo de configuração você pode no Windows ativar o serviço via console ou como um serviço. Para ambiente de laboratório é melhor ativar via console na opção “Server Run in the console”. Se tudo estiver correto e o servidor subir você deverá ter uma tela do prompt aberta e recebendo as mensagens do serviço de DHCP, conforme saída abaixo.
Caso essa tela não tenha sido exibida procure no menu iniciar, dentro do Dibbler a opção “Server View log file”, nesse arquivo você pode ver o erro que está fa zendo com que a inicialização do dibbler não seja completada. Antes de verificar se um cliente irá realmente pegar essa configuração você deve ativar no GNS3 um roteador para fornecer as mensagens de RA com o bit M setado em 1, indicando aos clientes que eles devem utilizar o IPv6 do roteador como gateway e o restante da configuração pegar do servidor DHCPv6 Veja exemplo de configuração de roteador abaixo considerando a faixa de endereços que vem por padrão configurada no dibbler.
Apostila/E-B
ook do Curso
IPv6
Página 57
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
ipv6 unicast-routing interface FastEthernet0/0 ipv6 address 2001:DB8:1111::/64 eui-64 ipv6 enable ipv6 nd managed-config-flag
Veja abaixo as mensagens trocadas mostradas no servidor sobre uma alocação de IPv6, onde o endereço 2001:db8:1111::27 foi repassado ao cliente. 38:52 Srv Notice Received SOLICIT on ConexÒo de Rede sem Fio/20, trans-id=0x3 e0f, 6 opts: 8 1 3 39 16 6 (non-relayed) 38:52 Srv Info Client 00:01:00:01:16:fb:ed:2f:24:b6:fd:06:dc:17 got 2001:db 8:1111::27 (IAID=213915781, pref=86400,valid=172800). 38:52 Srv Notice Sending ADVERTISE on ConexÒo de Rede sem Fio/20,transID=0x3e 0f, opts: 3 2 1 7 23 24, 0 relay(s). 39:53 Srv Notice Received REQUEST on ConexÒo de Rede sem Fio/20, trans-id=0x3 e0f, 7 opts: 8 1 2 3 39 16 6 (non-relayed) 39:53 Srv Info Cache: Cached address 2001:db8:1111::27 found. Welcome back. 39:53 Srv Info Client 00:01:00:01:16:fb:ed:2f:24:b6:fd:06:dc:17 got 2001:db 8:1111::27 (IAID=213915781, pref=86400,valid=172800). 39:53 Srv Notice Sending REPLY on ConexÒo de Rede sem Fio/20,transID=0x3e0f, opts: 3 2 1 7 23 24, 0 relay(s).
Você pode ainda conectar mais roteadores à topologia do GNS3 e configurá-los como clientes conforme exemplo de configuração abaixo: R4(config)#ipv6 unicast-routing R4(config)#int f1/0 R4(config-if)#ipv6 enable R4(config-if)#ipv6 address dhcp rapid-commit R4(config-if)#no shut
O comando ipv6 address dhcp está disponível apenas em versões de IOS superiores à 12.24T. A topologia utilizada para coletar os comandos e saídas acima está na figura abaixo.
Apostila/E-B
ook do Curso
IPv6
Página 58
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.2 Atribuindo Endereços com SLAAC e DHCPv6 Stateless
Por padrão a autoconfiguração stateless ou SLAAC (StateLess Address Auto Configuration) prevista no início do desenvolvimento do IPv6 não suporta o envio de endereços de servidores DNS, sendo possível apenas receber um prefixo, seu comprimento e utilizar o endereço do roteador que enviou o anúncio como rota padrão. Portanto, com o SLAAC puro os computadores não conseguiriam traduzir nomes em endereços IPv6 e não poderiam acessar conteúdo da Intranet ou Internet a não ser que soubessem o endereço dos servidores, porém seria “meio complicado”.
Uma opção para resolver esse problema é utilizar um servidor DHCPv6 sem estado ou stateless para que os clientes possam obter os demais parâmetros faltantes, tais como servidores DNS, nomes de domínio, servidores TFTP, etc. O dibbler suporta o DHCPv6 stateless, assim como podemos configurar diretamente nos roteadores da Cisco. A diferença entre o uso do DHCPv6 sem e com estado é que no caso do stateless vamos setar apenas o bit O em 1, com isso os hosts irão entender que devem se autoconfigurar com o prefixo anunciado pelo roteador e procurar em um servidor DHCP stateless pelas opções adicionais necessárias à sua configuração. Vamos utilizar a mesma configuração mostrada anteriormente com o dibbler servindo agora de DHCP stateless e o roteador Cisco enviando suas RAs com o bit O setado para os hosts da rede.
As configurações irão mudar um pouco, pois agora o dibbler não alocará mais o endereço dos clientes apenas passará os endereços dos DNSs e nome de domínio, veja o arquivo de configuração utilizado abaixo. # # Exemplo de stateless autoconf # log-level 8 log-mode short stateless iface "Conexão de Rede sem Fio" { option dns-server 2001:db8:1000::1 option domain cisco.com # renew a cada 1800 segundos
Apostila/E-B
ook do Curso
IPv6
Página 59
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
option lifetime 1800 }
O roteador Cisco responsável pelo anúncio dos prefixos terá uma configuração parecida com a anterior, porém com o bit O setado, veja abaixo. ipv6 unicast-routing interface FastEthernet0/0 ipv6 address 2001:DB8:1111::/64 eui-64 ipv6 enable ipv6 nd other-config-flag no shut
A configuração dos roteadores R2 e R3 devem ser alteradas para o autoconfiguration. A opção default inserida no final do comando diz para o roteador inserir uma rota padrão apontando para o IPv6 do roteador que enviou o anúncio (mensagem RA). Veja a configuração abaixo. R2(config)#ipv6 unicast-routing R2(config)#int f1/0 R2(config-if)#ipv6 enable R2(config-if)#ipv6 address autoconfig default R2(config-if)#no shut
Agora vamos observar se os clientes estão realmente pegando as informações, porém primeiro vamos ativar o dibbler em modo console para podermos acompanhar a troca de mensagens em sua tela e também precisaremos configurar o roteador no GNS3. Veja a tela do dibbler após a inicialização.
Após a topologia toda ligada e ativa teremos no dibbler as mensagens dos dois hosts (R2 e R3) solicitando informações, veja abaixo. 27:04 Srv Notice
Accepting connections. Next event in 38 second(s).
29:11 Srv Notice INF-REQUEST on ConexÒo de Rede sem Fio/20, trans-id =0xf04340, 4 opts: 8Received 1 16 6 (non-relayed) 29:11 Srv Notice Sending REPLY on ConexÒo de Rede sem Fio/20,transID=0xf04340 , opts: 2 1 7 23 24, 0 relay(s). 29:11 Srv Notice Accepting connections. Next event in 60 second(s). 32:31 Srv Notice Received INF-REQUEST on ConexÒo de Rede sem Fio/20, trans-id =0x935e26, 4 opts: 8 1 16 6 (non-relayed) 32:31 Srv Notice Sending REPLY on ConexÒo de Rede sem Fio/20,transID=0x935e26 , opts: 2 1 7 23 24, 0 relay(s). 32:31 Srv Notice Accepting connections. Next event in 60 second(s).
Apostila/E-B
ook do Curso
IPv6
Página 60
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Você deve ter notado uma diferença nas mensagens trocadas entre os clientes e servidor DHCPv6 stateless em relação ao statefull, aqui foram trocadas apenas duas mensagens: o servidor recebe um INF-REQUEST e responde com um REPLY, pois ele apenas tem que repassar os dados configurados e não mais alocar endereços IPv6. Na prática clientes podem enviar ainda solicitações statefull ao servidor DHCP, o qual informará o problema com as mensagens abaixo: 04:49 Srv Notice Received SOLICIT on ConexÒo de Rede sem Fio/20, trans-id=0x4 e0b16, 5 opts: 8 1 14 6 3 (non-relayed) 04:49 Srv Warning Stateful configuration message received while running in the stateless mode. Message ignored.
Nesse caso será necessário identificar esses hosts e corrigir o problema, pois eles podem estar sem endereço IPv6. Veja abaixo a saída do ipconfig /all parcial de um cliente Windows 7 autoconfigurado. Adaptador de Rede sem Fio Conexão de Rede sem Fio: Sufixo DNS específico de conexão. . . . . . : cisco.com Descrição . . . . . . . . . . . . . . . . . : Dell Wireless 1702 802.11b/g/n Endereço Físico . . . . . . . . . . . . . . : C0-18-85-E5-EC-BF DHCP Habilitado . . . . . . . . . . . . . . : Sim Configuração Automática Habilitada. . . . . : Sim Endereço IPv6 . . . . . . . . . . . . . . . : 2001:db8:1111:0:a084:ed7e:50d8: 2b36(Preferencial) Endereço IPv6 Temporário. . . . . . . . . . : 2001:db8:1111:0:fc1b:d903:8e31: 7fbc(Preferencial) Endereço IPv6 de link local . . . . . . . . : fe80::a084:ed7e:50d8:2b36%12(Pr eferencial) Endereço IPv4. . . . . . . . . . . . . . . : 192.168.1.38(Preferencial) Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.0 Concessão Obtida. . . . . . . . . . . . . . : sexta-feira, 7 de junho de 2013 09:25:20 Concessão Expira. . . . . . . . . . . . . . : sábado, 8 de junho de 2013 09:2 5:26 Gateway Padrão. . . . . . . . . . . . . . . : fe80::1%12 192.168.1.1 Servidor DHCP . . . . . . . . . . . . . . . : 192.168.1.1 IAID de DHCPv6. . . . . . . . . . . . . . . : 230692997 DUID de Cliente DHCPv6. . . . . . . . . . . : 00-01-00-01-16-FB-E6-B5-24-B6-F D-06-BE-40 Servidores DNS. . . . . . . . . . . . . . . : 2001:db8:1000::1 192.168.10.1 NetBIOS em Tcpip. . . . . . . . . . . . . . : Habilitado Lista de pesquisa de sufixos DNS específicos da conexão: cisco.com
A vantagem desse método é sua simplicidade, porém como não há guarda do estado não conseguimos saber quantos clientes temos nem quais endereços ou faixa de endereços esses clientes pegaram, pois eles utilizarão o EUI-64 ou as extensões de privacidade que são utilizadas por padrão para gerar os endereços nos hosts dependendo dos sistemas operacionais utilizados na rede.
Apostila/E-B
ook do Curso
IPv6
Página 61
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.3 Exemplo de DHCPv6 Statefull e SLAAC com DHCPv6 Stateless em Roteadores Cisco
Caso você tenha algum problema de conexão entre o GNS3 e seu roteador é possível fazer toda a configuração do DHCPv6 Stateless e Statefull no roteador, possibilitando que você insira os servers e clientes em uma mesma topologia do GNS3 para facilitar os testes. 3.3.1
DHCPv6 Statefull
Configurações no servidor: ipv6 dhcp pool IPV6_DHCPPOOL address prefix 2001:DB8:1000::/64 lifetime infinite infinite link-address 2001:DB8:1000::1/64 dns-server 2001:DB8:1000::1 domain-name cisco.com ! interface Fast0/0 ipv6 address 2001:DB8:1000::1/64 ipv6 enable ipv6 nd managed-config-flag ipv6 dhcp server IPV6_DHCPPOOL
Configurações nos clientes: interface Fast0/0 ipv6 address dhcp ipv6 enable Você pode utilizar o comando “debug ipv6 dhcp” para visualizar a troca de mensagens ou ativar
o Wireshark nas interfaces para capturar os pacotes DHCPv6 e analisar as informações trocadas. Além disso, o comando show ipv6 dhcp binding permite visualizar a alocação dinâmica de endereços realizada pelo roteador configurado como servidor.
Veja abaixo a saída do comando show ipv6 dhcp binding, onde podemos verificar que para cada host que teve IPv6 alocado existe uma entrada na tabela do servidor DHCPv6, relacionando o endereço de link local com o IPv6 global alocado (marcado em amarelo). DlteC-FW-GW#show ipv6 dhcp binding Client: FE80::C218:85FF:FEE5:EEDB DUID: 0001000116FBED2F24B6FD06DC17 Username : unassigned IA NA: IA ID 0x0CC01885, T1 43200, T2 69120 Address: 2001:DB8:1000:0:2558:AB37:F7B2:EE31 preferred lifetime INFINITY, , valid lifetime INFINITY, Client: FE80::A084:ED7E:50D8:2B36 DUID: 0001000116FBE6B524B6FD06BE40 Username unassigned IA NA: IA:ID 0x0DC01885, T1 43200, T2 69120 Address: 2001:DB8:1000:0:9596:5D52:9CC8:12DA preferred lifetime INFINITY, , valid lifetime INFINITY, Client: FE80::B0DA:76EE:A6EB:E46F DUID: 0001000113314AEF90E6BAD03F07 Username : unassigned IA NA: IA ID 0x0E90E6BA, T1 43200, T2 69120 Address: 2001:DB8:1000:0:FD47:1161:23D6:6243 preferred lifetime INFINITY, , valid lifetime INFINITY, Client: FE80::75BE:AA89:D549:3FA7 DUID: 0001000116D6CEBDE0CB4ECC9B9B
Apostila/E-B
ook do Curso
IPv6
Página 62
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Username : unassigned IA NA: IA ID 0x0EE0CB4E, T1 43200, T2 69120 Address: 2001:DB8:1000:0:FC60:7A1E:DDE3:B6E7 preferred lifetime INFINITY, , valid lifetime INFINITY, DlteC-FW-GW# 3.3.2
SLAAC com DHCPv6 Stateless
Configurações no servidor: ipv6 dns-server dhcp pool IPV6_DHCPPOOL 2001:DB8:1000::1 domain-name cisco.com ! interface Ethernet0/0 ipv6 address 2001:DB8:1000::1/64 ipv6 enable ipv6 nd other-config-flag ipv6 dhcp server IPV6_DHCPPOOL
Configurações nos clientes: ipv6 unicast-routing int f1/0 ipv6 enable ipv6 address autoconfig default
O mesmo comando debug citado anteriormente pode ser utilizado para verificar a troca de mensagens do DHCPv6, porém a configuração stateless não armazenará os IPs dos clientes. 3.4 Outros Termos Utilizados no DHCPv6
Abaixo seguem as definições de alguns termos que você pode encontrar ou já ter lido e ficado com dúvidas. Identity association (IA): Os endereços estão contidos dentro de um objeto conceitual conhecida como IA (Associação de identidade). Cada endereço deve ser contido dentro de uma IA, a qual pode ter mais de um endereço. Certos aspectos do gerenciamento de endereços pertencem a IA, enquanto outros dizem respeito diretamente aos endereços. Esta distinção é importante quando se discutem os quatro temporizadores (definidos pelo servidor) que regem os lifetimes (tempo de vida) dos endereços: T1, T2, preferred e valid (descritos na sequência).
Identity association for non-temporary addresses (IA_NA) : representa uma
identidade de associação (IA) que não utiliza endereços temporários.
Identity association for temporary addresses (IA_TA) : representa uma identidade
de associação (IA) que utiliza endereços temporários (RFC 3041).
endereços temporários): são endereços utilizados no DHCPv6 para fornecer extensões de privacidade (Privacy Extensions) conforme já estudado anteriormente. Temporary Addresses (TA
–
Temporizadores do DHCPv6: o T1 e T2: são utilizados para enviar mensagens de Renew (renovar o IPV6 atual) e Rebind (solicitar um novo IPv6) respectivamente. O Renew é enviado pelo cliente para renovar o lifetimes (tempo de vida) do endereço. Se o servidor não enviar uma resposta (Reply) e o timer T2 expirar o cliente enviará um Rebind,
Apostila/E-B
ook do Curso
IPv6
Página 63
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
similar a um renew, mas enviado para quaisquer servidores DHCPv6 na rede local. o Preferred e Valid: quando o endereço tem seu preferred lifetime (tempo de vida preferido) expirado ele perde a preferência de uso. Quando o endereço atinge o valid lifetime (tempo de vida válido) ele é removido da tabela de roteamento e da interface. o Quando utilizamos endereços temporários esses parâmetros são importantes para que os endereços sejam trocados de tempos em tempos. 4
Alterações no Serviço de Resolução de Nomes
Até este ponto do curso você já deve ter notado que o IPv6 é um novo protocolo de infraestrutura para redes corporativas e também na Internet. Em muitos aspectos ele é bem parecido com o bom e velho protocolo IPv4, pois não foram feitas alterações nas pilhas superiores ou inferiores ao IP para o suporte a essa nova versão. Por isso mesmo continuamos utilizando DHCP, DNS, HTTP, SIP, LDAP, ou seja, quase todos os protocolos que estamos acostumados no IPv4. Assim como para o IPv4 o serviço de resolução de nomes ou DNS em redes IPv6 será parte fundamental para o funcionamento das Intranets e da Internet, pois agora com o tamanho e escrita dos endereços vai ficar cada vez mais difícil de decorar IPs até mesmo na Intranet! No IPv4 os hosts utilizam um padrão de registro chamado “A Record” referenciando um endereço de 32 bits. Já no IPv6 temos 128 bits por isso o registro foi chamado de “AAAA Record” ou “Quad-A Record” (registro quádruplo A), pois o IPv6 é quatro vezes maior que o
endereço IPv4. Veja um exemplo abaixo. V6-host
IN
AAAA
2620:0:1cfe:face:b00c::3
Além disso, o seu servidor DNS precisa “escutar” a porta 53 através do protocolo IPv6, pois
senão os hosts farão a consulta via IPv6 mas sem porta UDP pronta para receber essa requisição simplesmente não acontecerá nada. Outra mudança é na resolução reversa ou reverse-lookup, pois com a mudança do endereço esse parâmetro também foi revisado e deve ser considerado na configuração dos DNSs com IPv6. 4.1 Aspectos Práticos do DNS com IPv6
A maioria das aplicações utilizadas para prover o serviço de DNS já estão preparadas para receber consultas DNS e resolver nomes IPv6, porém não por padrão, ou seja, será necessário configuração extra para fazer o DNS escutar a porta 53 no IPv6, adicionar hosts IPv6 e se necessário configurar a consulta reversa. Para mais detalhes sobre o suporte do DNS ao IPv6 você pode consultar a RFC 3596. Atualmente os servidores DNS já respondem com endereços IPv6 (registros AAAA) quando eles estão disponíveis para um determinado nome de domínio, pois esse é o comportamento padrão do servidor DNS, mesmo operando apenas com IPv4. Quando o cliente recebe na resposta da consulta ambos os endereços IPv6 e IPv4 para o domínio procurado, o sistema operacional decide que protocolo usar. Normalmente os sistemas operacionais dão preferência pelo protocolo IPv6 fazendo o fallback para o IPv4 em caso de falhas. Mais recentemente algumas técnicas de tentativas simultâneas de conexão IPv6 e IPv4 estão em desenvolvimento para que o aplicativo opte pela qual for mais rápida (chamada Happy-Eyeballs).
Apostila/E-B
ook do Curso
IPv6
Página 64
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Se você não usa ainda o IPv6 na sua rede e não deseja desabilitá-lo pode utilizar a ferramenta para Windows 7 (se for seu sistema operacional) chamada “ Usar IPv6 em vez de IPv4 em diretivas de prefixo” para alterar esse comportamento ou desabilitar o IPv6 no Windows 7. Visite a página mostrada no link, onde a Microsoft disponibilizou diversas “Fixes”:
http://support.microsoft.com/kb/929852 Lembre-se que se você utiliza um dos sistemas operacionais em seus clientes e/ou servidores que suportam IPv6 por padrão você já está usando o protocolo ! Com um dibbler configurado como DHCPv6 server, um GNS3 para fazer as vezes do roteador e um serviço de DNS ativo, como por exemplo BIND (quedeé ataques suportado pelo Windows), má intencionada conseguiria fazer ouma série ouaté espionagem na suauma redepessoa sem que ninguém percebesse, a não ser que você já monitore o tráfego IPv6 em sua rede. Quem trabalha bem com Linux nem precisa da “parafernália” citada anteriormente para realizar o ataque, consegue fazer tudo muito fácil em sua máquina! Apesar de deixarmos reservado um capítulo para falar de segurança em IPv6 esse era um bom momento para colocar uma “pulga atrás da orelha” dos administradores de redes e colaboradores de time de TI que estão estudando conosco. 5
Considerações sobre Aplicativos e Suporte ao IPv6
Até o momento estudamos as alterações estruturais na rede, tais como configuração das placas de rede, DHCP e DNS para suporte ao tráfego IPv6 na infraestrutura de rede, porém e os aplicativos e demais serviços de rede? Tudo continua como está e trocamos apenas a camada de rede? As aplicações também precisarão ser adaptadas para uso da rede IPv6 como meio de comunicação entre clientes e servidores, principalmente aquelas que utilizam o endereço do host para controlar acesso ou tempo de sessão, por exemplo, cookies de rastreamento que utilizam o IP do host deverão estar preparados para reconhecer um endereço IPv6. Devemos lembrar que o IPv6, apesar de ter sido criado a muito tempo atrás, está entrando em uso ostensivo muito recentemente, portanto não é um protocolo maduro como o IPv4 e muitos “bugs” e ameaças serão descobertas com o dia a dia da implementação do IPv6. Na página da web abaixo você pode ter uma ideia de vários aplicativos e seus status em relação ao suporte ao IPv6. http://en.wikipedia.org/wiki/Comparison_of_IPv6_application_support
Apostila/E-B
ook do Curso
IPv6
Página 65
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Capítulo 4 - Técnicas de Convivência e Tunelamento IPv6
Nesse capítulo vamos abordar técnicas que poderão auxiliar as empresas e provedores de serviço de Internet na fase de migração e propiciarão a convivência de ambas as redes IPv4 e IPv6, pois essa será uma realidade inveitável e longa, onde a infraestrutura das redes será compartilhada por esses dois protocolos de rede.
Objetivos do Capítulo Ao final desse capítulo você deverá ter estudado e compreender:
As principais técnicas de transição e convivência entre IPv4 e IPv6 Conceito e aplicação de uma pilha dupla Conceito de tunelamento Conceito de tradução entre protocolos
Sumário do Capítulo 1 Técnicas de Convivência e Transição entre o IPv4 e IPv6 ___________________ 67
Vamos estudar as principais técnicas e mostrar aplicações práticas, com demonstrações sobre o funcionamento de uma pilha dupla, túneis e tradução entre IPv6 para IPv4.
1.1
Pilha Dupla _____________________ 69
1.2 1.3
Tunelamento ___________________ 70 Técnicas de Tradução _____________ 72
2 Próximos Passos Rumo a Transição para o IPv6 _____________________________ 73 3 Implementações Práticas e Cenários de Migração com GNS3 _________________ 73
Aproveite o material e bons estudos!
3.1
Dual Stack ______________________ 74
3.2
Técnicas de Tunelamento _________ 74
3.2.1 Túneis Manuais _________________ 75 3.2.2 Túneis GRE _____________________ 78 3.2.3 Túneis 6to4 Automáticos __________ 82 3.2.4 Túneis 6to4 Automáticos com Endereçamento Global de Unicast __________ 85 3.2.5 Túneis ISATAP ___________________ 86
3.3
Técnicas de Tradução – NAT-PT ____ 88
3.3.1 3.3.2 3.3.3
Apostila/E-B
NAT-PT Estático _________________ 90 NAT-PT Dinâmico e Overloading ____ 90 NAT64 e DNS64 _________________ 91
ook do Curso
IPv6
Página 66
tel 41 3045.7810 - info
1
dltec.com.br - www.dltec.com.br
Técnicas de Convivência e Transição entre o IPv4 e IPv6
Atualmente tanto as redes corporativas como a Internet estão implementadas encima do protocolo IPv4, portanto não será possível apenas “ virar a chave” e transformar tudo em IPv6 “da noite para o dia”. Daí surgem os termos convivência ou coexistência dos protocolos IPv4 e IPv6, assim como o termo “transição” ou “migração”.
Veja a figura abaixo representando a migração gradual do IPv4 para o IPv6, note que em um primeiro momento teremos uma predominância do IPv4, que aos poucos será invertida para uma predominância do IPv6, até chegar o momento que a rede será toda Ipv6.
Portanto, a coexistência (ou convivência) é o termo utilizado para técnicas que possibilitam a protocolos rede (seja nos interna hosts como nos dispositivos de rede). aconfiguração transição édeo ambos termo os utilizado paranaquando a rede for sendo migrada para IPv6 Já e precisar ainda se comunicar através de uma rede IPv4 com outras redes IPv6 remotas, pois ao longo do tempo teremos “ilhas IPv6” isoladas em meio a uma re de IPv4 (Internet) e precisaremos cruzar a rede IPv4 para fazer a comunicação entre essas ilhas de IPv6 ou então traduzir do IPv6 para IPv4 (e vice-versa) para permitir a comunicação entre hosts que ainda não foram migrados. Veja a figura abaixo onde em uma primeira fase teremos as ilhas IPv6 querendo se comunicar através da Internet predominantemente IPv4.
Apostila/E-B
ook do Curso
IPv6
Página 67
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Já na figura a seguir temos uma segunda fase onde as Intranets e Internet estarão já em fase avançada de migração para o IPv6 e há uma inversão, onde teremos algumas ilhas IPv4 querendo se comunicar em uma nuvem IPv6, até chegar ao ponto que a rede vai estar toda IPv6 em uma terceira fase.
Para que isso seja possível podemos classificar os recursos de coexistência e transição em três categorias:
Pilha Dupla ou Dual Stack : suportar os dois protocolos na mesma rede. Tunelamento: passar o tráfego IPv6 encapsulado em um pacote IPv4. Tradução: traduzir endereços IPv6 para IPv4 e vice-versa possibilitando que hosts em
diferentes versões do protocolo IP se comuniquem e também que hosts IPv6 possam acessar recursos da rede IPv4 na fase de transição. Vamos agora analisar cada uma das tecnologias citadas acima.
Apostila/E-B
ook do Curso
IPv6
Página 68
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
1.1 Pilha Dupla
A pilha dupla, como o próprio nome diz, é ter ambos os protocolos IPv4 e IPv6 configurados tanto nas interfaces dos dispositivos de rede como nos hosts, ou seja, em todos os nós e endpoints da rede.
Dessa maneira, quando o host for se comunicar com outros hosts IPv4 ele utiliza a pilha do protocolo IP versão 4, porém quando for conversar com um host ou servidor IPv6 utilizará a pilha referente ao protocolo IP versão 6. Note que nessa técnica não há nenhum tipo de tradução ou interconexão entre os protocolos, ou seja, os fluxos IPv4 e IPv6 são separados e o computador usa um ou outro. Note também que não há comunicação entre o protocolo IPv6 e IPv4, ou seja, a camada de transporte escolhe enviar seu fluxo por um ou por outro. Portanto, em uma rede poderemos encontrar dispositivos somente Ipv4, com pilha dupla ou somente IPv6, sendo que o único que irá conseguir falar com dispositivos remotos tanto com IPv4 e IPv6 será o que possui a pilha dupla configurada. Veja a próxima figura mostrando na prática que um host com pilha dupla possui um endereço IPv4 e um IPv6 configurado na mesma interface de rede.
Apostila/E-B
ook do Curso
IPv6
Página 69
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Na implementação de uma pilha dupla é importante lembrar que as configurações dos recursos de rede para o IPv4 e IPv6 serão independentes em diversos aspectos, seguem alguns pontos importantes a serem considerados abaixo:
Informações nos servidores DNS autoritativos, pois as entradas para os servidores IPv6 no DNS possuem necessidades de configuração específica; Protocolos de roteamento, pois os roteadores deverão ser configurados para rotear as redes IPv6, isto não é automático;
Firewalls, serão necessárias regras de filtragem baseadas também no fluxo IPv6, sendopois queagora o mesmo vale para os IPSs e IDSs; Gerenciamento das redes, pois o uso do SNMP exige que os gerenciadores e as MIBs tenham suporte ao IPv6 e provavelmente configurações específicas serão necessárias.
1.2 Tunelamento
Os túneis tem aplicação para que um fluxo de informações IPv6 consiga chegar ao seu destino através de uma rede IPv4 e vice-versa. Nesse caso temos dois hosts IPv6, por exemplo, querendo se comunicar através de uma rede corporativa ou pela Internet, porém essa rede não tem suporte completo ao IPv6 e por isso não será possível enviar os pacotes diretamente entre os hosts de srcem e destino. Os túneis criam caminhos, como se fossem tubos, encapsulando o pacote IPv6 dentro de um pacote IPv4. Veja a figura a seguir, onde usamos como exemplo duas redes IPv6 que desejam se comunicar utilizando a Internet IPv4. Nesse caso os pacotes enviados pela srcem ao sair pelo roteador que está conectado à Internet são encapsulados, ou seja, inseridos dentro de um pacote IPv4 e ao chegar do outro lado o cabeçalho do IPv4 é retirado e o destino recebe um pacote IPv6.
Os túneis podem ser fechados diretamente entre dois hosts, entre dois roteadores ou entre host/roteador ou roteador/host. Os túneis entre dois roteadores são normalmente chamados “site-to-site” e permitem a comunicação de vários dispositivos através do túnel.
Apostila/E-B
ook do Curso
IPv6
Página 70
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Os principais tipos de túneis utilizados são:
Tunnel Broker: Este tipo de túnel é fornecido por provedores de serviço e permitem que
dispositivos isolados ou toda uma rede IPv4 obtenham conectividade IPv6 por meio do estabelecimento de um túnel com um provedor. 6to4: Este túnel, descrito na RFC 3056, permite que redes IPv6 isoladas comuniquem-se entre si através da rede IPv4 no modo ponto. Existe também o modo conhecido como multiponto, o qual é chamado de túnel automático ou 6to4. O 6to4 é umas das técnicas de transição mais antigas em uso e é a técnica que inspirou a criação do 6rd.
Teredo: Trata-se de uma técnica de tunelamento automática criada pela Microsoft e
definida na RFC 4380. O Teredo permite que hosts que utilizam Network Address Translations (NAT) obtenham conectividade IPv6 utilizando tunelamento em IPv4, usando o protocolo UDP. Sua utilização não é recomendada, por questões de eficiência e segurança.
ISATAP: O “Intra-Site Automatic Tunnel Addressing Protocol” é um tipo de tunelamento
que conecta um dispositivo ao roteador (host-roteador). Sua utilização normalmente ocorre dentro das redes corporativas (Intranets), pois não há serviço público de ISATAP. A utilização do ISATAP é quando o backbone do provedor de serviços já está em IPv6, mas sua infraestrutura interna ou parte dela ainda está em IPv4.
Apostila/E-B
ook do Curso
IPv6
Página 71
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
GRE: O “Generic Routing Encapsulation” (RFC 2784) é um túnel estático para o transporte
de pacotes IPv6 em redes IPv4. Este túnel foi desenvolvido pela Cisco com a finalidade de encapsular vários tipos diferentes de protocolos, permitindo uma flexibilidade maior em termos de roteamento. Basicamente são utilizados para criar túneis roteador a roteador e o mais interessante do GRE é que ele não depende da infraestrutura da Internet para funcionar. 1.3 Técnicas de Tradução
As técnicas de tradução permitem que equipamentos usando IPv6 comuniquem-se com outros configurados com endereço IPv4 por meio da conversão ou tradução dos pacotes de uma versão para outra, filosofia muito parecida com o que estudamos para o NAT (Network Address Translation) do IPv4. Um ponto que deve ser ressaltado é que tanto túneis quanto as técnicas de tradução podem ser implementadas de maneira stateful ou stateless. Como já vimos no DHCPv6, as técnicas stateful necessitam da manutenção de tabelas de estado contendo informações sobre os endereços ou pacotes para processá-los. Já nas técnicas stateless não é necessário guardar informações, pois os pacotes são tratados de forma independente. Analisando os dois tipos de técnicas podemos concluir que as stateful são mais caras, pois gastam mais processamento e memória das máquinas responsáveis por manter as tabelas de estado atualizadas. Por esse motivo encontramos em diversas bibliografias sobre o IPv6 recomendações para dar preferência a técnicas stateless, pois elas são mais baratas e escaláveis que as técnicas stateful. As principais técnicas de tradução utilizadas são:
Stateless IP/ICMP Translation (SIIT): É um mecanismo de tradução stateless de
cabeçalhos IP/ICMP, permitindo a comunicação entre hosts com suporte apenas ao IPv6 apenas com IPv4.
NAT-PT (NAT - Protocol Translation) e NAPT-PT (Network Address and Port Translation Protocol Translation): Faz o mapeamento entre endereços IPv6 e IPv4, –
tem o funcionamento semelhante ao NAT do IPv4, pois quando um pacote com IPv6 quer atravessar a rede ele faz a tradução do protocolo IPv6 para um cabeçalho do IPv4 e mantém um mapeamento entre o IPv6 interno e o endereço IPv4 utilizado na rede externa para fazer a tradução. O NAPT-PT permite utilizar também as portas TCP e UDP para a tradução dos endereços, estendendo a capacidade de tradução do NAT-PT, muito similar ao PAT do IPV4.
Apostila/E-B
ook do Curso
IPv6
Página 72
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Application Gateway (ALG): São gateways de aplicação, trabalham como um proxy
HTTP, onde o cliente primeiramente inicia a conexão com o ALG, e a partir desse momento o ALG estabelece uma conexão com o host remoto ou servidor, retransmitindo as requisições de saída e os dados de entrada. Transport Relay Translator (TRT) : Tem apenas a função de um tradutor de camada de transporte, ou seja, esse mecanismo possibilita a comunicação entre hosts apenas IPv6 e hosts apenas IPv4 através de trafego TCP ou UDP. NAT64 e DNS64: Dentre as técnicas de transição existentes, o NAT64/DNS64 tem sido uma das mais citadas e testadas por alguns provedores na prática. Essa técnica possui uma particularidade, atua emque redes com existem diversasela aplicações ainda nãoendereçamento são suportadasinterno por ele.exclusivamente IPv6 e
2
Próximos Passos Rumo a Transição para o IPv6
Lembrem-se que na data de 6 de junho de 2012, a Internet Society promoveu o IPv6 World Launch, o dia em que grandes provedores de Internet (ISPs), fabricantes de equipamentos de rede e empresas da Web ao redor do mundo habilitaram permanentemente o IPv6 em seus produtos e serviços. Portanto, a partir dessa data o IPv6 vem sendo implantado oficialmente, mesmo que de maneira gradativa, na Internet e deve funcionar em conjunto com o IPv4 por um longo período. Apesar de não termos precisão desse período de transição entre as versões de IP, o futuro do IPv4 está com os dias contados. Por isso, as grandes empresas e provedores de Internet estão se movimentando em direção ao IPv6, pois além de tudo o espaço reservado de endereços IPv4 também está com seus dias contados! Portanto aproveite a onda do IPv6 e navegue nesse novo ambiente, pois em breve podemos todos ser convocados para migrar nossos sistemas corporativos ou até mesmo residenciais. 3
Implementações Práticas e Cenários de Migração com GNS3
Nesse tópico temos uma abordagem mais prática das técnicas de transição com a configuração e testes em roteadores Cisco com GNS3, possibilitando que você tenha uma visão real do que pode aplicar e configurar em uma rede. Vamos abordar as três principais técnicas que serão utilizadas na fase de migração do IPv6:
Dual stack: em português “pilha dupla”, ou seja, rodar o IPv6 e IPv4 ao mesmo tempo
em uma mesma interface.
Tunneling ou Tunelamento: o tunelamento pode ajudar que ilhas isoladas em IPv6
atravessem a nuvem IPv4 atualmente que compõe a Internet para poderem se conectar, ou seja, é encapsular os pacotes IPv6 dentro de pacotes IPv4 para cruzar a Internet. Translation ou Tradução: a tradução nada mais é que uma extensão do NAT, chamado de “NAT Protocol Translation” ou “NAT -PT”, utilizado para traduzir endereços IPv4 em endereços IPv6 e vice versa.
Cada um desses mecanismos é recomendado para cenários específicos e têm configurações próprias.
Apostila/E-B
ook do Curso
IPv6
Página 73
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.1 Dual Stack
Na prática a implementação da pilha dupla nada mais é do que configurar endereços IPv4 e IPv6 na mesma interface, ou seja, em uma só interface termos os comandos “ip address” e “ipv6 address” simultaneamente.
É importante saber que apesar de termos as duas pilhas do protocolo IP instalados os computadores com IPv6 não terão capacidades de se comunicar com os hosts IPv4, pois são duas redes diferentes rodando “em paralelo” na mesma interface. R3-DR(config)#ipv6 unicast-routing R3-DR(config)#interface FastEthernet0/1 R3-DR(config-if)#ipv6 enable R3-DR(config-if)#ipv6 address 2000:100::1/64 R3-DR(config-if)#ip address 192.168.1.1 255.255.255.0 R3-DR(config-if)#ipv6 address FE80::1 link-local R3-DR(config-if)#no shut R3-DR(config-if)#end R3-DR#
Hosts configurados com IPv4 e IPv6 geralmente seguem o mesmo processo do IPv4 e precisam utilizar um servidor DNS para traduzir os nomes de Internet, os quais podem devolver um IPv4 ou IPv6 como endereço da URL pesquisada, assim o host pode utilizar o protocolo de rede correto para comunicação com o servidor ou host remoto. Para verificar as configurações do IPv6 utilizamos o “show ipv6 interface brief” ou “show ipv6 interface”.
A configuração nos clientes e mesmo a no roteador Cisco é a mesma que já fizemos no tópico de implementação, pois o dual-stack nada mais é que ter a pilha IPv4 e IPv6 no mesmo dispositivo ou host. 3.2 Técnicas de Tunelamento
Na figura abaixo temos uma representação básica do que é um túnel. Note que temos duas redes IPv6 que precisam cruzar uma rede IPv4 para se comunicar e para que isso seja possível um nó de rede configurado com pilha dupla receberá o pacote IPv6 e o colocará dentro de um pacote IPv4 (como seu payload). Quando o pacote chegar ao seu destino o cabeçalho do IPv4 é removido e o pacote IPv6 encaminhado dentro da rede IPv6 de destino até o host correto.
Apostila/E-B
ook do Curso
IPv6
Página 74
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Portanto, os túneis são utilizados para criar um caminho virtual entre dois domínios IPv6 através de uma rede IPv4. Nesse tópico vamos estudar os seguintes tipos de túneis IPv6 sobre IPv4 aplicados a roteadores Cisco:
Manual Configured Tunnels (MCT – túneis manuais) Túneis GRE (Generic Routing Encapsulation) Túneis 6 para 4 (6to4 Tunnels) Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)
Os túneis manuais e GRE são considerados manuais e estáticos ponto ”a (Túneis ponto, jáIPv6 os demais são túneis gerados dinamicamente ou “ Dynamic Multipoint IPv6 Tunnels Multiponto Dinâmicos). Os túneis multipontos se comportam como redes multiacesso, parecido com LANs ou redes NBMA (por exemplo, frame-relay multiponto). A vantagem dos túneis multiponto é que a decisão sobre o caminho a ser tomado é feita de maneira dinâmica baseada no endereço de destino, pois o roteador determina o próximo salto dinamicamente, o que resulta normalmente em menos configurações quando existem diversas localidades em relação aos túneis manuais. Veja a figura abaixo.
Existem outras técnicas e túneis, por exemplo, como o TEREDO, porém os que vamos estudar aqui nesse tópico são os suportados pelos roteadores da Cisco. 3.2.1
Túneis Manuais
Quando criamos um túnel manual (MCT – Manual Configured Tunnel) utilizamos na srcem e no destino endereços IPv4. Isso porque o objetivo do túnel é fazer com que o pacote IPv6 atravesse uma rede IPv4, ou seja, o IPv4 será utilizado como protocolo ou meio de transporte do IPv6 dentro dessa “via ou túnel” IPv4. Esse tipo de túnel está definido na RFC 421 3. Por questões de estabilidade (assim como recomendado para o RID do OSPF) podemos utilizar como srcem e destino do túnel interfaces loopback, assim o túnel pode ser fechado mesmo que a interface caia, porém é necessário haver redundância ou balanceamento de carga ativo. Os endereços IPv6 são configurados dentro do túnel, assim como configuramos em interfaces normais, pois ele será transportado pelo túnel. Além disso, nessa topologia o protocolo IPv6 considera o túnel um link ponto a ponto, por isso os endereços IPv6 em cada uma das pontas do túnel devem estar na mesma subrede.
Apostila/E-B
ook do Curso
IPv6
Página 75
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
O comando “tunnel mode ipv6ip” inserido na interface túnel ativa o encapsulamento do IPv6
dentro dos pacotes IPv4. Abaixo seguem os passos para configuração do túnel manual: 1. Escolher os endereços de srcem e destino a serem utilizados no túnel IPv4 na fase de planejamento levando em conta que ambos os roteadores devem conseguir alcançar esses endereços IPv4. Se for utilizada interface loopback ela deve ser criada e configurada com um endereço que seja conhecido pelos roteadores e esteja anunciado pelo roteamento IPv4. 2. Criar a interface do túnel com o comando “interface tunnel num-túnel”, sendo que esse número identifica o túnel tem significado localo ecomando deve ser “tunnel inteiro. source {interface inir oque endereço IPv4 de srcem do túnel com 3. Def type interface-number | ipv4-address}” dentro do modo de configuração de túnel (deve ser um IPv4 configurado no roteador ou uma interface válida). 4. Definir o endereço IPv4 de de stino com o comando “tunnel destination end-ipv4”. Esse endereço deve ser o mesmo utilizado no comando “tunnel source” configurado no
roteador remoto. 5. Configurar o túnel como MCT através do comando “tunnel mode ipv6ip”. 6. Configurar os endereços IPv6 dentro do modo de configuração de túnel e o protocolo de roteamento IPv6 (opcional). Veja um exemplo de configuração abaixo onde será criado um túnel MCT para conectar as redes IPv6 dos roteador R1 e R2 através de uma rede IPv4. Veja a figura abaixo com a topologia e o endereçamento e logo a seguir as configurações.
Configurações no roteador R1. R1(config)#interface loopback 0 R1(config-if)#ip address 10.0.0.1 255.255.255.255 R1(config-if)#interface tunnel 0 R1(config-if)#tunnel source loopback 0 R1(config-if)#tunnel destination 10.0.0.2 R1(config-if)#tunnel mode ipv6ip R1(config-if)#ipv6 address 2011::1/112 R1(config-if)#ipv6 rip 1 enable R1(config-if)#end R1#
Apostila/E-B
ook do Curso
IPv6
Página 76
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Configurações no roteador R2. R2(config)#interface loopback 0 R2(config-if)#ip address 10.0.0.2 255.255.255.255 R2(config-if)#interface tunnel 0 R2(config-if)#tunnel source loopback 0 R2(config-if)#tunnel destination 10.0.0.1 R2(config-if)#tunnel mode ipv6ip R2(config-if)#ipv6 address 2011::2/112 R2(config-if)#ipv6 rip 1 enable R2(config-if)#end R2# Para verificar as configurações podemos utilizar o comando “debug tunnel” e “show ipv6 interface tunnel num-túnel” ou “show ipv6 interface brief”, veja exemplo abaixo.
R1#show ipv6 interface brief FastEthernet0/0 [up/up] unassigned FastEthernet0/1 [administratively down/down] unassigned Loopback0 [up/up] unassigned Tunnel0 [up/up] FE80::A00:1 2011::1 R1#show ipv6 int tunn 0 Tunnel0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::A00:1 No Virtual link-local address(es): Global unicast address(es): 2011::1, subnet is 2011::/112 Joined group address(es): FF02::1 FF02::2 FF02::9 FF02::1:FF00:1 MTU is 1480 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) ND RAs are suppressed (periodic) Hosts use stateless autoconfig for addresses.
Apostila/E-B
ook do Curso
IPv6
Página 77
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Note no comando acima que o MTU padrão do túnel manual é 1480 bytes, além disso, normalmente os roteadores utilizam em links seriais para formação de seu endereço de link local o EUI-64, utilizando o endereço MAC da primeira interface LAN disponível no roteador. Porém, nesse caso da interface túnel podemos notar que o prefixo do link local FE80::/96 tem um valor diferente, o qual é formado pelos 32 bits do endereço IPv4 de srcem configurado no túnel. Veja que na interface temos o endereço FE80::A00:1, se escrevermos apenas o ID de interface em formato completo teremos 0A00:0001, convertendo para decimal pontuado (32 bits dividido em 4 octetos: 00001010.00000000.00000000.00000001) teremos o IP 10.0.0.1. Outro teste que pode ser feito para verificar se o túnel está sendo utilizado para enviar os pacotes das redes LAN entre R1 e R2 é o “traceroute 2001::1” a partir do roteador R1 e
verificar se realmente a interface túnel está sendo utilizada para o envio dos pacotes Ipv6. 3.2.2
Túneis GRE
Túneis GRE são geralmente configurados entre roteadores de srcem e destino, ou seja, pacotes enviados ponto a ponto e sua configuração é muito parecida com a dos túneis manuais (a diferença é o comando “tunnel mode gre ip”), além disso, é um protocolo desenvolvido pela
Cisco e descrito na RFC 4213. Os pacotes designados para serem enviados através do túnel (já encapsulados com um cabeçalho de um protocolo como, por exemplo, o IP) são encapsulados por um novo cabeçalho (cabeçalho GRE) e colocados no túnel com o endereço de destino do final do túnel. Ao chegar a este final, os pacotes são desencapsulados (retira-se o cabeçalho GRE) e continuarão seu caminho para o destino determinado pelo cabeçalho srcinal. Veja a figura abaixo com o diagrama do GRE.
Abaixo seguem as principais características do GRE:
Multiprotocolo: encapsula uma grande variedade de tipos de protocolo de pacotes dentro de túneis IP, inclusive o IPv6. Cria um link virtual ponto a ponto para os roteadores Cisco em pontos remotos através de uma rede IP. Usa o IP para o transporte (camada 3) e suporta diversos protocolos de roteamento. Utiliza um cabeçalho adicional para suportar multicasting e qualquer outro protocolo da camada-3 do modelo OSI como carga útil (payload ou dados).
Apostila/E-B
ook do Curso
IPv6
Página 78
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
A grande vantagem do tunelamento GRE é permitir o tráfego de protocolos em cenários onde normalmente não seria possível. Devido a esta propriedade é muito utilizado em conjunto com protocolos de roteamento, pois o GRE encapsula todo o pacote IP srcinal com um cabeçalho IP padrão e um cabeçalho GRE, o qual contém pelo menos dois 2-bytes como campos obrigatórios:
Flag GRE Tipo de protocolo
Ele utiliza um campo dedetipo de protocolo no cabeçalho GRE para suportar diferentes protocolos camada 3. O cabeçalho GRE, juntamente como encapsulamento o cabeçalho IP de encapsulamento, cria pelo menos 24 bytes de overhead adicional para os pacotes encapsulados (bytes a mais quando comparado a um pacote IP normal). Veja a figura abaixo.
Vamos a configuração utilizando como base a figura a seguir. Nesse exemplo faremos a configuração de um túnel GRE entre os roteadores R1 e R4 para fazer a comunicação entre as redes IPv4 privativas 10.1.1.0/24 de R1 e 10.2.2.0/24 de R4 sem anunciá-las aos outros roteadores, também faremos as redes IPv6 200:100::/48 e 2001:100::/48 trafegarem simultaneamente utilizando o processo de tunelamento GRE, porém sem criptografia.
Apostila/E-B
ook do Curso
IPv6
Página 79
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Os passos básicos a serem seguidos são: Etapa 1: Criar uma interface do túnel (comando “interface Tunnel x” – x é o número do túnel,
como na criação de uma loopback); Etapa 2: Atribuir os endereços IPv4 e IPv6 ao túnel (comandos “ip address” e “ipv6 address"); Etapa 3: Configurar a interface de túnel de srcem (comando “tunnel source Serialx/y”
podendo ser também um endereço IPv4 alcançável); Etapa 4: Identificar o IP de destino do túnel (comando “tunnel destination x.x.x.x”); Etapa 5: Configurar qual protocolo de camada- 3 o GRE vai encapsular (comando “tunnel mode gre IP”).
Vamos as configurações do roteador R1: R1#config term R1(config)#ipv6 unicast-routing R1(config)#interface Tunnel0 R1(config-if)#ip address 1.1.1.1 255.255.255.252 R1(config-if)#ipv6 address 2002:100::1/64 R1(config-if)#ipv6 rip 1 enable R1(config-if)#tunnel source Serial0/0 R1(config-if)#tunnel destination 200.2.2.2 R1(config-if)#tunnel mode gre ip R1(config-if)#end R1#
Abaixo segue a configuração de R4. R4#config term R4(config)#ipv6 unicast-routing R4(config)#interface Tunnel0 R4(config-if)#ip address 1.1.1.2 255.255.255.252 R4(config-if)#ipv6 address 2002:100::2/64 R4(config-if)#ipv6 rip 1 enable R4(config-if)#tunnel source Serial0/0 R4(config-if)#tunnel destination 200.1.1.2 R4(config-if)#tunnel mode gre ip R4(config)#end R4#
Com a configuração acima, quando um micro da LAN de R1 quiser se comunicar com outro micro remoto da LAN de R4 através do protocolo IPv6 ou IPv4, e vice versa, o pacote será encapsulado dentro de um túnel GRE e será desmontado apenas quando chegar em seu destino. Com essa configuração os demais roteadores não precisam saber da existência das redes IPv4 10.1.1.0 e 10.2.2.0 ou das redes IPv6 configuradas nos roteadores R1 e R4, precisando conhecer apenas as redes WAN dos roteadores em questão.
Apostila/E-B
ook do Curso
IPv6
Página 80
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Para verificar um túnel GRE podemos utilizar os mesmos comandos utilizados para o túnel manual, veja exemplo abaixo. dltec#sho ipv6 int brief FastEthernet0/0 [up/up] unassigned FastEthernet0/1 [administratively down/down] unassigned Loopback0 [up/up] unassigned Tunnel0 [up/up] FE80::21E:13FF:FE0B:1AEE 2011::1 Tunnel1 [up/up] FE80::21E:13FF:FE0B:1AEE 2010:100::2 dltec#show ipv6 interface tunnel 1 Tunnel1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::21E:13FF:FE0B:1AEE No Virtual link-local address(es): Global unicast address(es): 2010:100::2, subnet is 2010:100::/64 Joined group address(es): FF02::1 FF02::2 FF02::9 FF02::1:FF00:2 FF02::1:FF0B:1AEE MTU is 1476 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) ND RAs are suppressed (periodic) Hosts use stateless autoconfig for addresses. dltec#
Note que o MTU do túnel GRE é 1476 bytes e para a formação do endereço de link local é utilizado o prefixo FE80::/64 com o EUI-64 formado a partir do endereço MAC da primeira interface local do roteador, veja a saída abaixo. dltec#sho int f0/0 FastEthernet0/0 is up, line protocol is up Hardware is Gt96k FE, address is 001e.130b.1aee (bia 001e.130b.1aee)
Lembre que o GRE faz apenas o encapsulamento e não oferece nenhuma proteção aos dados trafegados. Para isso seria necessário a utilização do IPSEC ou qualquer outro protocolo para criptografar as informações.
Apostila/E-B
ook do Curso
IPv6
Página 81
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Algumas condições devem estar estabelecidas para que o túnel GRE fique “UP”:
Túneis de srcem e de destino devem estar configurados e os IPs de srcem e destino devem ser alcançáveis; A rede IP do túnel está na tabela de roteamento; Keepalives GRE são recebidos (se utilizado); GRE deve estar configurado como modo padrão de túnel.
A maior vantagem do túnel GRE em relação ao túnel manual é sua flexibilidade, pois com um único túnel GRE podemos transportar do IPv6 vários outros tráfegos, recurso que os túneis configurados manualmente (MCT)além não suportam. 3.2.3
Túneis 6to4 Automáticos
Os túneis 6to4 estão definidos na RFC 3056 e necessitam de menos configurações que todos os demais tipos de túneis quando adicionamos novas localidades à infraestrutura srcinal, pois eles são túneis dinâmicos e multipontos, exigindo menos configurações para definição de alcançabilidade entre as localidades. Dessa forma, apenas os novos roteadores devem ser configurados e não haverá necessidade de configuração extra nos roteadores existentes. Normalmente os túneis 6to4 utilizam a faixa de endereçamento 2002::/16, dedicada aos túneis 6to4, porém também suportam o uso de endereços globais de unicast com alguma configurações extra em relação à faixa dedicada, o que estudaremos no próximo tópico desse capítulo. O endereçamento dos túneis 6to4 automáticos deve ser planejado antes da sua implantação, sendo que o endereço IPv4 da interface é armazenado no segundo e terceiro quarteto do endereço IPv6 (normalmente uma interface loopback). Para o planejamento partimos do endereço 2002::/16 e com o endereço IP derivamos um /48 (o endereço IP tem 32 bits mais o /16 srcinal temos um /48), a partir daí podemos utilizar IDs de interface de 64 bits e sobram 16 bits para subrede, veja figura abaixo.
Portanto iniciamos escolhendo os endereços IPv4 que servirão como srcem (source address) para alocar as redes e subredes. A alocação dos endereços IPv6 iniciam com o endereço do túnel, o qual é o prefixo 2002:: mais o endereço ipv4 da interface loopback convertido em hexadecimal com uma máscara /128. Depois com essa mesma base de endereço podemos utilizar as subredes para definir as redes internas daquele roteador. O mesmo será feito nos roteadores remotos. Veja exemplo na figura abaixo.
Apostila/E-B
ook do Curso
IPv6
Página 82
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Note que para cada localidade fizemos quatro passos para o endereçamento: 1. Determinação do IPv4 da interface loopback que servirá como base para os túneis (source address); 2. Converter o IPv4 para hexadecimal e determinar a rede /48 que será utilizada naquele em cada roteador; 3. Determinação da subrede que será utilizada para endereçar a rede local que deve se comunicar uma com as outras através dos túneis; 4. das Determinação localidades.dos endereços que serão utilizados nos túneis e identificarão cada uma A configuração é bem parecida com o que fizemos para os exemplos anteriores, porém não vamos agora utilizar o comando para definir o destino dos túneis (tunnel destination), pois eles são formados automaticamente. Para configurar o túnel como 6to4, dentro da interface túnel utilizamos o comando “tunnel mode ipv6ip 6to4”. Veja as configuraç ões passo a passo do roteador R1 abaixo: R1(config)#ipv6 unicast-routing R1(config)#! Criando a interface loopback R1(config)#interface Loopback10 R1(config-if)#ip address 10.9.9.1 255.255.255.255 R1(config-if)#! R1(config-if)#! Criando o túnel 6to4 R1(config-if)#interface Tunnel10 R1(config-if)#no ip address R1(config-if)#ipv6 address 2002:a09:901::/128 R1(config-if)#tunnel source Loopback10 R1(config-if)#tunnel mode ipv6ip 6to4 R1(config-if)#! R1(config-if)#! Configurando o endereço IPv6 na LAN de R1 R1(config-if)#interface FastEthernet0/0 R1(config-if)#ipv6 address 2002:A09:901:1::1/64 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#exit R1(config)# ! Configurando rota estática para a rede 2002::/16 R1(config)#ipv6 route 2002::/16 Tunnel10
Apostila/E-B
ook do Curso
IPv6
Página 83
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Na prática o comando “tunnel mode ipv6ip 6to4” fala para roteador R1 olhar o segundo e terceiro quartetos do endereço IPv6 de destino e encontrar o endereço IPv4 de destino para o fechamento do túnel, por isso não precisamos configurar o comando “tunnel destination”. Por exemplo, quando damos a partir de R1 um “ping 2002:A09:904:4 ::1” queremos alcançar a LAN do roteador R2, com isso R1 analisa os dois quartetos em hexadecimal “A09:904”, convertendo em decimal pontuado para encontrar o IPv4 de des tino para fechamento do túnel: “A09:904 = 0A09:0904 = 0000101000001001:0000100100000100 = 00001010.00001001.00001001.00000100 = 10.9.9.4”. Portanto, R1 sabe que tem que usar
como destino do túnel 10.9.9.4 sem a necessidade de configuração prévia. Se você lembrar do GRE ou do túnel manual precisaríamos configurar um túnel ponto a ponto entre cada uma das localidades. Veja que o último comando definiu uma rota estática apontando para a rede 2002::/16, pois essa é uma das limitações dos túneis 6to4 automáticos, ou seja, eles não suportam os IGPs IPv6 e somente podem ter seu alcance configurado via rota estática ou MP-BGP. Veja a saída do comando “show ipv6 int brief” e da tabela de roteamento IPv6 abaixo.
R1#sho ipv6 int bri tunnel 10 Tunnel10 [up/up] FE80::A09:901 2002:A09:901:: R1#sho ipv6 route IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery S 2002::/16 [1/0] via Tunnel10, directly connected LC 2002:A09:901::/128 [0/0] via Tunnel10, receive C 2002:A09:901:1::/64 [0/0] via FastEthernet0/0, directly connected L 2002:A09:901:1::1/128 [0/0] via FastEthernet0/0, receive C 2010:100::/64 [0/0] via Tunnel1, directly connected L 2010:100::2/128 [0/0] via Tunnel1, receive L FF00::/8 [0/0] via Null0, receive
Note que no comando “show ipv6 interface brief” podemos confirmar o endereço IPv6 configurado dentro da faixa 2002::/16 e o endereço de link local, o qual foi derivado do endereço configurado na interface Tunnel10 com o prefixo FE80::/96, porém utiliza os últimos dois quartetos do endereço IPv4 convertido em hexadecimal. Com o comando traceroute podemos testar se os túneis estão sendo fechados corretamente e encaminhados para as localidades corretas, veja exemplo abaixo. R1# trace 2002:a09:903:3::3 Type escape sequence to abort. Tracing the route to 2002:A09:903:3::3 1 2002:A09:903::3 4 msec 4 msec 4 msec
Apostila/E-B
ook do Curso
IPv6
Página 84
tel 41 3045.7810 - info
3.2.4
dltec.com.br - www.dltec.com.br
Túneis 6to4 Automáticos com Endereçamento Global de Unicast
No exemplo anterior endereçamos todas as redes com endereços 2002::/16, ou seja, utilizando o prefixo reservado para o 6to4, portanto essa rede é como se fosse privativa, pois esses endereços não são válidos de Internet. Caso seja necessário utilizar endereços globais de unicast nas redes LAN que necessitam ter conectividade entre si via túnel, o 6to4 também pode ser utilizado, porém como o endereço da LAN remota não terá mais o padrão utilizado com o terceiro e quarto quarteto indicando o endereço IPv4 do host remoto para o estabelecimento do túnel, rotas estáticas deverão ser criadas para ensinar ao roteador local utilizar o próximo salto correto para poder fechar os túneis automáticos. Veja a figura abaixo com um exemplo prático de configuração do túnel 6to4 com endereços globais unicast. Note que a configuração das loopbacks e dos túneis continuarão os mesmos, o que está variando são os endereços das LANs de R1, R2 e R3.
Vamos analisar o fluxo através da figura acima. Tudo começa quando o PC1 faz um ping para o PC3 (1), o qual está conectado ao roteador R3. Quando o roteador recebe o pacote (2) ele analisa a tabela de roteamento e encontra o próximo salto (next hop) para a rede 2000:0:1:3::/64 apontando para o túnel zero e relacionado ao IPv6 de R3 (2002::a09:903::/128), o qual é resolvido pela rota estática, como configuramos no exemplo anterior, apontando a rede 2002::/16 para a interface túnel 0. Portanto, as diferenças agora são os IPv6 configurados nas interfaces LAN e a adição de duas rotas estáticas para que R1 saiba encaminhar para as LANs de R2 e R3:
ipv6 route 2000:0:1:3::/64 tunnel0 2002:a09:903:: ipv6 route 2000:0:1:4::/64 tunnel0 2002:a09:904::
Apostila/E-B
ook do Curso
IPv6
Página 85
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Veja a configuração completa de R1 abaixo. R1(config)#ipv6 unicast-routing R1(config)#! Criando a interface loopback R1(config)#interface Loopback0 R1(config-if)#ip address 10.9.9.1 255.255.255.255 R1(config-if)#! R1(config-if)#! Criando o túnel 6to4 R1(config-if)#interface Tunnel0 R1(config-if)#no ip address R1(config-if)#ipv6 address 2002:a09:901::/128 R1(config-if)#tunnel source Loopback0 R1(config-if)#tunnel mode ipv6ip 6to4 R1(config-if)#! R1(config-if)#! Configurando o endereço IPv6 global na LAN de R1 R1(config-if)#interface FastEthernet0/0 R1(config-if)#ipv6 address 2000:0:1:1::1/64 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#exit R1(config)# ! Configurando rota estática para a rede 2002::/16 R1(config)#ipv6 route 2002::/16 Tunnel0 R1(config)#ipv6 route 2000:0:1:3::/64 tunnel0 2002:a09:903:: R1(config)#ipv6 route 2000:0:1:4::/64 tunnel0 2002:a09:904::
As rotas remotas podem ser aprendidas apenas via rota estática ou BGP. Também continua valendo a mesma regra que estudamos anteriormente de que os IGPs não são passados via túnel 6to4. 3.2.5
Túneis ISATAP
O túnel ISATAP é bastante similar ao 6to4 e também utiliza o endereço IPv4 codificado dentro do endereço IPv6. Assim como estudado para 6to4 a srcem do túnel ISATAP é um IPv4 e o endereço de destino não será especificado via comando (tunnel destination), pois ele também é um túnel do tipo automático e multiponto. O ISATAP está definido na RFC 4214. O endereço do túnel ISATAP combina o prefixo da rede, com 0000:5EFE nos quartetos 5 e 6 mais o endereço IPv4 de 32 bits da interface de srcem inserido nos dois últimos quartetos do IPv6 (quartetos 7 e 8). O endereços de link-local da interface ISATAP utiliza o prefixo FE80::/64 e como host ID utiliza 0000:5EFE seguido do endereço IPv4 nos últimos octetos, da mesma forma que o endereço global é formado. Por exemplo, se o túnel tem o IPv4 de srcem 10.8.8.8 seu endereço IPv6 de link local será FE80::5EFE:A08:808. Ainda considerando o mesmo exemplo, suponha que o prefixo de rede utilizado é 2001:1:2:3::/64, portanto o túnel ISATAP terá o endereço 2001:1:2:3:0:5EFE:A08:808. Os túneis ISATAP não suportam multicast e precisam ser configurados com rota estática ou BGP se o destino do túnel está em uma subrede IPv6 diferente, semelhante ao que fizemos para os túneis 6to4 que utilizam endereços globais unicast. Vamos a um exemplo de configuração do ISATAP no roteador R1, o qual é ativado com o comando “tunnel mode ipv6ip isatap” dentro da interface túnel, conforme topologia abaixo.
Apostila/E-B
ook do Curso
IPv6
Página 86
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
R1(config)#ipv6 unicast-routing R1(config)#! R1(config)#interface Loopback1 R1(config-if)#ip address 10.9.9.1 255.255.255.255 R1(config-if)#! R1(config-if)#interface Tunnel9 R1(config-if)#no ip address R1(config-if)#ipv6 address 2000:0:1:9::/64 eui-64 R1(config-if)#tunnel source Loopback1 R1(config-if)#tunnel mode ipv6ip isatap R1(config-if)#! R1(config-if)#interface FastEthernet0/0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#ipv6 address 2000:0:1:1::1/64 R1(config-if)#exit R1(config)#ipv6 route 2000:0:1:3::/64 2000:0:1:9:0:5EFE:A09:903 R1(config)#ipv6 route 2000:0:1:4::/64 2000:0:1:9:0:5EFE:A09:904
Note que a configuração do endereço IPv6 da interface túnel deve ser realizada definindo apenas um prefixo e a opção “eui-64”. Além disso, não utilizamos o comando “tunnel destination” e o alcance aos destinos remotos foram definidos com rotas estáticas.
Veja abaixo a saída dos comandos “show ipv6 int brief” e “show ipv6 route”. R1# show ipv6 interface brief FastEthernet0/0 [up/up] FE80::213:19FF:FE7B:5026 2000:0:1:1::1 Loopback1 [up/up] unassigned Tunnel9 [up/up] FE80::5EFE:A09:901 2000:0:1:9:0:5EFE:A09:901 R1# show ipv6 route
Apostila/E-B
ook do Curso
IPv6
Página 87
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
IPv6 Routing Table - Default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2000:0:1:1::/64 [0/0] via FastEthernet0/0, directly connected L 2000:0:1:1::1/128 [0/0] via FastEthernet0/0, receive S 2000:0:1:3::/64 [1/0] via 2000:0:1:9:0:5EFE:A09:903 S 2000:0:1:4::/64 [1/0] via 2000:0:1:9:0:5EFE:A09:904 C 2000:0:1:9::/64 [0/0] via Tunnel9, directly connected L 2000:0:1:9:0:5EFE:A09:901/128 [0/0] via Tunnel9, receive L FF00::/8 [0/0] via Null0, receive 3.3 Técnicas de Tradução
–
NAT-PT
Em vez de substituir o IPv4 existem várias maneiras de coordenar o funcionamento do IPv4 e IPv6 simultaneamente, sendo que o NAT Protocol Translation (NAT-PT) é um exemplo desta estratégia de convivência, definido na RFC 2766, e atualmente considerado em desuso, pois outras tecnologias mais eficientes estão sendo desenvolvidas para o mesmo fim. O NAT-PT faz a tradução bidirecional entre endereços IPv4 e IPv6, recomendado quando hosts utilizando o IPv4 tem a necessidade de estabelecer uma sessão com hosts configurados com IPv6 e vice-versa. Se os hosts se comunicam usando nomes de DNS um aplicativo como o DNS ALG (DNS Application Layer Gateway) pode resolver nomes para endereços IPv4 e IPv6. Para habilitar o NAT-PT em um roteador utilizamos o comando "ipv6 nat" em modo de configuração de interface onde o tráfego precisa ser traduzido, além disso deve ser configurado pelo menos um prefixo para o NAT-PT, o qual é usado para decidir qual o tráfego será permitido pelo NAT, pois apenas o tráfego que dê correspondência com o prefixo definido será traduzido. Essa configuração é feita tanto no modo de configuração global (para aplicar ao roteador todo) ou no modo de configuração de interface (para aplicar apenas ao tráfego nessa interface) com o comando "ipv6 nat prefix prefixo/comprimento-do-prefixo".
Apostila/E-B
ook do Curso
IPv6
Página 88
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Veja a figura abaixo com o exemplo de funcionamento do NAT-PT estático e a seguir a explicação de cada passo executado na tradução da comunicação do PC1, o qual é totalmente IPv6, com o servidor S1 que por sua vez é totalmente IPv4.
1. O PC1 envia um pacote IPv6 para o destino 2333::1 e srcem 2111::1 (seu próprio endereço IPv6). O IPv6 2333::1 está configurado em R1, o qual receberá essa mensagem. 2. O roteador R1 está com o NAT-PT configurado e está “escutando” as requisições ao destino 2333::1, ao receber a mensagem o roteador R1 converte o cabeçalho IPv6 para outro pacote no padrão IPv4. 3. Por O pacote IPv4 é encaminhado pela até o servidor 4. sua vez o servidor S1 recebe a rede requisição, processaS1. e envia uma resposta através de um pacote IPv4 em direção ao endereço (que ele “pensa” que é do host PC1) com
srcem 10.2.2.2 e destino 10.9.9.1. O endereço 10.9.9.1 está na realidade configurado em R1, portanto é ele quem recebe esse pacote IPv4 através da rede IPv4. 5. Quando R1 recebe o IPv4 10.9.9.1 ele converte o pacote para o padrão IPv6, pois ele está com o NAT-PT configurado. 6. Por último, o roteador R1 encaminha o pacote IPv6 para o host PC1, o qual “pensa” que se comunicou com um servidor IPv6. O NAT-PT pode ser estático ou dinâmico, assim como para o IPv4 temos o NAT estático e o PAT, veja a seguir maiores informações e os comandos utilizados em cada um dos casos.
Apostila/E-B
ook do Curso
IPv6
Página 89
tel 41 3045.7810 - info
3.3.1
dltec.com.br - www.dltec.com.br
NAT-PT Estático
Na tradução estática de endereços IPv6 para IPv4 utilizamos o comando “ipv6 nat v6v4 source end-ipv6 end-ipv4”. Já para configurar o mapeamento estático de um endereço IPv4 para um IPv6 utilizamos o comando “ipv6 nat v4v6 source end -ipv4 end-ipv6”. Veja o exemplo de
configuração utilizado no item 5.3, onde o endereço IPv6 2333::1 foi mapeado como 10.2.2.2 e o endereço IPv4 10.9.9.1 foi mapeado com o IPv6 2111::1 . Logo após o comando “ show ipv6 nat translations” pode ser utilizado para confirmar o mapeamento estático. R1#conf t Enter configuration one2333::1 per line. End with CNTL/Z. R1(config)#ipv6 nat commands, v6v4 source 10.2.2.2 R1(config)#ipv6 nat v4v6 source 10.9.9.1 2111::1 R1(config)#end R1# R1#sho ipv6 nat translations Prot IPv4 source IPv6 source IPv4 destination IPv6 destination ------10.9.9.1 2111::1 ---
10.2.2.2 2333::1 ----O comando “show ipv6 nat translations” mostra tanto as traduções estáticas como as dinâmicas
realizadas pelo NAT-PT. 3.3.2
NAT-PT Dinâmico e Overloading
O mapeamento dinâmico utiliza uma faixa (pool) de endereços que são alocados temporariamente conforme demanda exigida pelos como na o NAT dinâmicopode do IPv4. O pool de endereços, tanto de srcem como a hosts, seremassim utilizados tradução, ser configurado via ACL ou route-map, proporcionando um melhor controle do tráfego. Para criar um pool de NAT-PT para tradução de endereços IPv4 em endereços IPv6 temos que definir o pool e depois configurar a tradução com os comandos abaixo: 1. ipv6 nat v4v6 pool nome-do-pool ipv6-inicial ipv6-final prefix-length tamanho-do-prefixo 2. ipv6 nat v4v6 source list {num-da-acl | nome-da-acl} pool nome-do-pool Para criar um pool e habilitar o NAT-PT para traduzir endereços IPv6 em endereços IPv4 também devemos definir a faixa de endereços a serem utilizados na tradução e a srcem que será traduzida com os comandos abaixo: 1. ipv6 nat v6v4 pool nome-do-pool ipv4-inicial ipv4-final prefix-length tamanho-do-prefixo 2. ipv6 nat v6v4 source {list num-ou-nome-da-acl | route-map nome} pool nome-do-pool Podemos também utilizar o parâmetro “overload” para traduzir utilizando IPs e números de
porta TCP e UDP, exemplo, podemos fazer a tradução de IPv6 para IPv4 utilizando o IP de uma interface compor overload. Para verificar as traduções dinâmicas e estáticas do NAT-PT utilizamos os mesmos comandos: “show ip nat translations”, “show ip nat statistics”, “show ipv6 nat translations” e “show ipv6 nat statistics”.
Apostila/E-B
ook do Curso
IPv6
Página 90
tel 41 3045.7810 - info
3.3.3
dltec.com.br - www.dltec.com.br
NAT64 e DNS64
O NAT64 é uma técnica stateful de tradução de pacotes IPv6 em IPv4, permitindo que uma rede puramente IPv6 acesse serviçso e hosts disponíveis apenas em IPv4. As técnicas estudadas anteriormente podem ser implantadas, porém estão caindo em desuso e o NAT64/DNS64 tem ganho cada vez mais espaço nas implementações práticas. Ele trabalha em conjunto com uma técnica auxiliar para a conversão do DNS chamada DNS64, definida na RFC 6147. O NAT64 eIPv6 DNS64 São sistemas trabalhamDNS em realizada conjunto pelo na tradução tanto dos endereços em IPv4, como na distintos tradução que da requisição cliente IPv6. O NAT64 faz tradução de endereços IPv4 em IPv6 conforme RFC 6052, onde dos bits 64 a 71 são reservados para a compatibilidade de identificação de host conforme a RFC 4291 e devem ser zeros. Já o prefixo IPv6 pode ser escolhido pela operadora, mas é recomendada a utilização do prefixo 64:ff9b::/96, reservado especificamente para a utilização em algoritmos de mapeamento de endereços IPv4 em IPv6. Por exemplo, o IPv4 de um host IPv4 200.0.103.1 seria convertido para o endereço IPv6 64:ff9b::200.0.103.1 pelo NAT64 e repassado ao cliente IPv6. Veja a figura a seguir com um exemplo de funcionamento do NAT64 e DNS64. Nesse exemplo o host (GGNS) solicita ao DNS64 pelo nome “nome.ex”, o qual descobre que esse nome não existe como IPv6 (consulta AAAA dá erro) e descobre que o host tem IPv4 1.2.3.4 (A). Ao repassar para o host IPv6 envia o IPv4 do host convertido para 64:ff9b::1.2.3.4. Nesse momento o host envia para seu gateway, um roteador com NAT64 habilitado, o qual reconhece a solicitação e traduz do IPv6 64:ff9b::1.2.3.4 para um pacote IPv4 com endereço de destino 1.2.3.4. No retorno realizado pelo host remoto 1.2.3.4 o gateway NAT64 traduz o IPv4 1.2.3.4 para o IPv6 64:ff9b::1.2.3.4 e envia para o host IPv6 solicitante.
Apostila/E-B
ook do Curso
IPv6
Página 91
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
O suporte ao DNS64 está suportado por diversos servidores DNS, por exemplo, no BIND9 um dos serviços de DNS mais utilizados globalmente na Internet. Para ativar o DNS64 no BIND é extremamente simples, basta adicionar as seguintes opções na configuração atual do servidor e depois reiniciar o serviço: options { dns64 64:ff9b::/96 { clients {any;}; mapped {any;}; suffix ::; recursive-only yes; break-dnssec yes; };
O NAT64 é suportado por vários fabricantes de dispositivos de rede, tais como Cisco e Juniper, assim como podem ser instalados em servidores Linux. O Windows Server 2012 também suporta de forma nativa o NAT64 e DNS64. Em dispositivos Cisco o NAT64 é suportado pelo ASR1000 Cisco IOS XE ou dispositivos com Cisco IOS XR. Para testes em laboratório mais interessante é implementar em servidores ou VMs Linux utilizando uma das várias opções de implementação do NAT64 no Linux, uma delas é a desenvolvida pelo projeto Ecdysis (http://ecdysis.viagenie.ca ), que também pode ser utilizada em sistemas operacionais *BSD.
Apostila/E-B
ook do Curso
IPv6
Página 92
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Capítulo 5 - Conceitos de Segurança no IPv6 Em muitos sistemas operacionais e dispositivos de rede o IPv6 já vem habilitado por padrão, com preferência em relação ao IPv4 e configurado para pegar endereços via um DHCPv6 ou autoconfiguração. Portanto mesmo que você afirme: “Na rede onde trabalho não utilizamos IPv6!”, se o protocolo não foi desabilitado ou inserido filtros nos dispositivos de rede a resposta correta é: “Sim, utilizamos mas está na configuração padrão!”.
Objetivos do Capítulo Ao final do capítulo você terá estudado os conceitos básicos de segurança envolvidos em redes IPv6:
Principais problemas de segurança IPv6 First Hop Security – segurança no primeiro salto Mecanismos e dispositivos de segurança para redes IPv6 Cuidados gerais com a implementação do IPv6
Por isso, esse é um capítulo muito importante para evitar riscos de segurança que podem ser causados pelo IPv6, tanto por ataques ou erros de configuração.
Aproveite o capítulo e bons estudos!
Apostila/E-B
ook do Curso
IPv6
Página 93
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Sumário do Capítulo 1
Introdução a Segurança em Redes IPv6 95 1.1
Principais Riscos em Redes IPv6 ____ 96
1.1.1 Entrada e saída de tráfego IPv6 falso (Rogue Traffic) __________________________ 97 1.1.2 Riscos relacionados a mecanismos de transição como túneis IPv6 ________________ 97 1.1.3 Dispositivos IPv6 Intrusos (Rogue Devices) 98 1.1.4 Uso Indevido dos Cabeçalhos de Extensão do IPv6 ________________________ 99 1.1.5 Riscos Relativos ao ICMPv6 e Multicast Nativo 99
2
First Hop Security _______________ 100
3 Mecanismos e Dispositivos de Segurança para Redes IPv6 ____________________ 101 3.1 Source Address Validation Improvements (SAVI) _________________ 102 3.2
Secure Network Discovery (SEND) _ 102
3.3 Router Advertisement Guard (RA Guard) _____________________________ 103 3.4 Listas de Controle de Acesso nas Portas dos Switches (ACL/PACL) ______________ 103 3.5
4
Apostila/E-B
Outros Riscos de Segurança ao IPv6 104
Cuidados e Considerações Finais ___ 105
ook do Curso
IPv6
Página 94
tel 41 3045.7810 - info
1
dltec.com.br - www.dltec.com.br
Introdução a Segurança em Redes IPv6
Os maiores riscos de segurança relacionados ao IPv6 tem srcem em “bugs” (falhas de
programação) nos códigos, fraquezas do próprio protocolo e problemas de implementação por parte dos fabricantes, pois a interpretação e implementação das RFC’s no início podem
realmente não ser o ideal e apresentar falhas. Outro importante fato é que a rede IPv6 foi desenhada para ser fim a fim com endereços válidosinternos de Internet, o uso de redes RFC1918, privativas pois e NAT, o que acaba nonão IPv4são protegendo os hosts com sem o endereçamento esses endereços válidos na Internet. Esse desafio será enfrentado tanto por empresas como usuários residenciais, pois os hosts ficarão muito mais suscetíveis às invasões. Outro fator importante é o treinamento ou capacitação da equipe técnica das empresas em relação ao IPv6. Muitos administradores de rede ignoram a existência do IPv6 em suas redes corporativas, porém a Microsoft começou a habilitar o IPv6 por padrão no Windows Vista, sendo que essa política continuou a mesma com o Windows Server 2008 e Windows 7. Mais recentemente o Windows 8 e Windows Server 2012 também tem o IPv6 habilitado por padrão. Então, caso aconteça um incidente envolvendo o IPv6, não podemos simplesmente dizer “Nossa, o IPv6 estava habilitado por padrão? Não sabia...”!
Outros sistemas operacionais como o Mac OS X da Apple, Linux e Solaris também apresentam suas últimas distribuições com o IPv6 habilitado. Já nos dispositivos de rede, como roteadores e switches, normalmente quando há suporte ao IPv6 ele precisa ser ativado, não sendo distribuído habilitado por padrão, como é o caso dos dispositivos da Cisco. Alémem disso, normalmente recursos maistornando avançados de segurança em IPv6 não foram implementados dispositivos de pequeno porte, a implementação segura mais cara, pois pode depender da necessidade de troca de dispositivos ou upgrades em versões de sistemas operacionais ou firmwares, o que nem sempre são gratuitos. Portanto, o que devemos fazer em redes corporativas ou até com nossos dispositivos que possuem sistema operacional com suporte ao IPv6 nativo e habilitado por padrão? Devemos deixar habilitado ou não? Essa ainda é uma resposta controversa, pois muitos especialistas recomendam não desabilitar o IPv6 e iniciar a adaptação da equipe de TI com esse novo protocolo, porém de maneira sistemática, ou seja, com planejamento e sempre levando em conta que será necessário estabelecer padrões e políticas para que esse tráfego seja auditado e reconhecido pelos dispositivos de segurança já implementados para o IPv4. Existe outra linha mais radical de especialistas, principalmente da área de segurança, que recomendam não ativar o protocolo se não for realmente uma necessidade, pois vale a regra simples de se o protocolo não tem uso real não deve ser habilitado na rede. Como já citamos várias vezes durante o curso, muitos sistemas operacionais já tem o protocolo IPv6 habilitado por padrão, por isso se nada foi feito os computadores da sua empresa ou da sua casa que tem um desses sistemas operacionais instalados já estão com o suporte ao IPv6 e pode sim sofrer muito facilmente um ataque.
Apostila/E-B
ook do Curso
IPv6
Página 95
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
É importante lembrar que o IPv6 não é um protocolo maduro como o IPv4, por isso existem muitos riscos que ainda nem sabemos e são descobertos dia a dia. Devido a esse fato da maturidade do protocolo, existem riscos muito simples e básicos, tal como inserir um computador com DHCPv6 que em seu escopo esteja o IP de um DNS falso, que aponte para o próprio computador, o qual fará o redirecionamento de Websites para o próprio computador do atacante. O ataque citado acima é tão simples que parece impossível acontecer, porém se sua rede não estiver preparada para o IPv6 ele pode sim ser facilmente implementado e possibilitar a espionagem pessoais e até mesmo captura usuários e senhas que dão acesso a sistemas ou informações dos usuários de de rede. Podemos classificar os problemas com a implantação do IPv6 não somente com riscos com ataques feitos por hackers, mas também com erros de configuração ou ativação de recursos em hosts que podem causar sérios problemas. Por exemplo, se houver IPv6 configurado em uma placa de rede do Windows e for realizado o compartilhamento da Internet por essa interface esse host fará a alocação de IPv6 para os clientes que estiverem na mesma subrede, se você tem IPv6 já implantado teremos hosts recebendo IPs do roteador ou DHCPv6 padrão e também do computador com a Internet compartilhada. A maioria dos riscos mais iminentes está no primeiro salto (first hop), ou seja, na rede local. Outros riscos como ataques de man-in-the-middle, quebra de senhas por força bruta, sniffing de redes (captura de pacotes), etc., continuam existindo. No entanto, vamos verificar que os novos riscos são os mais importantes, pois são vulnerabilidades simples de serem exploradas pela falta de cuidado ou de informação pelos administradores de redes acostumados com o IPv4 e ainda não ao IPv6. Esse é vasto e nossa intenção comjáesse capítulo redes é abrircom os olhos dose alunos para “IPv6 essa nova assunto realidade, principalmente para quem administra clientes servidores Ready”. Tenha em mente que o IPv6 pode ser um tráfego invisível se seu sistema de monitoração e segurança não reconhece esse protocolo! 1.1 Principais Riscos em Redes IPv6
As vulnerabilidades mais comuns do IPv6 podem ser classificadas nos cinco grupos abaixo:
Tráfego intruso ou falso Mecanismos de transição Dispositivos intrusos Uso de cabeçalhos e propriedades do protocolo indevidamente Riscos relacionados ao ICMPv6 e Multicast
O pacote de ferramentas para testar vulnerabilidade em redes IPv6 é o THC-IPV6, o qual traz ferramentas para explorar muitas das vulnerabilidades que trataremos nesse capítulo. O pacote está disponível para o Linux no link abaixo: http://www.thc.org/download.php?t=r&f=thc-ipv6-2.3.tar.gz As informações sobre o que está disponível nesse pacote está disponível no link abaixo: http://www.thc.org/thc-ipv6/ E se você ainda não conhece muito de linux não deixe de conferir nossos cursos online linux.
Apostila/E-B
ook do Curso
IPv6
Página 96
tel 41 3045.7810 - info
1.1.1
dltec.com.br - www.dltec.com.br
Entrada e saída de tráfego IPv6 falso (Rogue Traffic)
Redes corporativas que não estão implementando IPv6 e não planejam fazê-lo em breve devem usar seus firewalls para bloquear o tráfego IPv6 de entrar e sair de suas redes. A maioria dos especialistas diz que esta deve ser uma medida temporária, porque uma quantidade crescente de tráfego de Internet está baseada em IPv6 e não podemos limitar o acesso a clientes ou parceiros de negócios em todo o mundo que estarão usando IPv6. O que é necessário fazer dentro de sistemas de prevenção de intrusão (IPS) ou dos firewalls é analisar com cuidado o tráfego IPv6 e bloqueá-lo se não estiver implementado dentro da rede e com tempo, apóse iniciar a implementação segura na rede interna, criar regras e políticas claraso para entrada saída desse tráfego. 1.1.2
Riscos relacionados a mecanismos de transição como túneis IPv6
Os tipos de túneis IPv6 mais comuns são: 1. Teredo 2. 6to4 3. Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) Note na saída do comando “ netsh interface ipv6 show address” abaixo de um computador com
o Windows 7 e em destaque os túneis que são criados por padrão. Temos na interface 13 um túnel Teredo e nas interfaces 12, 14 e 15 temos túneis ISATAP. C:\>netsh interface ipv6 show address Interface 1: Loopback Pseudo-Interface 1 Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- -----------------------Other
Preferred
infinite
infinite ::1
Interface 12: isatap.{9F08D2C7-12DA-4F1C-8D44-172E05ECACDE} Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- -----------------------Other Preferred infinite infinite fe80::5efe:192.168.1.11%12 Interface 13: Teredo Tunneling Pseudo-Interface Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- -----------------------Other Deprecated infinite infinite fe80::100:7f:fffe%13 Interface 11: Local Area Connection Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- -----------------------Public Preferred 27d16h45m15s 4d16h45m15s 2001:db8:1000:0:75be:aa89:d549:3f a7 Dhcp Preferred infinite infinite 2001:db8:1000:0:9c6b:a192:3de1:7e6a Temporary Preferred 4d14h8m34s 4d14h8m34s 2001:db8:1000:0:b832:b93c:1d0c:99ab Public Preferred 27d14h15m22s 4d14h15m22s 2001:db8:1111:0:75be:aa89:d549:3f a7 Temporary b Other
Preferred
4d12h16m53s 4d12h16m53s 2001:db8:1111:0:b832:b93c:1d0c:99a
Preferred
infinite
infinite fe80::75be:aa89:d549:3fa7%11
Interface 14: isatap.{00CCF9DE-5ECB-400F-9E54-9EB1E1121F11} Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- -----------------------Other Deprecated infinite infinite fe80::5efe:169.254.6.184%14 Interface 15: isatap.{70EEDD68-3BE3-46D9-98BA-F1C3B8F7A19D} Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- -----------------------Other Deprecated infinite infinite fe80::5efe:192.168.111.1%15
Apostila/E-B
ook do Curso
IPv6
Página 97
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Esses túneis permitem, portanto, que pacotes IPv6 sejam encapsulados em pacotes IPv4 e atravessarem os firewalls ou roteadores NAT, mesmo que você bloqueie o tráfego IPv6 em seu firewall, uma vez que para o gerenciamento de redes pacotes IPv6 tunelados parecem com pacotes IPv4 normais, sendo liberados pela política de segurança padrão. Nesse caso, os administradores de rede necessitam utilizar o “deep packet inspection” (DPI – inspeção profunda de pacotes) em seus fire walls ou IPS’s para que os pacotes sejam analisados
e verificados se não existe tráfego IPv6 tunelado sendo enviado através da rede. Especialistas de segurança perceberam que "ataques tradicionais ao IPv4" tiram vantagem do tunelamento IPv6 para entrar na rede, uma vez que o tráfego tunelado não é inspecionado por padrão. 1.1.3
Dispositivos IPv6 Intrusos (Rogue Devices)
O recurso de autoconfiguração nativo dos dispositivos IPv6 permitem que um atacante insira um dispositivo (roteador ou servidor) intruso (rogue d evice ou “pirata”) que irá fornecer endereços IPv6 a todos os hosts de rede com IPv6 habilitados, sejam computadores, servidores ou dispositivos móveis. Isso tudo sem nem a administração de rede saber, pois se o tráfego IPv6 não está sendo monitorado nada será notado. Com esse dispositivo falso ou pirata o hacker pode configurar sua própria rede IPv6 e os hosts irão assumir que ele é um roteador IPv6 válido, possibilitando que TODO o tráfego seja redirecionado a esse dispositivo pirata, permitindo que esse tráfego seja espionado, alterado ou até mesmo bloqueado. Veja a figura a seguir com um exemplo onde um atacante envia seu próprio endereço como rota padrão para um host da rede sobrescrevendo a informação anterior enviada pelo roteador válido de rede.
Outro risco está no envio de mensagens do protocolo de vizinhança do IPv6, o NDP, para causar negação de serviços (DoS - denial-of-service), uma vez que por padrão se um host recebe uma mensagem de solicitação de roteador (NS – Neighbor Solicitation) ele deve responder com um anúncio de vizinhança (NA – Neighbor Advertisement). Com o envio de varias dessas mensagens é possível fazer com que hosts ou servidores ocupem muita memória e processador e simplesmente parem de responder.
Apostila/E-B
ook do Curso
IPv6
Página 98
tel 41 3045.7810 - info
1.1.4
dltec.com.br - www.dltec.com.br
Uso Indevido dos Cabeçalhos de Extensão do IPv6
Devido a implementação recente e interpretação das RFC’s o próprio cabeçalho do IPv6, suas
extensões e bits de controles podem ser utilizados para atacar vulnerabilidades que permitem oportunidades de ataques de negação de serviços. Por exemplo, um atacante poderia utilizar o cabeçalho de extensão de roteamento para manipular como o tráfego irá ser encaminhado na Internet, permitindo que seja especificado no cabeçalho a rota a ser utilizada para encaminhar o tráfego. Com isso um hacker poderia utilizar esse recurso para saturar parte da rede ou interface de um roteador. Outro problema é que a fragmentação pode ser utilizada para dificultar ou simplesmente passar de forma transparente às técnicas de mitigação de riscos implementadas em dispositivos como switches de acesso, pois como implementar uma técnica que analise uma mensagem que foi quebrada em dois ou mais fragmentos antes do envio ao host de destino? Por exemplo, se o switch tiver um mecanismo que filtra mensagens de RA o atacante pode enviar as mensagens em pacotes fragmentados que o switch de acesso onde a facilidade está implantada não conseguirá distinguir que o que está sendo enviado é realmente uma mensagem de RA. Outros riscos existem com pacotes mal formados e bits do cabeçalho, porém não entraremos nesses detalhes por estarem além do pretendido com esse curso. 1.1.5
Riscos Relativos ao ICMPv6 e Multicast Nativo
Uma mudança do IPv6 em relação ao IPv4 é que o Internet Control Message Protocol versão 6 (ICMPv6) suporta tráfego multicast de maneira nativa, ou seja, o ICMPv6 trata por padrão o multicast uma vez que não existe mais broadcast no IPv6. Esses doisdotipos são partedeintegral dopodem funcionamento do IPv6 works,o ICMP portanto, diferente IPv4 de os tráfego administradores rede não simplesmente bloquear e o multicast. Com o IPv6 os administradores de rede terão que realizar o ajuste fino nos filtros para esses tipos de tráfego em seus roteadores e firewalls para permitir o tráfego seguro das mensagens indispensáveis que serão utilizadas pelos hosts e dispositivos de rede. Por exemplo, se você bloquear totalmente a troca de ICMPv6 simplesmente não haverá mais alocação dinâmica de IPs, pois o DHCPv6 precisa das mensagens de RA e o envio dos bits O/M setados conforme o tipo de serviço a ser utilizado na rede.
Apostila/E-B
ook do Curso
IPv6
Página 99
tel 41 3045.7810 - info
2
dltec.com.br - www.dltec.com.br
First Hop Security
Quando analisamos uma rede e seus dispositivos sobre onde é a melhor localização para garantir a segurança dos links podemos dividir essas localidades em três: os próprios hosts ou “end nodes” (os equipamentos finais dos usuários), “first hop” ou primeiro salto de rede (conexão entre o host e seu switch de acesso) e no último salto. Veja figura abaixo.
Quando falamos em segurança no primeiro salto em redes IPv4 praticamente todos os switches layer 2 ou 3 gerenciáveis possuem recursos que permitem administrar essas vulnerabilidades, pois o IPv4 já é um protocolo maduro e tem uma configuração de endereços bem definida. As principais ameaças em redes IPv4 no primeiro salto são servidores DHCP piratas (rogue DHCP), os quais possibilitam o encaminhamento de tráfego para espionagem ou roubo de informações como usuários e senhas, spoofing (falsificação) de endereços MAC e/ou IPv4 (falsificar endereços) e ARP poisoning. Essas ameaças são tratadas no IPv4 através de recursos como DHCP Snooping (definir portas que podem responder a requisições de IP), proteção e inspeção do protocolo ARP, segurança em portas de acesso, Dynamic IP lockdown e IP source guard (permitem que os IPs sejam validados através da tabela MAC e bloqueados em caso de falsificação). No IPv6 o ARP foi substituído por recursos do ICMPv6, mais especificamente pelo NDP e a alocação de endereços dinâmicos pode ser realizada por diversos métodos, sendo que o padrão é através da autoconfiguração e mensagens de RA e RS, também parte do ICMPv6 e do NDP. Portanto, como existem novos processos entre o usuário final e seu primeiro salto precisamos de novos recursos de segurança, pois temos novas ameaças em um ambiente de rede IPv6. Os principais riscos que uma rede IPv6 apresenta em seu primeiro salto são:
Servidor DHCPv6 pirata: servidor DHCPv6 pirata fornecendo endereçamento e
endereço de DNS falsos, permitindo diversos tipos de ataque, de espionagem até roubo de informações. Roteador enviando router advertise indevidamente : roteador anunciando prefixo por falha na configuração ou ativação indevida de recursos pelos usuários. Roteador pirata enviando router advertise falso propositalmente : nesse caso um hacker insere um roteador pirata enviando anúncios (RAs) propositalmente com fins maliciosos. ND cache poisoning: host atacante respondendo mensagens de solicitação de vizinho (NS) com um endereço MAC falso, geralmente seu próprio MAC para fazer ataque de man-in-the-middle ou espionagem. Source IP6 address spoofing: falsificação do endereço de srcem para fechar comunicação com determinado usuário, com finalidade praticamente igual ao ataque anterior. Ataque de negação de serviços utilizando o DAD: ataque de negação de serviços através de envios de solicitação (NS) utilizando o protocolo de descoberta de vizinhos. É um flood ou inundação de mensagens de neighbor solicitation.
Apostila/E-B
ook do Curso
IPv6
Página 100
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Sobrecarga na tabela de vizinhos IPv6 : ataque que visa sobrecarregar a tabela de
vizinhança de um dispositivo e também permitir que o atacante insira informações falsas. Falsificação de endereço MAC de srcem : possibilita que um atacante instrua a um host que o endereço MAC de determinado IP que ele deseja se comunicar é o dele, possibilitando espionagem e roubo de informações.
As maneiras mais simples de tratar essas ameaças é desabilitando o IPv6 nos clientes e servidores de rede, desse modo mesmo que um atacante tente ele não conseguirá invadir nenhum dispositivo, não decidir haverá utilizar tráfego oIPv6 algum na rede. Essa solução é radical, no momento que a porém empresa IPv6 os administradores de rede terão pois que reabilitar os serviços em todos os hosts. Outra solução é bloquear todo tráfego nos dispositivos de rede, por exemplo, bloquear no firewall que faz a conexão com a Internet o envio e recebimento de pacotes IPv6, assim como fluxo de IPv6 tunelado em IPv4. Porém, isso não impede o fluxo do IPv6 na LAN, por isso os switches de acesso também precisarão reconhecer o tráfego IPv6 e ter a capacidade de implementação de listas de controle de acesso ou filtros em suas portas de acesso onde os hosts estão conectados. A segunda solução também é radical, porém menos que a primeira, pois o IPv6 continuará habilitado nos hosts e apenas bloqueado nos dispositivos de redes. Porém em ambos os casos estamos tratando de uma rede IPv4 que não possui ainda previsão para implantação do IPv6, mas e se formos implementar o IPv6, quais os recursos de segurança de primeiro salto que podemos utilizar contra esses ataques mais comuns? Essa resposta será dada no tópico a seguir! 3
Mecanismos e Dispositivos de Segurança para Redes IPv6
Os primeiros recursos de segurança que estudaremos são os recomendados para o First Hop Security, aplicados nos roteadores e switches de acesso. Os dois primeiros métodos mais radicais já foram analisados no tópico anterior, ou seja, desativar o IPv6 nos clientes ou bloquear o tráfego IPv6 na Internet e portas dos switches de acesso, porém são recursos para redes onde o IPv6 não será utilizado nem implementado. Caso seja necessário implantar o IPv6 os recursos mais discutidos até o momento são:
SAVI SEND RA Guard ACL/PACL
A seguir vamos estudar cada um desses recursos de segurança para redes IPv6. Na sequência vamos estudar outros riscos que devem ser mitigados na implantação do IPv6.
Apostila/E-B
ook do Curso
IPv6
Página 101
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.1 Source Address Validation Improvements (SAVI)
O SAVI trata-se de uma série de técnicas complexas para filtragem de tráfego entrante de forma granular e padronização para validação dos endereços IPs de srcem. O framework tem opções de proteção para DHCP servers e aplica mecanismos parecidos com o DHCP snooping utilizado no IPv4. Seu suporte está limitado ao DHCPv4 e DHCPv6 e não trata de problemas como mensagens falsas de RA enviadas por roteadores intrusos (piratas). O SAVI é suportado por dispositivos da HP série A e é muito similar a uma técnica chamada “ND Inspection” disponível em dispositivos do fabricante Cisco. 3.2 Secure Network Discovery (SEND)
Como o próprio nome diz o SEND é a troca segura de mensagens do protocolo NDP. O SEND tem como base o uso de pacotes autenticados e uso de métodos de criptografia, sendo implementado nos roteadores e normalmente não necessita de suporte nos switches de acesso, reduzindo seu custo de implantação. Portanto, com o SEND as mensagens normais de vizinhança não são mais utilizadas, ele estabelece uma nova série de mensagens e procedimentos. No SEND uma cadeia de certificados é utilizada para certificar a autoridade dos roteadores, gerando a necessidade de uma estrutura de chaves públicas para realizar essa autorização. Além disso, os hosts não utilizam mais endereços estáticos ou EUI-64 e passa a utilizar endereços CGA, os quais são gerados criptograficamente.
Talvez a maior dificuldade em implementar o SEND é realmente a necessidade de se ter uma estrutura de chaves públicas de acordo com o X.509, uma vez que os certificados necessitam estar instalados nos clientes que utilizarão esse processo. Além disso, o roteador autorizado a enviar mensagens de que RA deve ter o certificado. Após certificados, uma vez eles expiram e precisam ser implementado reemitidos. existirá a manutenção dos Outro problema é verificar se os sistemas operacionais dos clientes IPv6 da rede suportam o SEND, pois atualmente ele não é amplamente suportado. Porém, com a implementação do SEND resolvemos os problemas relativos às fraquezas do protocolo de descoberta de vizinhança e dispositivos enviando mensagens de RA falsas.
Apostila/E-B
ook do Curso
IPv6
Página 102
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.3 Router Advertisement Guard (RA Guard)
A terceira alternativa é chamada de RA Guard (RFC 6105) e trata apenas do problema de envio de anúncios de roteadores falsos. É uma técnica similar ao DHCP snooping do IPv4, porém com foco em mensagens de anúncio de roteadores (RA - Router Advertisement). Portanto, as portas com o RA Guard ativado não poderão receber esse tipo de anúncio, sendo que somente a porta onde realmente o roteador autorizado a enviar mensagens de RA ficará liberada. A Cisco tem esse recurso implementado em algumas das suas linhas de switch, por exemplo, em switches da linha 6500. 3.4 Listas de Controle de Acesso nas Portas dos Switches (ACL/PACL)
As listas de controle de acesso (ACL ou PACL - Port access list) são regras de filtragem que podem ser implementadas nas portas dos switches para filtrar o tráfego indesejado, porém somente se suportada pelos switches de acesso. Com essa técnica um administrador de redes pode configurar, por exemplo, uma ACL bloqueando todo tráfego ICMPv6 com mensagens do tipo 134 (mensagens de RA) e também o tráfego UDP direcionado à porta 546 (dhcpv6-client) na porta onde clientes estão conectados e eliminar o risco com roteadores ou servidores DHCP intrusos. A maior dificuldade é que esse recurso está disponível em uma pequena linha de switches de mercado atualmente, além disso, nos que estão disponíveis o custo de aquisição ainda é relativamente alto. As soluções do RA-Guard e ACL/PACL tem ainda uma desvantagem, elas funcionam perfeitamente bem no caso do envio de mensagens de RA acidentais, causadas por erro de configuração ou sem intenção de ataque, porém se um atacante combinar as mensagens de RA em pacotes fragmentados esses dois mecanismos simplesmente não tem ação, portanto a implementação somente dessas duas técnicas não consegue evitar esse tipo de risco. Existem propostas em análise para solucionar essa falha, porém especialistas de segurança acreditam que não devem ser lançadas em curto prazo. Na tabela a seguir temos um resumo das ameaças e recursos que podem mitigar cada uma delas.
Apostila/E-B
ook do Curso
IPv6
Página 103
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
3.5 Outros Riscos de Segurança ao IPv6
Várias vulnerabilidades existentes em redes IPv4 continuarão em redes IPv6, principalmente relativas aos protocolos das camadas superiores e também de ataques durante o trânsito dos pacotes através da Internet, como ataques de sniffing e man-in-the-middle. Abaixo segue uma lista de ameaças, além das citadas, que estão no primeiro salto e algumas precauções para evitá-las:
Ataques diretos aos usuários finais o O IPv6 não terá mais os endereços privativos e NAT para esconder as deficiências
dos sistemas de segurança e falhas nos diversos aplicativos e sistemas dos computadores dos usuários o Os firewalls e demais sistemas de segurança devem estar preparados para tratar esse tráfego que nas redes IPv4 está limitado às DMZ’s (zona desmilitarizada
o
Ataques aos protocolos de roteamento IPv6
o o
Utilizar anti-vírus e anti-spyware e mantê-los atualizados
Sniffing
o o
Utilizar métodos de autenticação tradicionais para o BGP e IS-IS. Utilizar IPsec nativo do IPv6 para garantir a segurança de protocolos como OSPFv3, EIGRPv6 e RIPng
Vírus e Worms
o
onde são inseridos os servidores que devem estar expostos à Internet) Nas corporações os firewalls Statefull podem evitar esse tipo de ataque e em usuários residenciais os personal firewalls também podem ajudar nesse tipo de situação
Sem IPsec o IPv6 é tão vulnerável ao sniffing como era o IPv4 O uso do IPsec em comunicações fim a fim pode minimizar o risco da espionagem dos pacotes, porém adicionam necessidades extras de memória e processamento nos dispositivos e clientes de rede
Ataques ao ICMPv6
Utilizar recomendações de filtragem de mensagens nos roteadores e firewalls conforme a RFC4890 o Ataques TCP ao ICMP são diferentes no ICMPv6 e podem ser melhor estudados no link: http://tools.ietf.org/html/draft-ietf-tcpm-icmp-attacks-06 o
Ataques à camada de aplicação
Mesmo com IPsec implementado esses tipos de ataque não podem ser evitados sem o uso de dispositivos como firewalls e sistemas de detecção e prevenção de intrusão (IPS e IDS) o Ataques de Man-in-the-Middle Attacks (MITM) sem IPsec tem as mesmas características que para o IPv4 e o IPv6 também está sujeito a essa vulnerabilidade o
Apostila/E-B
ook do Curso
IPv6
Página 104
tel 41 3045.7810 - info
4
dltec.com.br - www.dltec.com.br
Flooding ou inundação
o o
Basicamente ataques de negação de serviços – DoS (Denial of Service) Esses ataques são idênticos em relação ao IPv4 e pretendem a sobrecarga de determinado dispositivo através do envio de uma enxurrada de mensagens, por exemplo, ataque via inundação de mensagens de abertura de sessão TCP (TCP SYN)
o
Pode ser evitado com o uso de firewalls e IPS’s
Cuidados e Considerações Finais
Note no gráfico abaixo tirado das estatísticas disponibilizadas pelo Google (http://www.google.com/ipv6/statistics.html) em oito de julho de 2013 que apenas 1,50% dos usuários acessaram páginas do próprio Google utilizando endereços IPv6. A adoção do IPv6 vem crescendo dia a dia, porém não é massiva em comparação ao IPv4. Portanto, para que o IPv6 tenha um nível de maturidade comparado ao IPv4 em termos operacionais ou de segurança irá demorar um bom tempo.
Vários riscos inerentes ao próprio protocolo ainda não foram resolvidos e surgem mais e mais vulnerabilidades com o crescente uso do IPv6. Em comparação com o IPv4 surgem quase que o dobro ou até o triplo de ameaças reportadas em relação ao IPv6 quando comparamos com o IPv4 entre 2012 e início de 2013. Isso se ao fato dos fabricantes estarem em fasededeturbulência. implementação e testes das RFCs quedeve recomendam o IPv6, portantoainda é normal um período Apesar desse fato muitos especialistas recomendam o início da adoção do IPv6 nas redes para que as equipes de TI possam ir se habituando com a operação e dia a dia do protocolo. No entanto, lembrem-se do que já estudamos nesse capítulo que essa implantação requer várias análises sobre o suporte dos dispositivos de redes atuais para resolver vulnerabilidades que podem ser exploradas de forma muito simples.
Apostila/E-B
ook do Curso
IPv6
Página 105
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Os dispositivos de segurança, como firewalls, IPS e IDS devem ser preparados para o suporte ao IPv6 no caso da implementação do protocolo na rede corporativa, porém mesmo que sua rede ainda não esteja em fase de implementação é importante monitorar esse tipo de tráfego para identificar possíveis invasões ou uso indevido do protocolo por funcionários, seja propositalmente ou de forma maliciosa, pois devemos sempre lembrar que por padrão os computadores estão esperando por um IPv6 através de um DHCPv6 ou autoconfiguração! Nossa recomendação final é: “Não ignore esse tipo de tráfego! ”, se a empresa onde você
trabalha utiliza um dos sistemas operacionais que tem o IPv6 ativo por padrão analise cada segmento de rede trace um plano de ação ter o IPv6 em sua monitoração, popularmente “em eseu radar”, podendo até para ser necessário desativar o protocolocomo casofalam seus dispositivos de rede não possuam recursos de filtragem desse tipo de tráfego na srcem. Chegamos ao final do curso e gostaríamos de agradecer a todos e parabenizá-los pela iniciativa em procurar conhecimento sobre o IPv6!
5
Qual Caminho Seguir Após esse Curso?
Essa é uma pergunta que vários alunos fazem e uma sugestão é que se você se identificou com a área de redes, procure seguir um caminho de certificação, por exemplo, indo para o nosso curso do CCNA Network e seguindo uma carreira na área de Roteamento e Switching, Voz sobre IP, Segurança ou Redes sem fio na sequência! Esperamos que vocês tenham gostado do curso e recomendem para seus amigos! Equipe DlteC do Brasil
Apostila/E-B
ook do Curso
IPv6
Página 106
tel 41 3045.7810 - info
dltec.com.br - www.dltec.com.br
Sobre o E-book/Apostila
O conteúdo desse documento é uma adaptação da matéria online de leitura do curso. O presente material traz conteúdo teórico do curso online, porém temos que deixar claro que não é um curso e sim uma adaptação do nosso material online para e-book/apostila.
Portanto recursos como exercícios, simulados, tutoria (tira dúvidas com professores) e vídeo aulas não fazem parte desse e-book, pois são exclusivos para alunos devidamente matriculados em nosso site oficial.
Para maiores informações sobre nossos treinamento visite o site:
>>> http://www.dltec.com.br <<<
Apostila/E-B
ook do Curso
IPv6
Página 107