Centos: Como desactivar la IPv6 en distintas versiones
CentOS 7 / RHEL 7
Comprobar si IPv6 está activado
Antes de hacerlo verificamos si en verdad esta activada o no:
# ip addr show | grep net6
# ifconfig -a | grep inet6
inet6 fe80::211:aff:fe6a:9de4 prefixlen 64 scopeid 0x20
inet6 ::1 prefixlen 128 scopeid 0x10[host]
MĂ©todo 1: Desactivandolo en el Kernel (Requiere Reiniciar)
1. Editamos el archivo Grub y agregamos en la Variable “GRUB_CMDLINE_LINUX” lo siguiente:
ipv6.disable=1
Quedando asĂ:
cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
2. Recreamos el Grub con los nuevos cambios, y reemplazamos en caso de que exista:
grub2-mkconfig -o /boot/grub2/grub.cfg
3. Reiniciamos
shutdown -r now
4. Comprobamos que ya no aparece a lĂnea “Inet6” (con el comando de más arriba)
MĂ©todo 2: Usando Sysctl (Sin Reiniciar)
1. Agregamos las siguientes lĂneas al archivo “/etc/sysctl.conf” :
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Nota: En caso que quieras desactivar SOLO para una interfaz de red especifica y no en todas podrĂas usar:
net.ipv6.conf.[interfaz].disable_ipv6 ### Aqui pones el nombre de la interfaz
net.ipv6.conf.default.disable_ipv6 = 1
2. Procesamos los cambios en el Sysctl:
sysctl -p
Adicional: “Evitar SSH XForwarding”
Al hacer estos cambios debemos de estar seguros que nuestro archivo “/etc/ssh/sshd_config” contiene la siguiente lĂnea para evitar errores de SSH XForwarding:
vi /etc/ssh/sshd_config
...
AddressFamily inet
...
Reiniciamos el Servicio de SSH:
systemctl restart sshd
CentOS 6 / RHEL 6
Comprobar si IPv6 está activado
ifconfig |grep inet6
inet6 addr: fe80::d6be:d9ff:fe99:5a77/64 Scope:Link
inet6 addr: fe80::d6be:d9ff:fe99:5a77/64 Scope:Link
MĂ©todo 1: Editando ipv6.conf (Requiere Reiniciar)
1. Creamos el archivo “/etc/modprobe.d/ipv6.conf” en caso de que no exista y le agregamos la siguiente lĂnea:
options ipv6 disable=1
2. Desactivamos el servicio de IPtables para IPv6
chkconfig ip6tables off
3. Reiniciamos
shutdown -r now
4. Comprobamos que ya no aparece a lĂnea “Inet6” (con el comando de más arriba)
MĂ©todo 2: Editando Sysctl (Sin Reiniciar)
1. Ejecutamos uno de estos 2 bloques:
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
o este:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
2. Vemos si las lineas se agregaron al archivo /etc/sysctl.conf
vi /etc/sysctl.conf
...
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
...
3. Procesamos los cambios en el Sysctl:
sysctl -p
MĂ©todo 3 (Aun sin probar)
Encontre otro metodo que tambien podrian probar en caso los otros no funcionen, les aviso que este método aun no lo pruebo por mi mismo porque los otros si me han funcionado.
1. Agregar las siguientes lĂneas en los siguientes archivos:
vi /etc/modprobe.d/modprobe.conf
options ipv6 disable=1
alias net-pf-10 off
alias ipv6 off
install ipv6 /bin/true
vi /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no
X: es el nĂşmero de NIC (0-1-2-etc)
vi /etc/sysconfig/network-scripts/ifcfg-ethx
IPV6INIT=no
2. Desactivamos el servicio de IPtables para IPv6
chkconfig ip6tables off
3. Comprobamos que ya no aparece a lĂnea “Inet6” (con el comando de más arriba)
Adicional: “Evitar SSH Xforwarding”
Si tenemos varias interfaces de red (Multiple NIC) en distintas Subnets debemos realizar unos cambio adicionales para solucionar un Bug de Routing en Centos 6.x . Mas info sobre el bug aqui
En el archivo /etc/sysctl.conf cambiar la el valor de la siguiente linea de 1 a 2.
net.ipv4.conf.default.rp_filter = 2 ### Por defecto era 1
EscrĂbeme un comentario si este contenido te fue Ăştil o si te quedĂł alguna duda, asĂ podrĂ© mejorarlo. Gracias!