Pourquoi Dnsmasq place-t-il mon IP routeur dans /etc/resolv.conf au lieu de 127.0.0.1?

J'ai des problèmes de résolution DNS dans divers contexts qui semblent remonter à ma configuration réseau.

Je cours uniquement l'installation de dnsmasq sur deux installations Linux (Lubuntu 12.04 et 12.10). Je n'ai rien fait en particulier pour configurer dnsmasq , mais je pense que d'autres changements que j'ai faits précédemment peuvent avoir conduit à une configuration incorrecte lors de la mise à niveau.

La configuration de travail sur la machine 'A' exécutant 12.04 définit /etc/resolv.conf pour utiliser 127.0.1.1 (qui dans /etc/hosts est défini sur $HOSTNAME ) Sur la machine 'B' où certaines applications comme OpenVPN rencontrent des problèmes de résolution DNS , /etc/resolv.conf est réglé sur 192.168.1.1, qui est mon IP de passerelle. Seules certaines applications sont affectées. La navigation Web, par exemple, fonctionne très bien.

Toute idée si cette différence est la cause des problèmes de résolution DNS, et pourquoi «B» se comporte différemment?

Modifications:

A la fois 'A' et 'B' exécutent dnsmasq , les deux utilisent DHCP pour get la configuration DNS, et j'utilise seulement Dnsmasq pour le DNS.

Il n'y a pas de file /etc/dnsmasq.conf . Je comprends que c'est normal quand on exécute simplement dnsmasq-base .

Le contenu de /etc/resolvconf sur les deux machines semble être identique. Pas de files étrangers / manquants.

Désolé, je ne peux pas être plus précis sur la nature du problème. "Problème de résolution DNS" a été le point final de ma discussion avec le support technique chez mon fournisseur VPN.

Sur la machine B, si /etc/NetworkManager/NetworkManager.conf contient dns=dnsmasq resolv.conf ne doit contenir qu'une seule ligne "nameserver", à savoir nameserver 127.0.1.1 . 127.0.1.1 est l'adresse où écoute le server de noms local contrôlé par NetworkManager. NetworkManager donne les adresses de transfert du server de noms à utiliser.

Essayez d'exécuter sudo dpkg-reconfigure resolvconf sur la machine B. Cela restaurera le lien symbolique nécessaire de /etc/resolv.conf à ../run/resolvconf/resolv.conf .

Exécuter un client VPN tiers? Ces clients sont connus pour /etc/resolv.conf et ne pas le restaurer quand ils sortent. Vous devrez faire sudo dpkg-reconfigure resolvconf chaque fois que vous arrêterez un tel client.

Une autre chose à essayer est: commenter dns=dnsmasq dans /etc/NetworkManager/NetworkManager.conf , puis redémarrer. Cela désactive le server de noms de transfert local contrôlé par NetworkManager qui a certains problèmes connus.