148 votes

Comment désactiver systemd-resolved dans Ubuntu ?

Comment puis-je désactiver systemd-resolved dans Ubuntu 17.04 ?

La désactiver avec systemctl disable n'a pas fonctionné, le service semble être redémarré (par Networkmanager ?)

257voto

Bastian Voigt Points 4216

Cette méthode fonctionne sur les versions Ubuntu 17.04 (Zesty), 17.10 (Artful), 18.04 (Bionic), 18.10 (Cosmic), 19.04 (Disco) et 20.04 (Focal) :

Désactivez et arrêtez le service systemd-resolved :

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

Ensuite, mettez la ligne suivante dans le fichier [main] de votre /etc/NetworkManager/NetworkManager.conf :

dns=default

Supprimer le lien symbolique /etc/resolv.conf

rm /etc/resolv.conf

Redémarrer NetworkManager

sudo systemctl restart NetworkManager

Sachez également que la désactivation de systemd-resolvd peut casser la résolution de nom dans VPN pour certains utilisateurs. Voir ce bug sur le launchpad (Merci, Vincent).

30voto

Mike Burnham Points 1

Si vous utilisez Ubuntu 18.04 Server (ou Ubuntu 20.04 Server), aucune de ces réponses ne s'applique. La réponse de l'utilisateur 2427436 est la plus proche.

Le problème est que systemd-resolved est/exécute un résolveur de stub, et j'ai juste besoin de le désactiver complètement (selon la question). Je dois le faire parce que Zimbra 8.8.15 (FOSS) est livré avec son propre résolveur intégré (non lié).

Dans ma situation, je pars d'une installation de base (naïve) du serveur 18.04, avec des options minimales sur métal nu (en fait, une VM).

alors voici la recette :

   vi /etc/systemd/resolved.conf
     edit line #DNSStubListener=yes
         to be DNSStubListener=no
   systemctl stop systemd-resolved
   systemctl status systemd-resolved
   rm /etc/resolv.conf
   reboot to test...

Voici à quoi ressemble maintenant le fichier /etc/systemd/resolved.conf :

# See resolved.conf(5) for details
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
DNSStubListener=no

c'est tout ce qu'il fallait.

N'hésitez pas à installer tout autre résolveur que vous voulez après cela.

29voto

user2427436 Points 459

J'ai récemment effectué une mise à niveau vers (k)Ubuntu 17.04 et je suis également tombé sur le changement de systemd.

Ma configuration est assez typique, je pense, en ce sens que j'ai un fournisseur de DNS dans mon HUB à large bande et c'est ma principale source d'information pour tous les appareils de mon réseau (dont je dispose de quelques uns).

Il y a de la 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é " changeons-le en dépit du fait qu'il soit cassé pour tout le monde ".

La solution pour moi, après m'être arraché les cheveux, a été de modifier /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 n'avoir pas compris pourquoi cela ne fonctionnait pas, j'ai compris que ce qu'il fallait aussi faire, c'était de changer /etc/resolv.conf à celui fourni par systemd. Ce n'est pas le cas dans une installation "out-of-a-box" (pour des raisons qui me sont inconnues).

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 couper et mettre une autre solution puisque systemd-resolv est maintenant le départ par défaut.

Un problème connexe est que le /etc/nsswitch.conf est castré.

Il faut lire :

hosts:          files mdns4_minimal dns [NOTFOUND=return] resolve [!UNAVAIL=return] dns

Cette configuration est déroutante car [NOTFOUND=return] signifie que le traitement s'arrête là. Les entrées qui suivent ne seront jamais utilisées.

4voto

d33j Points 111

Si vous avez des problèmes de fuites avec votre VPN et que vous n'arrivez pas à comprendre 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 l'attribut dns=default car cela activera le serveur de noms 127.0.0.1. Pour configurer le routeur en tant que dns, créez le fichier "tail" dans votre répertoire /etc/resolvconf/resolv.conf.d/ en ajoutant la ligne nameserver 192.168.1.1

faire ln -sf /var/run/resolved/resolv.conf /etc/resolv.conf si vous aviez foiré avec ce fichier.

0voto

user32178 Points 231

Je me sens obligé d'ajouter cette excellente réponse apparue sur un dupe, elle couvre le cas où vous voulez la configuration minimale de ifupdown + dhclient + resolvconf (oui c'est encore possible en 2021 dans Ubuntu Focal).

Ce cas d'utilisation n'est pas couvert par les autres réponses. Peut-être devrions-nous nous efforcer de fournir des configurations non résolues par le système pour la plupart des différentes combinaisons que nous pourrions vouloir dans notre pile réseau (basée sur netplan, networkmanager, wicd, etc.).

https://askubuntu.com/a/1336755/32178

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X