DD-WRT: les hôtes d'extension DNSMasq ne fonctionnent pas

12

J'ai un routeur Linksys exécutant DD-WRT (micrologiciel: DD-WRT v24-sp2 (09/08/09) mini). Je parviens à résoudre avec succès les noms DNS de mes systèmes affectés par DHCP, mais uniquement lorsque je qualifie pleinement ces domaines. Ceci malgré l'utilisation de l'option supplémentaire "expand-hosts" DNSMasq, qui est censée activer cette fonction précise.

Voici mon dnsmasq.conf:

interface=br0
resolv-file=/tmp/resolv.dnsmasq
domain=example.com
dhcp-leasefile=/tmp/dnsmasq.leases
dhcp-lease-max=51
dhcp-option=lan,3,10.77.0.5
dhcp-authoritative
dhcp-range=lan,10.77.0.100,10.77.0.149,255.255.0.0,1440m
dhcp-host=00:1A:A0:1D:82:5A,astatichostname,10.77.1.40,infinite
expand-hosts

(Pour info: example.com et astatichostname sont des espaces réservés pour les noms réels que j'utilise. Mon réseau utilise 10.77.0.0/16; mon routeur est sur 10.77.0.5.)

Résultats:

> nslookup astatichostname 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

** server can't find astatichostname: NXDOMAIN

> nslookup astatichostname.example.com 10.77.0.5
Server:     10.77.0.5
Address:    10.77.0.5#53

Name:   astatichostname.example.com
Address: 10.77.1.40

Y a-t-il autre chose qui pourrait déclencher l'expansion de l'hôte dans DNSMasq?

Craig Walker
la source

Réponses:

8

Cette question est ancienne, mais c'est l'un des meilleurs résultats Google pour le problème, et je l'ai finalement compris.

Le problème, c'est que ce expand-hostsn'est pas le cas. La documentation à ce sujet est très floue, mais ce expand-hostsqui est ajouté, c'est le domaine pour héberger les entrées dans /etc/hosts, pas pour les requêtes DNS. Donc par exemple

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

Ensuite, les requêtes DNS pour astatichostname.example.comseront résolues en 10.77.0.5(en plus des requêtes DNS pour seulement astatichostname).



Solution:

Ainsi, la solution consiste à demander à dd-wrt de créer les entrées dans /etc/hostssans le domaine, puis d'indiquer à dnsmasq de considérer ces entrées d'hôte comme faisant partie du example.comdomaine lorsqu'une requête DNS d'enregistrement A pleinement qualifiée entre.
Pour ce faire, vous devoir:

  1. Placez le example.comdomaine dans le champ Nom de domaine sur la page Configuration -> Configuration de base sous Paramètres facultatifs .
  2. Videz le paramètre de domaine LAN sur la page Services sous Serveur DHCP .
  3. Ajouter expand-hostsaux options DNSMasq supplémentaires sur la page Services sous DNSMasq

L'étape # 1 contrôle le domain=paramètre qui est placé dans le dnsmasq.conffichier. L'étape # 2 supprime le domaine des entrées qui sont mises /etc/hosts. L'étape n ° 3 colle le domaine aux entrées /etc/hostslorsqu'une requête DNS complète entre en jeu.


Je suis tellement content que dd-wrt ait rendu cela simple et agréable ...

Patrick
la source
2

Ce qui suit fonctionne pour moi sur mon DD-WRT:

expand-hosts
local=/lan/
domain=lan

Je pense que c'est parce que le localparamètre vous manque . J'ai également landéfini mon "domaine LAN" dans l'interface graphique.

Jim Hunziker
la source