Linux_frogg-profile.d/inc/tool.sh

28 lines
842 B
Bash

disable_ipv6()
{
local status
# Vérification des droits root
if [ "$EUID" -ne 0 ]; then
status=$(status_text error "Droits root requis pour modifier sysctl")
format_line "IPv6" "$status"
return 1
fi
# Application des paramètres sysctl
# On cible 'all', 'default' et 'lo' (loopback)
sysctl -w net.ipv6.conf.all.disable_ipv6=1 >/dev/null
sysctl -w net.ipv6.conf.default.disable_ipv6=1 >/dev/null
sysctl -w net.ipv6.conf.lo.disable_ipv6=1 >/dev/null
# Rendre les changements persistants après redémarrage
cat <<EOF > /etc/sysctl.d/99-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF
status=$(status_text success "IPv6 désactivé avec succès")
format_line "IPv6" "$status"
}