web-dev-qa-db-fra.com

Ubuntu 17.10: réactiver IPv6

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?

4
Stephen Boston

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
2
Michael Hampton