IPv6: Cómo activarlo o desactivarlo

IPv6 es la próxima versión del esquema de direccionamiento de red IPv4 que está siendo utilizada para asignar direcciones numéricas a los nombres de dominio como «colegiopablovi.es» en Internet.

IPv4toIPv6-1

IPv6 proporciona muchas más direcciones que IPv4, pensando sobre todo en el inmediato «Internet de las cosas». Sin embargo aun no está  ampliamente soportado  y su adopción aunque en progreso está siendo más lenta de lo esperado. Y aquí es donde podemos encontrar problemas.

¿Tu sistema soporta ipv6 ?

Para que IPv6 pueda funcionar hay algunas cosas que debes tener en cuenta.  En primer lugar necesitas un sistema operativo que soporte  IPv6. Ubuntu Linux y otros sistemas modernos ya vienen preparados para ello. Si echas un vistazo a la salida del comando «ifconfig» puedes ver las direcciones ipv6 asignadas a las interfaces de red (busca las líneas «inet6 addr«):

$ ifconfig
eth0   Link encap:Ethernet  HWaddr 00:1c:c0:f8:79:ee  
       inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
       inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
       RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
       TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000 
       RX bytes:62289395 (62.2 MB)  TX bytes:25169458 (25.1 MB)
       Interrupt:20 Memory:e3200000-e3220000 

lo     Link encap:Local Loopback  
       inet addr:127.0.0.1  Mask:255.0.0.0
       inet6 addr: ::1/128 Scope:Host
       UP LOOPBACK RUNNING  MTU:65536  Metric:1
       RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
       TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:0 
       RX bytes:4900560 (4.9 MB)  TX bytes:4900560 (4.9 MB)

Además necesitarás un router/modem que soporte en nuevo protocolo. Y por último tu  proveedor de Internet también ha de proporcionarte  una conexión basada en ipv6.

Aparte de verificar tu infraestructura de red, una buena idea es comprobar  si puedes conectarte a tus páginas y servicios habituales utilizando el protocolo ipv6. Mucho sitios chequean si es posible automáticamente cuando intentas acceder a ellos. Prueba «http://testmyipv6.com/«, por ejemplo.

Configuración del kernel

Puedes verificar desde una consola si tu «kernel» tiene habilitados los parámetros necesarios para trabajar con ipv6 utilizando los siguientes comandos:

$ sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0

$ sysctl net.ipv6.conf.default.disable_ipv6
net.ipv6.conf.default.disable_ipv6 = 0

$ sysctl net.ipv6.conf.lo.disable_ipv6
net.ipv6.conf.lo.disable_ipv6 = 0

Nota1: puedes obtener la misma información mostrando el contenido del fichero especial  «/proc/sys/net/ipv6/conf/all/disable_ipv6»

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0

Nota2:  Observa que los parámetros controlan el uso de ipv6 marcan la desactivación («disabling»): «0» significa que sí esta habilitado y «1» que no lo está.

Cómo desactivar IPv6 si tienes problemas

Si estás dentro de una subred ipv4 o tu infraestructura no soporta en algún punto ipv6 lo recomendable es desactivarlo completamente. ¿Por qué? Se conocen muchos casos en los que aparecen retrasos en la búsqueda y resolución de dominios, intentos de conexión innecesarios a direcciones ipv6 que fallan en las respuestas, etc.

Algunos de estos problemas se dan en las versiones recientes de Ubuntu, probablemente porque estén intentado utilizar cuanto antes Ipv6 en todos sus servicios sin contar con la disponibilidad real en el lado del cliente. Algo parecido el para al navegador Google Chrome.

Por ello la mejor solución es desactivar por ahora IPv6. El proceso es sencillo y puede ayudarte a resolver esos «problemas misteriosos» con la red (hay quien dice haber mejorado la velocidad general de las conexiones a internet desde su ordenador)

Método 1: parámetros del kernel

Edita el fichero  «/etc/sysctl.conf» con privilegios de administrador:

$ sudo gedit /etc/sysctl.conf

… y añade las siguientes líneas al final del mismo:

# IPv6 disabled
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Salva el fichero y ciérralo. Para probar los cambios tendrás que recargar los parámetros del sistema utilizando la orden:

$ sudo sysctl -p

Chequea la configuración de las interfaces de red con el comando «ifconfig» y comprueba que no tengan asignadas direcciones ipv6:

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:5f:28:8b  
          inet addr:192.168.1.3  Bcast:192.168.1.255  
          Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
          TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1501691 (1.5 MB)  TX bytes:104883 (104.8 KB)

Nota: si no funciona (caso extraño) tendrás que reiniciar el sistema para que los cambios tengan efecto y comprobarlo de nuevo.

Método 2: parámetros del cargador GRUB

Puedes desactivar el soporte de Ipv6 modificando el fichero de configuración del cargador del sistema GRUB:

$ sudo gedit /etc/default/grub

Busca la línea  «GRUB_CMDLINE_LINUX» y edítala  de la forma:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

Lo mismo puedes hacer con el valor de la línea «GRUB_CMDLINE_LINUX_DEFAULT». Guarda el fichero, ciérralo y regenera el cargador del sistema con la nueva configuración:

$ sudo update-grub2

Reinicia el ordenador. A partir de ahora ya no se activará por defecto IPv6.