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).
Los núcleos Debian incluyen la gestión de IPv6 en el corazón del núcleo (con la excepción de algunas arquitecturas que la poseen como un módulo llamado ipv6
). Las herramientas básicas como ping
y traceroute
tienen sus equivalentes IPv6, ping6
y traceroute6
, disponibles en los paquetes iputils-ping y iputils-tracepath respectivamente.
Una red IPv6 se configura de forma similar a una IPv4, en el archivo /etc/network/interfaces
. Pero si desea que se pueda acceder globalmente a la red debe asegurarse de tener un router compatible con IPv6 que retransmita datos a la red IPv6 global.
Ejemplo 10.10. Ejemplo de configuración 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
Las subredes IPv6 generalmente tienen una máscara de red de 64 bits. Esto significa que existen 2
64 direcciones diferentes dentro de la subred. Esto permite que «Stateless Address Autoconfiguration» (
SLAAC: autoconfiguración de direcciones sin estado) selecione una dirección basada en la dirección MAC de la interfaz de red. De forma predeterminada, si
SLAAC está activado en su red e IPv6 en su equipo, el núcleo encontrará enrutadores IPv6 automáticamente y configurará las interfaces de red.
Este comportamiento podría tener consecuencias en la privacidad. Si cambia de red frecuentemente, por ejemplo con un portátil, podría no desear que su dirección
MAC sea parte de su dirección IPv6 pública. Esto facilita la identificación del mismo dispositivo en varias redes. Una solución a esto son extensiones de privacidad IPv6 (que Debian permite por defecto si se detecta conectividad IPv6 durante la instalación inicial), lo que asignará una dirección generada aleatoriamente adicional a la interfaz, cambiarlas periódicamente y preferirlas para conexiones salientes. Las conexiones entrantes todavía pueden utilizar la dirección generada por SLAAC. El siguiente ejemplo, para uso en
/etc/network/interfaces
, activa estas extensiones de privacidad para la interfaz
enp7s0.
Ejemplo 10.11. Extensiones de privacidad IPv6
iface enp7s0 inet6 auto
# Prefer the randomly assigned addresses for outgoing connections.
privext 2
Se pueden restringir las conexiones IPv6, de la misma manera que para IPv4. Se puede usar
nft
para crear reglas de cortafuegos para IPv4 e IPv6 (véase
Sección 14.2.3, “Sintaxis de ntf
”).
Si no existe una conexión IPv6 disponible, el método de respaldo es utilizar un túnel sobre IPv4. Hurricane Electric es un proveedor (gratuito) de dichos túneles:
Para usar un túnel Hurricane Electric, necesita registrar una cuenta, iniciar sesión, seleccionar un túnel gratuito y editar el archivo /etc/network/interfaces
con el código generado.
Puede instalar y configurar el demonio radvd
(del paquete homónimo) si quiere usar el ordenador configurado como un enrutador para una red local. Este demonio de configuración IPv6 tiene un rol similar al de dhcpd
en el mundo IPv4.
Debe crear el archivo de configuración /etc/radvd.conf
(revise el archivo /usr/share/doc/radvd/examples/simple-radvd.conf
como punto de partida). En nuestro caso, el único cambio necesario es el prefijo que debe reemplazar con el provisto por Hurricane Electric; puede encontrarlo en la salida de ip a
, en el bloque sobre la interfaz he-ipv6
.
Luego ejecute systemctl start radvd
. Ahora debería funcionar la red IPv6.