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:
Esgotamento de endereços. Hoje isto não é uma preocupação tão grande, uma vez que espaços de endereços privados (10.0.0.0/8, 192.168.0.0/24, etc.) e a Tradução de Endereços de Rede (Network Address Translation - NAT) estão sendo empregados.
Entrada nas tabelas de roteadores estavam ficando grandes demais. Hoje isto ainda é uma preocupação.
IPv6 trata destas e muitas outras questões:
Espaço de endereçamento de 128 bits. Em outras palavras, existem teóricos 340,282,366,920,938,463,463,374,607,431,768,211,456 endereços disponíveis. Isto significa que são aproximadamente 6.67 * 10^27 endereços IPv6 por metro quadrado em nosso planeta.
Roteadores armazenarão somente endereços agregados de redes em suas tabelas de roteamento, reduzindo assim, o espaço médio de uma tabela de roteamento para 8192 entradas.
Também existem muitas outras características úteis do IPv6 como:
Autoconfiguração de endereço (RFC2462)
Endereços anycast (``um dentre muitos'')
Endereços multicast obrigatórios
IPsec (IP security)
Estrutura simplificada de cabeçalho
IP Móvel
Mecanismos de transição IPv4-para-IPv6
Para maiores informações veja:
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''.
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.
Atualmente existem quatro formas de se conectar a outros sistemas e redes IPv6:
Associar-se ao 6bone experimental
Obtendo uma rede IPv6 de seu provedor de conectividade. Procure seu provedor Internet para instruções.
Tunelamento via 6-para-4
Usar o port freenet6 se estiver em uma conexão discada.
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.
Existem duas novas formas de registros DNS para IPv6:
Registros AAAA,
Registros A6
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>.