emq-TE1/install/ipv6off.sh

55 lines
1.8 KiB
Bash

#!/bin/bash
sudo sed -i '/listen \[::\]:wd0p/ s/.*/echo ""/' /bin/menu*
sudo sed -i '/listen \[::\]:wd0p/ s/.*/echo ""/' /bin/MENU*
sudo sed -i '/listen \[::\]:/ s/.*//' /etc/nginx/sites-enabled/*
if sudo systemctl status nginx.service | grep "service; enabled;" >/dev/null 2>&1
then
sudo systemctl restart nginx.service
fi
# Función para comprobar si IPv6 está habilitado
check_ipv6_enabled() {
if [ "$(cat /proc/sys/net/ipv6/conf/all/disable_ipv6)" -eq 0 ]; then
return 0
else
return 1
fi
}
# Verificar si IPv6 está habilitado
if check_ipv6_enabled; then
echo "IPv6 está habilitado, procediendo a deshabilitar..."
# Deshabilitar IPv6 en tiempo de ejecución
echo "Deshabilitando IPv6 en tiempo de ejecución..."
# Eliminar direcciones IPv6 de todas las interfaces
for interface in $(ls /sys/class/net/); do
sudo ip -6 addr flush dev $interface
done
# Deshabilitar IPv6 temporalmente
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
# Deshabilitar IPv6 de forma persistente
echo "Deshabilitando IPv6 de forma persistente..."
# Agregar configuración para deshabilitar IPv6 al archivo /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
# Aplicar configuración de sysctl
sudo sysctl -p
# Deshabilitar módulo de IPv6 en GRUB para mayor seguridad
echo "Deshabilitando módulo IPv6 en GRUB..."
sudo sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="\1 ipv6.disable=1"/' /etc/default/grub
sudo update-grub
echo "IPv6 ha sido deshabilitado en todas las interfaces y de forma persistente."
else
echo "IPv6 ya está deshabilitado, no es necesario ejecutar el script."
fi