Product SiteDocumentation Site

10.6. IPv6

IPv6, sucessor do IPv4, é a nova versão do protocolo IP desenhado para consertar suas falhas, mais notadamente a excasses de endereços IP disponíveis. Esse protocolo lida com a camada de rede; seu propósito é fornecer uma maneira de endereçar 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 tem esse suporte compilado como um módulo de nome ipv6). Ferramentas básicas como ping e traceroute tem seu equivalente IPv6 como ping6 e traceroute6, disponíveis, respectivamente, nos pacotes iputils-ping e iputils-tracepath.
A rede IPv6 é configurada de maneira similar a IPv4, em /etc/network/interfaces. Mas se você quer que a rede esteja disponível globalmente, você tem que garantir que você 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 eth0 inet6 static
    address 2001:db8:1234:5::1:1/64
    # Disabling auto-configuration
    # autoconf 0
    # The router is auto-configured and has no fixed address
    # (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 endereços distintos 264 existem dentro da sub-rede. Isso permite a "Stateless Address Autoconfiguration" (SLAAC) pegar 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 é 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.

Exemplo 10.11. Extensões de privacidade IPv6

iface eth0 inet6 auto
    # Prefer the randomly assigned addresses for outgoing connections.
    privext 2
IPv6 connections can be restricted, in the same fashion as for IPv4. nft can be used to create firewall rules for IPv4 and IPv6 (see Seção 14.2.3, “Syntax of nft).

10.6.1. Túneis

If a native IPv6 connection is not available, the fallback method is to use a tunnel over IPv4. Hurricane Electric is one (free) provider of such tunnels:
To use a Hurricane Electric tunnel, you need to register an account, login, select a free tunnel and edit the file /etc/network/interfaces with the generated code.
You can install and configure the radvd daemon (from the similarly-named package) if you want to use the configured computer as a router for a local network. This IPv6 configuration daemon has a role similar to dhcpd in the IPv4 world.
The /etc/radvd.conf configuration file must then be created (see /usr/share/doc/radvd/examples/simple-radvd.conf as a starting point). In our case, the only required change is the prefix, which needs to be replaced with the one provided by Hurricane Electric; it can be found in the output of the ip a command, in the block concerning the he-ipv6 interface.
Then run systemctl start radvd. The IPv6 network should now work.