service networking restart
n'est pas toujours un moyen fiable de descendre toutes les interfaces.
El resolvconf -u
La commande ne fait que mettre à jour resolv.conf
à partir de la propre base de données de resolvconf. Vous devez mettre à jour la base de données.
Pour mettre à jour la base de données, vous devez appeler resolvconf avec l'option -a
o -d
option. Cela se passe en coulisses lorsque vous exécutez ifup ou ifdown. Donc, normalement, comme pour toute autre modification de l'option /etc/network/interfaces
Pour activer les changements dans les options DNS-*, vous devez mettre hors service l'interface en question et la remettre en service. Ou vous pouvez redémarrer.
Si vous souhaitez apporter des modifications à une interface sans l'interrompre (peut-être parce que vous administrez la machine à distance et que vous êtes connecté via cette interface), vous pouvez obtenir le même résultat en exécutant resolvconf directement depuis la ligne de commande. Ceci requiert un peu plus de connaissance de la sémantique de resolvconf. Supposons que la strophe /e/n/i concernée est la suivante
iface IIII FFFF static
address ...
...
dns-nameservers X.X.X.X Y.Y.Y.Y
dns-search SSSS
où FFFF est une famille d'adresses ("inet" ou "inet6").
Pour activer ces options dns-*, vous exécutez resolvconf comme suit (oui, avec des retours à la ligne dans la chaîne envoyée à resolvconf).
echo "nameserver X.X.X.X
nameserver Y.Y.Y.Y
search SSSS" | sudo resolvconf -a IIII.FFFF
Pour la strophe donnée dans la question, ce serait le suivant.
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Consultez la page de manuel resolvconf(8) et le fichier README du paquetage resolvconf (/usr/share/doc/resolvconf/README.gz) pour plus d'informations.