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?)
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?)
Réponses:
Cette méthode fonctionne sur les versions Ubuntu 17.04 (Zesty), 17.10 (Artful), 18.04 (Bionic), 18.10 (Cosmic) et 19.04 (Disco):
Désactivez et arrêtez le service résolu par systemd:
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
Ensuite, mettez la ligne suivante dans la [main]
section de votre /etc/NetworkManager/NetworkManager.conf
:
dns=default
Supprimer le lien symbolique /etc/resolv.conf
rm /etc/resolv.conf
Redémarrez NetworkManager
sudo systemctl restart NetworkManager
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, tout n'est pas mauvais, mais ce qui est vraiment mauvais, c'est la documentation, le manque de communication de la part de l'équipe Ubuntu et la mentalité gung-ho "Changeons-le bien malgré tout pour 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 dns=default
ligne 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 /etc/resolvconf/resolv.conf.d/
dossier en ajoutant la lignenameserser 192.168.1.1
faire ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf
si vous aviez foiré avec ce fichier.