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.
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.
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.