web-dev-qa-db-fra.com

18.04: Castor bionique: appliquez static /etc/resolv.conf

Auparavant, sur Ubuntu 16.04, je me sentais trahi lorsqu'une mise à jour Ubuntu installait le paquet dnsmasq, le configurait et lui donnait la priorité sur mon propre serveur DNS BIND super stable, ultra-rapide et configuré par lui-même. C'était exactement comme si Ubuntu avait piraté mon poste de travail.

Comme je travaillais comme administrateur système, c'était extrêmement inacceptable. C'était un appel de panique. C'est à ce moment-là que vous résolvez un problème et que, dans l'une de vos étapes, vous utilisez Dig ou nslookup et vous êtes abasourdi de voir l'interface lo vous répondre. PANIQUE

Existe-t-il un moyen non seulement de résoudre ce problème, mais également de garantir que /etc/resolv.conf sera inviolable?

10
M K

Une simple modification de /etc/NetworkManager/NetworkManager.conf et la désactivation de systemd-resolved.service (comme dans cette réponse https://askubuntu.com/a/907249/719422 ). Mais cela seul, bien qu'essentiel, ne garantit pas l'inviolabilité resolv.conf.

Pour appliquer réellement un /etc/resolv.conf statique qui survivrait à tout redémarrage, vous devez lui attribuer l'attribut immuable . En ajoutant à la réponse de Bastian Voigt mentionnée ci-dessus, vous le faites en tant que superutilisateur:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

... changer le nameserver à la valeur que vous avez choisie. De cette façon, vous pouvez avoir un vraiment statique /etc/resolv.conf.

5
M K

La meilleure solution que j'ai trouvée consiste à empêcher NetworkManager de mettre à jour /etc/resolv.conf, puis de créer un nouveau fichier /etc/resolv.conf avec un serveur DNS statique. Voir https://www.ctrl.blog/entry/resolvconf-tutorial pour savoir comment procéder.

0
Scubadoo

Selon les documents, vous pouvez écrire votre resolv.conf dans /usr/lib/systemd/resolv.conf, qui est un fichier statique pouvant être lié à partir de /etc/resolv.conf. Cela ne devrait pas être réécrit.

Sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc

/ETC/RESOLV.CONF

Quatre modes de traitement de /etc/resolv.conf (voir resolv.conf (5)) sont supportés:

...

Un fichier statique /usr/lib/systemd/resolv.conf est fourni. Il répertorie le stub DNS 127.0.0.53 (voir ci-dessus) en tant que serveur DNS uniquement. Ce fichier peut être lié de manière symbolique à partir de /etc/resolv.conf afin de connecter tous les clients locaux qui contournent les API DNS locales à résolus par systemd. Ce fichier ne contient aucun domaine de recherche.

0
wisbucky