En este artículo:
Para deshabilitar IPv6 en tiempo de ejecución, editaremos el archivo /etc/sysctl.conf y añadiremos:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
Y después para aplicar los cambios, ejecutaremos:
sysctl -p
–> COMPROBAR SI IPv6 ESTÁ ACTIVADO O DESACTIVADO TRAS USAR SYSCTL.CONF
Para comprobar si IPv6 está activado o desactivado tras haber enviado el parámetro disable_ipv6 por medio del archivo sysctl.conf, hemos de comprobar si existe el archivo /proc/sys/net/ipv6/conf/all/disable_ipv6:
Ejecutaremos:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
–> Si devuelve 0, es que ipv6 está activado
–> Si devuelve 1, es que ipv6 está desactivado
Parece ser que este método no funciona en las últimas versiones de Raspbian (y otros sistemas que utilizan systemd). IPv6 permanece activo a pesar de las configuraciones de /etc/sysctl.conf.
Lo podemos ver:
Así que ahora IPv6 sigue habilitado a pesar de haber realizado los pasos anteriores por medio de /etc/sysctl.conf
Será mejor que utilicemos el método para desactivar IPv6 por medio de /boot/cmdline.txt
El archivo /boot/cmdline.txt sirve para pasar argumentos al kernel de Linux durante el arranque.
Modificamos dicho archivo, y al final del contenido existente, dejamos un espacio y añadimos:
ipv6.disable=1
Después reiniciamos el sistema para aplicar los cambios.
Si modificamos parámetros para deshabilitar IPv6, tanto en el archivo sysctl.conf como en cmdline.txt, al reiniciar el sistema, el daemon systemd-sysctl arrojará errores el el log /var/log/syslog, ya que al pasar parámetros en el archivo cmdline.txt para en este caso desactivar IPv6, el daemon systemctl-sysctl intenta encontrar los archivos de configuración de IPv6, pero ya han sido eliminados al haber deshabilitado IPv6 desde el arranque del kernel con /boot/cmdline.txt .
En ese caso recibiremos el error:
El mensaje de error es muy claro, el archivo no existe.
El archivo /proc/sys/net/ipv6/conf/all/disable_ipv6 no existe, porque al desactivar IPv6 en el arranque, por medio de /boot/cmdline.txt, los archivos relacionados han desaparecido.
En la siguiente captura comprobamos que IPv6 está activado:
revisamos los procesos en funcionamiento, haciendo una búsqueda de IPv6:
ps -aux | grep ipv6
Y en la siguiente imagen comprobamos que IPv6 ya está deshabilitado, ya que no aparece:
Aunque hayamos deshabilitado IPv6 con los pasos previamente mencionados, es posible que en nuestro archivo /var/log/syslog recibamos el error:
IPv6: Loaded, but administratively disabled, reboot required to enable
Esto es debido a que hemos deshabilitado la funcionalidad de IPv6, pero el módulo sigue cargando al inicio.
A continuación podemos ver cómo solucionar este error:
IPv6: Loaded, but administratively disabled, reboot required to enable SOLUCIONADO
Atribución de imagen: CC BY-SA 4.0, KugXel via Wikimedia Commons