Product SiteDocumentation Site

10.6. IPv6

IPv6, sucessor do IPv4, é a mais nova versão do protocolo IP projetada para consertar suas falhas, mais notadamente a escassez de endereços IP disponíveis. Esse protocolo lida com a camada de rede; seu propósito é fornecer uma maneira de dar endereços às máquinas, para direcionar dados para o destino pretendido, e lidar com fragmentação de dados se necessário (em outras palavras, dividir pacotes em pedaços de tamanho que depende dos links de rede a serem usados pelo caminho e juntar esses pedaços na ordem apropriada na chegada).
Os núcleos Debian incluem o manejo do IPv6 no "core" do núcleo (com exceção de algumas arquiteturas que têm esse suporte compilado como um módulo de nome ipv6). Ferramentas básicas como ping e traceroute têm seu equivalente IPv6 como ping6 e traceroute6, disponíveis, respectivamente, nos pacotes iputils-ping e iputils-tracepath.
A rede IPv6 é configurada de maneira similar à IPv4, em /etc/network/interfaces. Mas se você quiser que a rede esteja disponível globalmente, você tem que garantir que tenha um roteador de retransmissão de tráfego IPv6 com capacidade para a rede IPv6 global.

Exemplo 10.10. Exemplo de configuração IPv6

iface enp7s0 inet6 static
    address 2001:db8:1234:5::1:1/64
    # Desabilitando autoconfiguração
    # autoconf 0
    # O roteador é autoconfigurado e não tem endereço fixo
    # (accept_ra 1). If it had:
    # gateway 2001:db8:1234:5::1
Sub-redes IPv6 geralmente tem uma máscara de rede de 64 bits. Isso significa que existem 264 endereços distintos dentro da sub-rede. Isso permite que a "Stateless Address Autoconfiguration" (SLAAC) pegue um endereço baseando-se no endereço MAC da interface de rede. Por padrão, se SLAAC estiver ativada em sua rede e o IPv6 em seu computador, o núcleo irá automaticamente encontrar os roteadores IPv6 e configurar as interfaces de rede.
Esse comportamento pode ter implicações de privacidade. Se você muda de rede com frequência, por exemplo com um laptop, você talvez não queira que seu endereço MAC faça parte do seu endereço IPv6 público. Isso faz com que seja fácil identificar o mesmo dispositivo através das redes. Uma solução para isso são as extensões de privacidade do IPv6 (que o Debian habilita por padrão se a conectividade IPv6 for detectada durante a instalação inicial), as quais irão definir um endereço adicional para a interface de forma aleatória, periodicamente alterá-lo e usá-los para conexões de saída. Conexões de entrada podem continuar a usar os endereços gerados pelo SLAAC. O exemplo a seguir, para uso em /etc/network/interfaces, ativa essas extensões de privacidade para a interface enp7s0.

Exemplo 10.11. Extensões de privacidade IPv6

iface enp7s0 inet6 auto
    # Prefer the randomly assigned addresses for outgoing connections.
    privext 2
Conexões IPv6 podem ser restringidas de forma similar às IPv4. nftpode ser utilizado para criar regras de firewall para IPv4 e IPv6 (consulte Seção 14.2.3, “Sintaxe do ntf).

10.6.1. Tunelamento

Se uma conexão IPv6 nativa não está disponível, o método de recuperação (fallback) é usar um túnel sobre o IPv4. Hurricane Electric é um fornecedor (livre) desses túneis:
Para utilizar um túnel Hurricane Electric, você precisa registrar uma conta, acessá-la, selecionar um túnel livre e editar o arquivo /etc/network/interfaces com o código gerado.
Você pode instalar e configurar o daemon radvd (do pacote com nome similar) se quiser usar o computador configurado como um roteador para uma rede local. Esse daemon de configuração IPv6 desempenha papel similar ao do dhcpd no mundo IPv4.
Em seguida, o arquivo de configuração /etc/radvd.conf deve ser criado (veja /usr/share/doc/radvd/examples/simple-radvd.conf como um ponto de partida). No nosso caso, a única alteração necessária é o prefixo, que precisa se substituído pelo fornecido pela Hurricane Electric; pode ser encontrado na saída do comando ip a no bloco referente à interface he-ipv6.
Então execute systemctl start radvd. A rede IPv6 deve funcionar agora.