De manera predeterminada, IPv6 está habilitado en los sistemas CentOS/RHEL 8. Sin embargo, en determinadas situaciones, a algunos usuarios les puede resultar conveniente desactivar la compatibilidad con IPv6. Esta publicación describe los pasos para deshabilitar ipv6 en un sistema CentOS/RHEL 8.
Para sistemas que utilizan NetworkManager
Para todos los sistemas que ejecutan NetworkManager, IPv6 debe estar deshabilitado en cada interfaz con la opción ipv6.method establecido en deshabilitado . Este paso debe realizarse además de deshabilitar IPv6 utilizando el método que se muestra en la siguiente sección a continuación.
# nmcli connection modify [Connection Name] ipv6.method "disabled"
Método 1:Usar GRUB2
1. Deshabilite el módulo de kernel integrado ipv6. Editar /etc/default/grub y agregue ipv6.disable=1 a GRUB_CMDLINE_LINUX como se muestra a continuación:
GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root ipv6.disable=1"
2. Ejecute grub2-mkconfig Comando para regenerar el archivo grub.cfg:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Como alternativa, en los sistemas UEFI, ejecute lo siguiente:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
3. Reinicie el sistema para desactivar la compatibilidad con IPv6.
# systemctl reboot
Método 2:Usar sysctl
Alternativamente, esto también se puede hacer a través de la configuración de sysctl. Tenga en cuenta que esto interrumpe SSH Xforwarding a menos que sshd_config contenga AddressFamily inet.
1. Cree un nuevo archivo llamado /etc/sysctl.d/ipv6.conf y agrega las siguientes opciones:
# vi /etc/sysctl.d/ipv6.conf # First, disable for all interfaces net.ipv6.conf.all.disable_ipv6 = 1 # If using the sysctl method, the protocol must be disabled all specific interfaces as well. net.ipv6.conf..disable_ipv6 = 1
2. La nueva configuración deberá volver a cargarse con:
# sysctl -p /etc/sysctl.d/ipv6.conf
3. Cree una copia de seguridad de initramfs antes de realizar cambios:
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
4. Luego reconstruya la imagen de disco RAM inicial usando:
# dracut -f -v
5. Verificación de la inclusión del archivo:
# lsinitrd /boot/initramfs-[version].img | grep 'etc/sysctl.d/ipv6.conf'
6. Comente cualquier dirección IPv6 que se encuentre en /etc/hosts, incluida ::1 dirección localhost. Realice una copia de seguridad del archivo antes de realizar cambios:
# cp -p /etc/hosts /etc/hosts.disableipv6 # sed -i 's/^[[:space:]]*::/#::/' /etc/hosts
Verificación
1. El estado actual de la opción de desactivación del módulo ipv6 se puede ver a través de sysfs:
# cat /sys/module/ipv6/parameters/disable 1
2. El estado actual de sysctl disabled_ipv6 se puede ver con el comando sysctl:
# sysctl -a 2>/dev/null | grep disable_ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 0 net.ipv6.conf.eth0.disable_ipv6 = 0
3. Para enumerar las direcciones IPv6 asignadas al sistema:
# ip -6 addr
4. Para enumerar los sockets IPv6 TCP o UDP, se puede usar algo como lo siguiente:
# ss -6 -pan
La Conclusión
En caso de que observe algún mensaje denegado de Selinux en el archivo audit.log, como avc:denegado { module_request }, mientras usa el Método 1 (GRUB2), luego deshabilite el ipv6 desde el archivo /etc/sysctl.d/ipv6.conf como se muestra en el Método 2. Opcionalmente, para evitar la salida de mensajes rpc* después de deshabilitar ipv6, edite /etc/netconfig para las líneas que comienzan con udp6 y tcp6; cambie la "v" en la tercera columna a "-" (guion/raya).
Cómo habilitar IPv6 en CentOS/RHEL 8