IPv6, successor to IPv4, is a newer version of the IP protocol designed to fix its flaws, most notably the scarcity of available IP addresses. This protocol handles the network layer; its purpose is to provide a way to address machines, to convey data to their intended destination, and to handle data fragmentation if needed (in other words, to split packets into chunks with a size that depends on the network links to be used on the path and to reassemble the chunks in their proper order on arrival).
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 enp7s0 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 2
64 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.
This behavior may have privacy implications. If you switch networks frequently, e.g. with a laptop, you might not want your
MAC address being a part of your public IPv6 address. This makes it easy to identify the same device across networks. A solution to this are IPv6 privacy extensions (which Debian enables by default if IPv6 connectivity is detected during initial installation), which will assign an additional randomly generated address to the interface, periodically change them and prefer them for outgoing connections. Incoming connections can still use the address generated by SLAAC. The following example, for use in
/etc/network/interfaces
, activates these privacy extensions for the 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 as IPv4.
nft
pode ser utilizado para criar regras de firewall para IPv4 e IPv6 (consulte
Seção 14.2.3, “Sintaxe do ntf
”).
Se uma conexão IPv6 nativa não está disponível, o método de recuperação (fallback) é usar o encapsulamento sobre o IPv4. Hurricane Electric é um fornecedor (livre) desses encapsulamentos:
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 você 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.
O arquivo de configuração /etc/radvd.conf
deve então 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, o qual precisa se substituído pelo fornecido pela Hurricane Electric; ele 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.