18.04: Bionic Beaver: appliquer statique /etc/resolv.conf

10

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

Depuis que je travaillais en tant qu'administrateur système, c'était extrêmement inacceptable. Ce fut un appel de panique. C'est lorsque vous allez dépanner un problème et dans l'une de vos étapes, vous utilisez digou nslookupet vous êtes stupéfait de voir l' lointerface vous répondre. PANIQUE

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

MK
la source

Réponses:

5

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

Pour vraiment appliquer une statique /etc/resolv.confdont vous savez qu'elle survivra aux redémarrages de toute sorte, vous devez lui attribuer l'attribut immuable . En ajoutant à la réponse de Bastian Voigt mentionnée ci-dessus, vous faites cela en tant que SuperUtilisateur:

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

... en changeant la nameservervaleur choisie. De cette façon, vous pouvez avoir un très statique /etc/resolv.conf.

MK
la source
3
Le fichier /etc/NetworkManager/NetworkManager.conf n'existe pas en 18.04
hfranco
@hfranco si ce n'est pas le cas, ce dont je doute, alors vous n'en créez qu'un! Et, btw, si c'est votre cas, ce n'est pas une configuration standard; votre cas est anormal. Je dirais que vous avez mal tapé en le cherchant!
MK
@hfranco Aussi vieux que 12.04 unix.stackexchange.com/questions/154338/…
MK
C'est la seule chose qui a fonctionné pour moi sur Ubuntu 18.04
Lucas Bustamante
1

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.

Scubadoo
la source
1
Merci pour le spam! Mais l'attribut immuable vous manque quand même!
MK
0

Selon les documents, vous pouvez écrire votre resolv.confà /usr/lib/systemd/resolv.conf, qui est un fichier statique qui peut être liée à partir /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#contenttoc3

/ETC/RESOLV.CONF

Quatre modes de gestion de /etc/resolv.conf (voir resolv.conf (5)) sont pris en charge:

...

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

wisbucky
la source
2
Non désolé. Que se passe-t-il lorsque la spécification change ou que la méthode de configuration change de la propre volonté d'Ubuntu ? Vous savez, c'est le même fiasco pour lequel j'ai laissé les rêves corrompus de Satya d'un OS. Et, c'est le même fiasco que Linux devrait éviter. Quel est le problème avec resolv.conf? Pourquoi les tracas? Pourquoi essayer d'imiter la configuration du réseau Redhat haineux et fastidieux, d'une manière ou d'une autre? Désolé, je ne m'en tiendrai qu'à ma solution.
MK
Comment savez-vous que votre fichier ne sera tout simplement pas ignoré à l'avenir? Je sais que forcer la façon statique dont certaines applications fonctionneraient et d'autres non. Avec la solution de wisbucky, nous pouvons au moins utiliser la méthode actuelle. Je n'ai pas vu la nécessité pour eux de le changer non plus, mais je n'ai pas obtenu de vote. Quelqu'un a voté contre cette solution alors qu'en fait elle fonctionne et est la plus simple. +1
Marlon
@Marlon "Comment savez-vous que votre fichier ne sera tout simplement pas ignoré à l'avenir"? Parce qu'il est immuable; et, si /etc/resolv.conf va être ignoré, alors pourquoi tout le monde à construire un cadre autour de lui ?? Ignorer le fichier ne se produira que si certains wacko Ubuntu ont décidé qu'il était inutile (implémenter quelque chose dans un fichier d'interface, par exemple!)
MK
Si je voulais que quelqu'un prenne des décisions pour moi, je serais retourné au wacko Microsoft Windows, dont les codeurs et les concepteurs et Satya au-dessus d'eux pensent tous qu'ils connaissent votre intérêt mieux que vous et que vous n'avez pas le droit de choisir comment gérer leur " création". Agitation!
MK
Pourquoi tant d'histoires construire un OS pour le bien de l'humanité, si l'humanité ne peut pas profiter de son fonctionnement? Qu'est-ce que l'agitation est attribut immuable si quelqu'un va me dire quand l'utiliser ou non. Il ne s'agit pas de "suivre les manuels galactiques de Vega", il s'agit de la liberté de choix; personne ne devrait jamais vous imposer sa propre impulsion rigide. Vous êtes un être et vous avez des droits.
MK
-2

Le fichier présent est un lien symbolique vers un autre fichier. Supprimer le fichier

rm /etc/resolve.conf
vim / etc resolver.conf
entrez vos données
: wq

Le fichier n'est plus un lien symbolique mais un fichier persistant.

0n10n_
la source
Étapes déjà directes pour supprimer /etc/resolv.conf au préalable.
MK