2008-08-08 12 views
1

J'utilise dnsmasq pour résoudre les requêtes DNS sur mon réseau domestique. Malheureusement, si un nom de domaine n'est pas connu, il ajoutera mon propre nom de domaine à la demande, ce qui signifie que je finis toujours par voir mon propre site dans un navigateur.Comment empêcher dnsmasq d'ajouter mon nom de domaine à des demandes de domaine non valides?

Par exemple, si j'entre http://dlksfhoiahdsfiuhsdf.com dans un navigateur, je finis par voir mon propre site avec cette URL. Si je tente quelque chose comme:

host dlksfhoiahdsfiuhsdf.com 

Au lieu de l'attendu:

Host dlksfhoiahdsfiuhsdf.com not found: 3(NXDOMAIN) 

Je reçois ceci:

dlksfhoiahdsfiuhsdf.com.mydomainname.com has address W.X.Y.Z. 

De toute évidence, Dnsmasq apposent mon nom de domaine à des demandes de nom impossible dans un effort pour les résoudre, mais je préfère voir l'erreur non trouvée à la place.

J'ai essayé de jouer avec les expand-hôtes et domaine paramètres de configuration, mais en vain. Y at-il autre chose que je peux essayer?

Répondre

0

J'ai essayé de supprimer de domaine de ma propre configuration pour répliquer votre problème et il n'a pas produit ce comportement. C'est le seul autre paramètre que je pourrais trouver qui pourrait être proche de pertinent.

À quoi ressemble votre fichier hosts? Peut-être que quelque chose d'étrange se passe là-bas qui fait penser que tous les domaines étranges sont locaux sur votre réseau?

3

essayer avec un point interrogation de fin pour définir explicitement la racine:

host dlksfhoiahdsfiuhsdf.com. 
3

Il est probablement pas Dnsmasq le faire, mais votre bibliothèque résolveur local. Si vous utilisez unix, essayez de supprimer les lignes "search" ou "domain" de /etc/resolv.conf

+0

Merci pour le conseil. Depuis que j'ai posé la question, j'ai arrêté d'utiliser dnsmasq et je ne peux donc pas tester votre solution. Je le laisserai au cas où cela pourrait aider quelqu'un d'autre. – yukondude

1

Il peut y avoir d'autres causes, mais la cause la plus évidente est la configuration de /etc/resolv.conf, et le fait que la plupart des clients DNS aiment être très laconique sur les erreurs.

benc$ host thing.one 
Host thing.one not found: 3(NXDOMAIN) 

(d'accord, Qu'ai-je utilise une configuration DNS?)

benc$ cat /etc/resolv.conf 
nameserver 192.168.1.1 

(modifier ...)

benc$ cat /etc/resolv.conf 
search test.com 
nameserver 192.168.1.1 
benc$ host thing.one 
thing.one.test.com has address 64.214.163.132 

Sans prendre la peine de faire une trace de paquet, la probable le comportement est qu'il renvoie l'erreur pour le dernier nom de domaine complet qu'il a essayé.

0

Vous avez un domaine générique? Dnsmasq transmet le nom ajouté au serveur DNS externe et son caractère générique.

Vous pouvez utiliser --server =/yourinternaldomainhere/pour vous assurer que vos recherches internes de nom de domaine ne sont pas transférées.

syntaxe dans ce cas serait:

--server =/domain/iptoforwardto

et dans ce cas laisser la zone vide iptoforwardto que vous ne voulez pas de transmettre partout.