Pourquoi ai-je dû supprimer resolvconf pour que dnsmasq fonctionne à nouveau?

8

Hier, je suis passé à Precise et dnsmasq a cessé de fonctionner. Autrement dit, les requêtes DNS à localhost où dnsmasq écoute (127.0.0.1) ont été refusées.

La suppression de resolvconf ( apt-get remove resolvconf) et le redémarrage ont résolu le problème (trouvé cette suggestion quelque part sur Google). /etc/resolv.confavait l'air bien avec et sans resolvconf en place. Aucune différence.

  1. Pourquoi devrais-je utiliser resolvconf? Y a-t-il des avantages? L'article de Wikipedia couvrant resolvconf est nul.
  2. Pourquoi resolvconf a-t-il interféré avec dnsmasq? est-ce un problème connu?
lightxx
la source
bla @ blubb: ~ $ [-f /usr/share/doc/resolvconf/README.gz] && echo "Trouvé" || echo "Introuvable" Introuvable um. petit malin.
lightxx

Réponses:

10

La réponse simple à (1) est: resolvconf se définit comme l'intermédiaire entre les programmes qui fournissent ces informations (tels que ifup et ifdown, les clients DHCP, le démon PPP et les serveurs de noms locaux) et les programmes qui utilisent ces informations (tels que DNS caches et bibliothèques de résolveurs). À partir d'Ubuntu 12.04, resolvconf fait partie de l'installation par défaut dans les variantes de serveur et de bureau. Il n'est jamais nécessaire de supprimer resolvconf et les personnes qui le suppriment ne le comprennent généralement pas, généralement parce qu'elles n'ont pas lu resolvconf (8) et /usr/share/doc/resolvconf/README.gz.

La réponse à la deuxième question est que resolvconf n'a probablement pas interféré avec dnsmasq. Je suppose que vous rencontriez le bogue # 959037.

Explication: Dans Ubuntu 12.04, il existe deux manières d'exécuter dnsmasq. Il existe la version autonome traditionnelle de dnsmasq qui écoute toutes les adresses. Et il y a le nouveau processus dnsmasq contrôlé par NetworkManager qui n'écoute que sur 127.0.0.1. Ce dernier est en conflit avec le premier sauf si le premier est reconfiguré. Ce problème a été résolu dans Ubuntu 12.10 en faisant écouter le processus dnsmasq contrôlé par NM sur 127.0.1.1 au lieu de 127.0.0.1 et en forçant le processus dnsmasq autonome à écouter uniquement les adresses affectées aux interfaces.

jdthood
la source
J'ai lu le manapage et je ne trouve toujours pas de moyen fiable d'ajouter mes propres serveurs de noms resolv.conf.
Michael Mior
Avec resolvconf installé, vous pouvez ajouter une adresse de serveur de noms nameserver x.x.x.xen ajoutant /etc/resolvconf/resolv.conf.d/head. Sachez cependant que cela n'est généralement pas nécessaire ou recommandé. En règle générale, il existe un moyen plus correct d'ajouter des lignes de "serveur de noms" à resolv.conf. Généralement, l'utilitaire qui configure une interface réseau ajoute ou supprime les adresses de serveurs de noms disponibles via cette interface en exécutant resolvconf -aou resolvconf -d, respectivement. La hiérarchisation des adresses de serveurs de noms ajoutées de cette manière est régie par /etc/resolvconf/interface-order.
jdthood
En fait, mettre une ligne de serveur de noms l'a headajoutée APRÈS le serveur de noms par défaut.
Michael Mior
Je ne l'ai pas testé, mais il semblerait que echo x.x.x.x | resolvconf -a locela ferait l'affaire pour ajouter un serveur de noms que j'aimerais être le premier pour toutes les interfaces.
Michael Mior
Resolvconf met toujours le contenu de headen tête (haut, début) de resolv.conf.
jdthood
2

Je viens de le supprimer lors de mon installation. J'utilisais pppd manuellement pour composer ma connexion par modem 3G et resolvconf interférait avec mes paramètres DNS en ajoutant automatiquement mon fournisseur DNS lorsque je voulais utiliser un DNS personnalisé. pppd a des options pour contrôler cela, mais resolvconf les a assommés avec ses propres paramètres. Je voudrais aussi savoir la réponse à cette question? Il semble que ce soit un type de paquet qui rend les choses plus faciles, mais plutôt compliquées?

ps j'ai trouvé ce rapport de bug: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/922578

Marko
la source
Merci pour votre contribution. je l'aurais voté mais il me manque le représentant.
lightxx
@lightxx: a voté pour vous;)
Tomasz Zieliński
Au lieu de supprimer resolvconf, vous auriez pu configurer resolvconf pour ignorer les informations de serveur de noms provenant de pppd.
jdthood
Le contenu normal de resolv.conf est assez simple. Chaque fois que la machine est un serveur ou même un poste de travail non portable, il semble évidemment plus facile de suivre le seul resolv.conf au lieu de la demi-douzaine de fichiers différents potentiellement utilisés par resolvconf.
ericx
@jdthood - je ne vois pas comment faire cela dans la page de manuel resolvconf.conf, je serais intéressé par les détails de l'implémentation.
dps
1

La réponse simple à (1) est: resolvconf se définit comme l'intermédiaire entre les programmes qui fournissent ces informations (tels que ifup et ifdown, les clients DHCP, le démon PPP et les serveurs de noms locaux) et les programmes qui utilisent ces informations (tels que DNS caches et bibliothèques de résolveurs).

Cela vient de la description du paquet. Sur les ordinateurs de bureau, il fonctionne en conjonction avec NetworkManager pour gérer sans problème l'établissement et la suppression de connexions.

Donc resolvconf, avec dnsmasq, sont utilisés en 12.04 pour rendre la gestion des informations DNS plus fiable sur la version de bureau. Donc, dans certaines situations, cela améliore les choses, mais la situation dans son ensemble manque de documentation au bon endroit, en particulier. dans le monde des serveurs.

Malgré de nombreuses recherches sur Google, je n'ai pas pu déterminer ce qui est recommandé sur une installation de serveur.

En ce qui concerne (2), vous rencontrez le problème inverse de moi. Dnsmasq fonctionne bien avec resolvconf sur ma machine et met à jour le fichier /etc/resolv.conf pour contenir 127.0.0.1 mais a d'autres problèmes car dnsmasq n'obtient pas les serveurs de noms ISP de dhclient sur eth0 (il s'agit d'une passerelle) et ne le fait pas non plus obtenir les serveurs de noms que j'ai entrés manuellement dans la strophe eth0 dans / etc / network / interfaces.

Pourquoi utilisez-vous dnsmasq? Utilisez-vous également une passerelle avec 2 cartes réseau? Ou s'agit-il simplement d'un simple bureau? Si oui, resolvconf coordonne avec le gestionnaire de réseau

Adam
la source
Merci pour votre réponse. je l'aurais voté, malheureusement vous avez besoin de 15 points de réputation pour voter. lol
lightxx
1
les pages de manuel sont utiles lorsque vous savez ce que vous devez savoir. Si vous ne le faites pas, ils peuvent être pour le moins déroutants. Les Howto's, exemples et FAQ sont ce dont vous avez besoin lorsque vous n'avez pas d'expérience dans un domaine.
Adam
voté @lightxx en votre nom :)
fkl