8 votes

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

Hier, j'ai effectué une mise à niveau vers 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.

En supprimant resolvconf (apt-get remove resolvconf) et en redémarrant, le problème a été résolu (j'ai trouvé cette suggestion quelque part sur Google). /etc/resolv.conf semblait correct avec ou sans resolvconf en place. Aucune différence du tout.

  1. Pourquoi devrais-je utiliser resolvconf? Y a-t-il des avantages? L'article Wikipedia sur resolvconf est nul.
  2. Pourquoi resolvconf a-t-il interféré avec dnsmasq? Est-ce un problème connu?

10voto

jdthood Points 11817

La réponse simple à la première question est la suivante : resolvconf se configure lui-même en tant qu'intermédiaire entre les programmes qui fournissent ces informations (comme ifup et ifdown, les clients DHCP, le démon PPP et les serveurs de noms locaux) et les programmes qui utilisent ces informations (comme les caches DNS et les bibliothèques de résolution). À partir d'Ubuntu 12.04, resolvconf fait partie de l'installation par défaut dans les variantes serveur et bureau. Il n'est jamais nécessaire de supprimer resolvconf et les personnes qui le suppriment ne comprennent généralement pas son fonctionnement, en général car 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 avez rencontré le bogue #959037.

Explication : Dans Ubuntu 12.04, dnsmasq est exécuté de deux manières différentes. 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 sur 127.0.0.1. Ce dernier entre en conflit avec le premier à moins que ce dernier ne soit 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 sur 127.0.1.1 au lieu de 127.0.0.1 et en forçant le processus dnsmasq autonome à n'écouter que sur les adresses attribuées aux interfaces.

2voto

GregC Points 444

J'ai simplement supprimé sur mon installation. J'utilisais pppd manuellement pour composer ma connexion de modem 3G et resolvconf interférait avec mes paramètres de DNS en ajoutant automatiquement mon DNS de fournisseur alors que je voulais utiliser un DNS personnalisé. pppd a des options pour contrôler cela mais resolvconf les écrasait avec ses propres paramètres. J'aimerais aussi connaître la réponse à cette question ? Il semble que c'est un genre de paquet qui rend les choses plus faciles mais qui complique en réalité les choses ?

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

1voto

Ashley H Points 21

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

C'est ce qui est décrit dans le package. Sur les bureaux, il fonctionne en conjonction avec NetworkManager pour gérer la création et la suppression des connexions en douceur.

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

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

Quant à (2), vous avez le problème inverse du mien. 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 ne récupère pas les serveurs de noms de l'ISP à partir de dhclient sur eth0 (qui est une passerelle) et ne récupère pas les serveurs de noms que j'ai entrés manuellement dans la section eth0 de /etc/network/interfaces.

Pourquoi utilisez-vous dnsmasq ? Avez-vous également un gateway avec 2 cartes réseau ? Ou est-ce simplement un bureau ordinaire ? Si c'est le cas, resolvconf coordonne avec network-manager

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