Product SiteDocumentation Site

10.5. IPv6

IPv6, sucesor de IPv4, es una nueva versión del protocolo IP diseñado para corregir sus fallas, especialmente la escasez de direcciones IP disponibles. Este protocolo gestiona la capa de red; su propósito es proveer una forma de direccionar máquinas para transmitir los datos a donde fueron destinados y administrar la fragmentación de datos si es necesaria (en otras palabras, dividir los paquetes en trozos de un tamaño que dependa de los enlaces de red utilizados en el camino y unirlos nuevamente en el orden apropiado cuando lleguen).
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 eth0 inet6 static
    address 2001:db8:1234:5::1:1
    netmask 64
    # Desactivar autoconfiguración
    # autoconf 0
    # El enrutador se configura automáticamente y no tiene dirección 
    # fija (accept_ra 1). Si la tuviera:
    # gateway 2001:db8:1234:5::1
Las subredes IPv6 generalmente tienen una máscara de red de 64 bits. Esto significa que existen 264 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. Las extensiones de privacidad de IPv6 (las cuales en Debian se habilitan por defecto si se detecta conectividad IPv6 durante la instalación inicial) son una solución a este problema, las que asignarán direcciones adicionales generadas aleatoriamente a la interfaz, las cambiarán periódicamente y las preferirán para conexiones salientes. Las conexiones entrantes todavía podrán utilizar las direcciones generadas por SLAAC. El ejemplo a continuación, para utilizar en /etc/network/interfaces, activa estas extensiones de privacidad.

Ejemplo 10.11. Extensiones de privacidad IPv6

iface eth0 inet6 auto
    # Preferir las direcciones asignadas aleatoriamente para conexiones salientes.
    privext 2
Puede restringir las conexiones IPv6 de la misma forma que aquellas IPv4: el núcleo Debian estándar incluye una adaptación de netfilter para IPv6. Puede configurar esta versión de netfilter para IPv6 de forma similar a su contraparte IPv4 utilizando el programa ip6tables en lugar de iptables.

10.5.1. Túneles

Si no existe una conexión IPv6 disponible, el método de respaldo es utilizar un túnel sobre IPv4. Gogo es un proveedor (gratuito) de dichos túneles:
Para utilizar un túnel de Freenet6 necesita registrarse con una cuenta «Freenet6 Pro» en el sitio web, instalar el paquete gogoc y configurar el túnel. Para ello deberá editar el archivo /etc/gogoc/gogoc.conf: debe agregar las líneas userid y password que recibió por email y reemplazar server con authenticated.freenet6.net.
Puede agregar las siguientes tres directivas al archivo /etc/gogoc/gogoc.conf para proponer conectividad IPv6 a todas las máquinas en una red local (asumiendo que la red local está conectada a la interfaz eth0):
host_type=router
prefixlen=56
if_prefix=eth0
Luego la máquina se convertirá en el router de acceso para una subred con un prefijo de 56 bits. Una vez que el túnel sepa de este cambio, debe informarle a la red al respecto; esto implica instalar el demonio radvd (del paquete del mismo nombre). 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 Freenet6; puede encontrarlo en la salida de ifconfig, en el bloque sobre la interfaz tun.
Luego ejecute service gogoc restart y service radvd start, y la red IPv6 debería funcionar.