Comment puis-je désactiver la résolution de systemd dans Ubuntu 17.04?
La désactivation avec systemctl disable
n'a pas fonctionné, le service semble être redémarré (par Networkmanager?)
Cette méthode fonctionne sur les versions Ubuntu 17.04 (Zasty) , 17.10 (Artful) , 18.04 (Bionique) et 18.10 (Cosmique) :
Désactivez et arrêtez le service résolu par systemd:
Sudo systemctl disable systemd-resolved.service
Sudo systemctl stop systemd-resolved
Ensuite, placez la ligne suivante dans la section [main]
de votre /etc/NetworkManager/NetworkManager.conf
:
dns=default
Supprimer le lien symbolique /etc/resolv.conf
rm /etc/resolv.conf
Redémarrez le gestionnaire de réseau
Sudo service network-manager restart
Sachez également que la désactivation de systemd-resolvd peut empêcher la résolution de noms dans le VPN pour certains utilisateurs. Voir ce bug sur le tableau de bord (Merci, Vincent).
Je suis récemment passé à (k) Ubuntu 17.04 et je suis également tombé sur le changement de systemd.
Ma configuration est assez typique, je pense, dans la mesure où j'ai un fournisseur DNS dans mon concentrateur haut débit et c'est ma principale source d'informations pour tous les périphériques de mon réseau (parmi lesquels j'en ai quelques-uns).
Il y a une certaine beauté dans systemd, ce n'est pas si mauvais que ça, mais ce qui est vraiment mauvais, c'est la documentation, le manque de communication de la part de l'équipe Ubuntu et le gung-ho "changeons-le simplement en dépit de la mentalité qui convient à tout le monde".
La solution pour moi après avoir arraché quelques cheveux était d’éditer /etc/systemd/resolved.conf:
[Resolve]
DNS=192.168.1.254 # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan # <-- change to your localdomain name (maybe .local)
#LLMNR=yes <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp
Après ne pas avoir compris pourquoi cela ne fonctionnerait pas, j’ai compris qu’il était également nécessaire de passer de /etc/resolv.conf à celui fourni par systemd. Ce n'est pas le cas dans une installation prête à l'emploi (pour des raisons que je ne connais pas).
Sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Le serveur DNS local n'est alors pas utilisé et toutes les demandes DNS sont envoyées à mon hub.
Je pense que c'est une bien meilleure solution que de découper et d'ajouter une autre solution puisque systemd-resolv est désormais la solution par défaut.
Un problème connexe est que le fichier /etc/nsswitch.conf est neutralisé.
Il devrait lire:
hôtes: fichiers mdns4_minimal dns [NOTFOUND = return] résoudre [! UNAVAIL = return] dns
Cette configuration est source de confusion car [NOTFOUND = return] signifie que le traitement se termine là. Les entrées qui suivront ne seront jamais utilisées.
Si vous rencontrez des problèmes de fuites avec votre VPN et que vous ne savez pas comment configurer systemd (comme moi), vous pouvez le supprimer de la manière décrite dans la première réponse, mais n'ajoutez pas la ligne dns=default
car elle activera le serveur de noms. 127.0.0.1. Pour définir le routeur en tant que DNS, créez le fichier "tail" dans votre dossier /etc/resolvconf/resolv.conf.d/
en ajoutant la ligne nameserser 192.168.1.1
ln -sf /var/run/resolved/resovl.conf /etc/resolv.conf
si vous vous êtes trompé avec ce fichier.