19.16. IPv6

Originalmente Escrito por Aaron Kaplan. Reestruturado e Adicionado por Tom Rhodes.

IPv6 (também conhecido como IPng ``IP next generation'') é a nova versão do bem conhecido protocolo IP (também conhecido como IPv4). Como outros sistemas *BSD atuais, o FreeBSD inclui a implementação de referência KAME. Então o seu sistema FreeBSD vem com tudo o que você via precisar para experiências com IPv6. Esta seção enfoca na configuração e ativação do IPv6.

No início dos anos 90, as pessoas tomaram conhecimento do rápido esgotamento do espaço de endereçamento do IPv4. Dada a taxa de expansão da Internet, haviam duas preocupações principais:

IPv6 trata destas e muitas outras questões:

Também existem muitas outras características úteis do IPv6 como:

Para maiores informações veja:

19.16.1. Fundamentos em Endereços IPv6

Existem diferentes tipos de endereços IPv6: Unicast, Anycast e Multicast.

Endereços Unicast são os endereços conhecidos. Um pacote enviado a um endereço unicast chega exatamente à interface pertencente ao endereço.

Endereços anycast são sintaticamente indistinguíveis de endereços unicast, mas eles endereçam um grupo de interfaces. Um pacote destinado para um endereço anycast vai chegar na interface mais próxima (em métrica de roteador). Endereços anycast somente podem ser usados por roteadores.

Endereços multicast identificam um grupo de interfaces. Um pacote destinado a um endereço multicast vai chegar em todas as interfaces pertencentes ao grupo multicast.

Nota: O endereço de difusão (broadcast) IPv4 (normalmente xxx.xxx.xxx.255) é expresso por endereços multicast em IPv6.

Endereços IPv6 Reservados:

ipv6-address   prefixlength(Bits)  description Notes

    ::          128 Bits            não especificado cf.  0.0.0.0 em endereço IPv4
    ::1         128 Bits            endereço loopback cf.  127.0.0.1 em IPv4
    ::00:xx:xx:xx:xx    96 Bits             IPv4 embutido   Os 32 bits mais baixos são os
                                endereços    IPv4.  Também chamado
                                ``Endereço IPv4 compatível com IPv6
                                ''
    ::ff:xx:xx:xx:xx    96 Bits     IPv4 mapeado    Os 32 bits mais baixos são os
                        IPv6 address    endereços IPv4.  Para sistemas
                                que não suportam IPv6
    fe80:: - feb::      10 Bits     link-local  cf.  endereço loopback em
                        IPv4
    fec0:: - fef::      10 Bits     locais ao sítio
    ff::            8 Bits      multicast
    001 (base 2)        3 Bits      unicast globais Todos os endereços unicast globais
                                são atribuídos deste
                                conjunto.  Os 3 primeiros Bits
                                são ``001''.

19.16.2. Lendo Endereços IPv6

A forma canônica é representada como: x:x:x:x:x:x:x:x, cada ``x'' sendo um valor hexadecimal de 16 Bits. Por exemplo FEBC:A574:382B:23C1:AA49:4592:4EFE:9982

Freqüentemente um endereço terá longas subséries compostas por zeros, então cada subsérie pode ser abreviada por ``::''. Por exemplo fe80::1 corresponde à forma canônica fe80:0000:0000:0000:0000:0000:0000:0001

Uma terceira forma é escrever a última parte de 32 Bits na forma conhecida (decimal), estilo IPv4, com pontos ``.'' como separadores. Por exemplo, 2002::10.0.0.1 corresponde à representação canônica (hexadecimal) 2002:0000:0000:0000:0000:0000:0a00:0001 que por sua vez equivale a escrever 2002::a00:1

Agora, os leitores devem ser capazes de compreender o seguinte:

# ifconfig
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
     inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255
     inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1
     ether 00:00:21:03:08:e1
     media: Ethernet autoselect (100baseTX )
     status: active

fe80::200:21ff:fe03:8e1%rl0 é um endereço autoconfigurado tipo enlace-local. Ele inclui o MAC Ethernet misturado como parte da autoconfiguração.

Para maiores informações sobre a estrutura dos endereços IPv6, veja a RFC2373.

19.16.3. Conectando-se

Atualmente existem quatro formas de se conectar a outros sistemas e redes IPv6:

Aqui vamos falar sobre como se conectar ao 6bone uma vez que atualmente parece ser a forma mais popular.

Primeiro, veja a página do 6bone e encontre a conexão para o 6bone mais próxima de você. Escreva para a pessoa responsável e com um pouco de sorte você receberá instruções sobre como configurar sua conexão. Geralmente isto envolve preparar um túnel GRE (gif).

Aqui está um exemplo típico de como preparar um túnel gif(4):

# ifconfig gif0 create
# ifconfig gif0
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
# ifconfig gif0 tunnel MEU_END_IPv4  END_IPv4_DELE
# ifconfig gif0 inet6 alias MEU_END_IPv6_ATRIBUIDO_COMO_PONTO_FINAL_DO_TÚNEL

Substitua as palavras em maiúsculas pela informação recebida do nó 6bone de nível superior.

Isto estabelece o túnel. Verifique se o túnel está funcionando usando ping6(8) ff02::1%gif0. Você deve receber duas respostas do ping.

Nota: Em caso de você estar intrigado pelo endereço ff02:1%gif0, isto é um endereço multicast. %gif0 indica que o endereço multicast na interface de rede gif0 deve ser usado. Uma vez que nós usamos ping para um endereço multicast, o outro ponto final do túnel deve responder também).

Agora, configurar a rota para sua conexão ao 6bone deve ser bem clara:

# route add -inet6 default -interface gif0
# ping6 -n MINHA_CONEXÃO
# traceroute6 www.jp.FreeBSD.org
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
     1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms
     2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms *
     3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms
     4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms
     5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms
     6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms

Esta saída vai ser diferente de máquina para máquina. Agora você deve ser capaz de alcançar o sítio IPv6 www.kame.net e ver a tartaruga dançante -- se você tiver um navegador pronto para IPv6, como o www/mozilla.

19.16.4. DNS no Mundo IPv6

Existem duas novas formas de registros DNS para IPv6:

Usar registros AAAA é bem direto. Atribua seu nome de sistema ao novo endereço IPv6 que você recém obteve adicionando:

MEUNOMEDESISTEMA      AAAA    MEUENDIPv6

ao seu arquivo DNS de zona primária. No caso de você não servir suas próprias zonas DNS peça ao seu provedor DNS. Versões atuais do bind (versões 8.3 e 9) suportam registros AAAA.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.