web-dev-qa-db-fra.com

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

Hier, je suis passé à Precise et Dnsmasq a cessé de fonctionner. Autrement dit, les requêtes DNS adressées à localhost sur lequel dnsmasq est à l'é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 (vous avez trouvé cette suggestion quelque part sur Google). /etc/resolv.conf semblait bien avec et sans resolvconf en place. Aucune différence du tout.

  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?
8
lightxx

La réponse simple à (1) est: resolvconf se définit comme intermédiaire entre les programmes fournissant ces informations (tels que ifup et ifdown, les clients DHCP, le démon PPP et les serveurs de noms locaux) et les programmes utilisant ces informations (telles que les caches DNS et les bibliothèques de résolveur). À 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'ils 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 avez rencontré le bogue n ° 959037.

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

10
jdthood

Je viens de l'enlever sur mon installation. J'utilisais manuellement pppd pour établir la connexion avec mon modem 3G et resolvconf a interféré avec les paramètres de mon DNS en ajoutant automatiquement mon fournisseur DNS lorsque je souhaitais utiliser un DNS personnalisé. pppd a des options pour contrôler cela, mais resolvconf les a compressés avec ses propres paramètres. Je voudrais aussi savoir répondre à cette question? Il semble que ce soit une sorte de paquet de faire-il-plus-facile-mais-au-lieu-compliqué-choses?

p.s. J'ai trouvé ce rapport de bogue: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/922578

2
Marko

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

Cela provient de la description du paquet. Sur les ordinateurs de bureau, cela fonctionne conjointement avec NetworkManager pour gérer en douceur l’établissement et l’abandon de connexions.

Ainsi, resolvconf, ainsi que dnsmasq, sont utilisés dans 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 du serveur.

Malgré de nombreuses recherches sur Google, je n'ai pas été en mesure de déterminer ce qui est recommandé pour l'installation d'un 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 afin qu'il contienne 127.0.0.1, mais présente d'autres problèmes, car Dnsmasq n'obtient pas les serveurs de noms ISP de dhclient sur eth0 (il s'agit d'une passerelle). récupérez les noms de serveurs que j'ai entrés manuellement dans la strophe eth0 de/etc/network/interfaces.

Pourquoi utilisez-vous Dnsmasq? Exécutez-vous également une passerelle avec 2 NICS? Ou est-ce juste un bureau ordinaire? Si c'est le cas, resolvconf se coordonne avec le gestionnaire de réseau

1
Adam