Conectividade IPv6 em casa – Parte 2

Olá pessoal. Como eu havia prometido (a mais de um ano atrás
) e também porque o dia mundial de lançamento do IPv6 está logo aí (dia 6 de junho) resolvi escrever a segunda parte do tutorial de Conectividade IPv6 em Casa.
Ao término deste tutorial, todos os demais dispositivos da sua rede em casa que possuam suporte ao IPv6 conseguirão conectar-se à internet via IPv6.
Após seguir o tutorial da Parte 1 você já deve possuir umas das duas configurações abaixo:
- Computador direto na internet com IPv4 público Global Unicast:
Sub rede com ips válidos na internet IPv6
Até alguns meses atrás, após conseguir o túnel pelo site do projeto SIXXS, era necessário manter o túnel ativo por uma semana para conseguir realizar o pedido de alocação de subrede . Porém hoje, todos os usuários que possuem um túnel já possuem também um prefixo de subrede /64 alocado.
Faça o seguinte:
- Entre no site do projeto SIXXS no endereço www.sixxs.net e faça o login no link Login for Existing Users.
- Na tela de configurações onde são exibidos os dados do usuário e os túneis haverá também uma tabela com as subredes. Verifique se o prefixo de subrede está ativado, caso contrário, clique no ID da subrede e ative o mesmo.
Pronto. Agora o PoP anuncia a rota na Internet IPv6 dizendo que a sua subrede, por exemplo, 2001:1291:200:8123::/64 é acessível pelo roteador cujo IP é o IPv6 do túnel: 2001:1291:200:123::2.
Anote o Subnet Prefix da sua subrede pois será necessário na configuração do computador como roteador.
Detalhes do IPv6
Antes de configurar o Windows para funcionar como um roteador IPv6 é interessante conhecer uma parte do funcionamento do IPv6.
O IPv6 não implementa broadcast, logo não existe no IPv6 o equivalente a mandar um pacote para o endereço 192.168.1.255 sendo que todos os computadores da sub rede 192.168.1.xxx irão receber o pacote. No IPv6 a funcionalidade do broadcast é feita com multicast.
Mas, para o multicast funcionar as placas de rede devem possuir um endereço IP já atribuído e realizar o join no IP do grupo multicast. Sendo assim como funciona, por exemplo, o DHCPv6 já que não existe broadcast? E o ARP? Para responder isto basta você verificar que todas as suas placas de rede, mesmo antes de começar o tutorial na Parte 1, já possuíam um endereço IP começando com fe80::.
O IPv6 define que os 64 bits mais significativos são usados para definir as redes e os 64 bits menos significativos sejam usados para definir os hosts. Isto mesmo, a recomendação é que para cada usuário final seja fornecido um prefixo IP com 64 bits sobrando para usar nos dispositivos em casa, logo na sua casa você poderá ter 2^64 dispositivos com IPs diferentes todos com IPs reais da internet.
Endereços Link-Local
Todo dispositivo IPv6 possui um endereço IP automaticamente gerado assim que o driver IPv6 é ativado na interface e este endereço IP sempre pertence à rede fe80::/10.
A geração automática dos 64 bits menos significativos é feita automaticamente. Mas como garantir que não haja conflito? A resposta é se basear em algo que já esteja garantido em não conflitar. Se você pensou no endereço da camada de enlace você acertou. O MAC-Address é utilizado na geração automática dos 64 bits menos significativos dos IPs automáticos das placas de rede, porém o MAC-Address possui apenas 48 bits e para gerar 64 bits a partir dele segue-se a receita do padrão EUI-64 que insere os 16 bits 0xFFFE no meio dos 48 bits e inverte o 7º bit mais significativo do valor final.
Alguns SOs não seguem o padrão EUI-64 para evitar que possa inferido facilmente o MAC Address da interface.
Assim, se você possui outros dispositivos IPv6 na sua rede local e se já compartilhava arquivos pelos compartilhamento do Windows, você já estava usando IPv6.:
Grupo multicast all-nodes
Agora com todas as placas de rede com endereços IPv6 automaticamente gerados todas elas automaticamente assim que são ativadas realizam o join no grupo multicast all-nodes que representa “todos os dispositivos da camada de enlace”. A implementação do IPv6 definiu este grupo multicast com o endereço ff02::1. Assim, para realizar o equivalente ao broadcast do IPv4 basta enviar um pacote para o grupo multicast ff02::1.
Porém todos estes endereços IPv6 da subrede fe80::/10 são apenas endereços locais que servem para comunicação na rede local e não são endereços válidos na internet . Para os computadores acessarem a internet é necessário um roteador e que as placas de redes todas possuam um endereço válido. A implementação do IPv6 inclui um mecanismo feito para facilitar a configuração de redes IPv6 simples como é o cenário doméstico e que não utiliza necessariamente o bom e velho DHCP.
Router Advertisements
Após ingressar no grupo multicast os dispositivos enviam um pacote ICMPv6 do tipo Router Solicitation para o grupo multicast all-routers, ff02::2, e os roteadores que estiverem configurados respodem com o pacote Router Advertisement que informa o seu endereço IPv6 e qual o prefixo dos 64 bits superiores que a placa de rede deve usar para a autoconfiguração. Este funcionamento difere do DHCP pois não há a necessidade de configurar no roteador um intervalo de IPs.
Com o 64 bits superiores a placa de rede gera os 64 bits inferiores usando o padrão EUI-64 e registra o endereço IPv6 do roteador que respondeu com o Router Advertisement como gateway para a internet. Assim a placa de rede conterá dois IPs. Um endereço link-local e um endereço real.
O mecanismo acima descrito é chamado de Stateless Address Autoconfiguration em contraste com o uso do DHCPv6 para alocação de endereços IPv6 que é chamado de Stateful Configuration.
Se você quiser aprender mais sobre o IPv6 principalmente com relação ao serviços que usam o grupo multicast Link-Local recomendo o mini curso de IPv6 em flash do site www.ipv6.br. É extremamante didático e o capítulo Serviços Básicos do IPv6 foca nos pacotes ICMPv6 usados, por exemplo, no Router Advertisement e Router Solicitation.
Configurando o Windows 7/Vista para funcionar como um gateway IPv6
Basta agora configurar o Windows para encaminhar pacotes e respoder à pacotes Router Solicitation. Tenha em mãos o seu Subnet Prefix e o nome da conexão local usada para comunicar com os outros computadores da rede interna, por exemplo, “Conexão Local 1″ ou “Local Connection 2″. Abra o Prompt de Comando como Administrador e digite :
1) netsh interface ipv6 add route [Seu Subnet Prefix]/64 [Nome da conexão local] publish=yes
Isto irá definir um endereço IPv6 real com o seu prefixo alocado pelo PoP à sua placa de rede.
2) netsh interface ipv6 set interface [Adaptador virtual do túnel] forwarding=enabled
Isto irá ativar o encaminhamento de pacotes no adaptador de rede virtual do túnel 6in4.
3) netsh interface ipv6 set interface [Nome da conexão local] forwarding=enabled advertise=enabled
Irá ativar o envio de Router Advertisements na rede local.
Exemplo com os dados do início do post:
1) netsh interface ipv6 add route 2001:1291:200:8123::/64 “Conexão local 1″ publish=yes
2) netsh interface ipv6 set interface “sixxs” forwarding=enabled
3) netsh interface ipv6 set interface “Conexão local 1″ forwarding=enabled advertise=enabled
Pronto. Agora todos os dispositivos da sua rede doméstica terão endereços IPv6 reais da internet. Vá em outro computador e tente rodar o comando
ping ipv6.google.com
ou usando o seu celular via wi-fi na sua rede local navege para o site test-ipv6.com. Os celulares com Android já possuem suporte ao IPv6 via wi-fi.










Olá Hernan. Parabéns pelo post!
Eu queria saber se vc recomenda algum roteador wireless com suporte a IPv6 fácil de encontrar no Brasil, ou se com uma placa wireless PCI qualquer vc consegue usar ele como roteador.
Obrigado! Abraços.
Ola Victor. Sim você pode usar a placa de rede wi-fi sim.
Com relação a roteadores IPv6 já existem varios roteadores que suportam IPv6 no Brasil, mas o problem é encontrar roteadores que tambem façam o tunel 6in4 do projeto sixxs.
O projeto SixXS matem uma Wiki com a lista de roteadores: http://www.sixxs.net/wiki/Routers
Olá hernan,
bati o olho no seu post e achei um erro. Na frase: “Após ingressar no grupo multicast os dispositivos enviam um pacote ICMPv6 do tipo Router Solicitation para o grupo multicast all-nodes”.
O dispositivo envia o Router solicitation para o grupo multicast all-routers (ff02::2) e não all-nodes.
Opa. Obrigado Eduardo.
Corrigido !
Sou professora e preciso de uma análise numa rede com IPV6 em meu colégio. Tenho as configurações. Entra em contato.