Para deshabilitar IPv6 en CentOS 7 y RHEL 7 lo más rápido es hacer uso del archivo de configuración sysctl.conf, que como sabéis, al igual que con el comando «sysctl», en Linux permite modificar dinamica y estáticamente parámetros del kernel. Estos parámetros son almacenados en el filesytem procfs en la ruta /proc/sys. Para más información, ver artículo: sysctl y /proc/sys – modificar parámetros de kernel
Así pues, editamos el archivo de configuración /etc/sysctl.conf y añadimos la siguiente línea para deshabilitar por completo IPv6 en todos los adaptadores de red del sistema:
# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
Para deshabilitar sólo una interfaz de red concreta, especificamos el nombre de la interfaz de red del siguiente modo:
net.ipv6.conf.eth0.disable_ipv6 = 1
Para que el sistema vuelva a leer el archivo de configuración y aplique los cambios especificados, ejecutamos:
# sysctl -p
Con el comando siguiente comando podemos ver los valores actuales de todos los parámetros disponibles en el kernel:
# sysctl -a | more kernel.sched_child_runs_first = 0 kernel.sched_min_granularity_ns = 1000000 kernel.sched_latency_ns = 5000000 kernel.sched_wakeup_granularity_ns = 1000000 kernel.sched_tunable_scaling = 1 kernel.sched_features = 3183 kernel.sched_migration_cost = 500000 kernel.sched_nr_migrate = 32 kernel.sched_time_avg = 1000 kernel.sched_shares_window = 10000000 kernel.timer_migration = 1 kernel.sched_rt_period_us = 1000000 [...]
Y los que nos interesan filtrando por IPv6:
# sysctl -a | grep ipv6 | more net.ipv6.neigh.default.mcast_solicit = 3 net.ipv6.neigh.default.ucast_solicit = 3 net.ipv6.neigh.default.app_solicit = 0 net.ipv6.neigh.default.delay_first_probe_time = 5 net.ipv6.neigh.default.gc_stale_time = 60 net.ipv6.neigh.default.unres_qlen = 3 [...]
También podemos ver si tenemos o no activado IPv6 con alguno de los siguientes comandos:
ifconfig
ip -6 addr
cat /proc/net/if_inet6
Más info: http://www.sysadmit.com/2017/09/linux-deshabilitar-ipv6.html