Après avoir désactivé IPv6 avec ce script:
echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf
sysctl -p
J'essaie de réactiver l'aide de ce script:
sed -i "/net.ipv6.conf.all.disable_ipv6/d" /etc/sysctl.conf
sed -i "/net.ipv6.conf.default.disable_ipv6/d" /etc/sysctl.conf
sed -i "/net.ipv6.conf.lo.disable_ipv6/d" /etc/sysctl.conf
sysctl -p
J'ai vérifié que le script d'activation supprime les lignes de désactivation du fichier sysctl.conf.
Dans chaque cas, je vérifie le résultat avec ceci:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
où '1' signifie désactivé et '0' signifie pas.
La pièce réactivée ne fonctionne pas.
Dans chaque cas, la commande sysctl -p recharge le fichier /etc/sysctl.conf. Cependant, il semble que le rechargement entre simplement dans sa mémoire tampon au lieu de l'écraser complètement afin que les propriétés de désactivation ne soient pas supprimées.
Cette analyse est-elle correcte?
Si c'est le cas, je ne vois pas d'option pour effacer le cache sysctl.conf. Est-ce qu'il y a un? Ou existe-t-il une stratégie pour cette exigence?
Les entrées dans /etc/sysctl.conf
et tous les fichiers qui y sont inclus spécifient les paramètres sysctl qui seront appliqués au démarrage ou à l'exécution de Sudo sysctl -p
. Mais l'absence d'une entrée dans ce fichier signifie qu'un tel sysctl (il y en a des milliers) ne sera pas modifié à partir de la valeur qu'il détient actuellement.
Vous avez supprimé les entrées sysctl qui désactivaient IPv6 à partir de ce fichier, mais il ne semble pas que vous ayez réellement modifié les paramètres sysctl eux-mêmes. Lancer Sudo sysctl -p
ne les a pas changés, car ils n'étaient pas dans /etc/sysctl.conf
.
Afin de rétablir ces valeurs par défaut pour ces entrées, vous pouvez soit redémarrer votre système, soit utiliser sysctl
pour les définir explicitement. Par exemple:
Sudo sysctl net.ipv6.conf.all.disable_ipv6=0
Sudo sysctl net.ipv6.conf.default.disable_ipv6=0
Sudo sysctl net.ipv6.conf.lo.disable_ipv6=0