DD-WRT: DNSMasq expand-hosts no funciona

12

Tengo un enrutador Linksys que ejecuta DD-WRT (Firmware: DD-WRT v24-sp2 (08/09/09) mini). Lo tengo resolviendo con éxito los nombres DNS para mis sistemas asignados por DHCP, pero solo cuando califico completamente esos dominios. Esto a pesar de utilizar la opción adicional DNSMasq "expand-hosts", que se supone que activa esta función precisa.

Aquí está mi 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

(FYI: example.com y astatichostname son marcadores de posición para los nombres reales que uso. Mi red usa 10.77.0.0/16; mi enrutador está en 10.77.0.5.)

Resultados:

> 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

¿Hay algo más que podría estar activando expand-host en DNSMasq?

Craig Walker
fuente

Respuestas:

8

Esta pregunta es antigua, pero es uno de los mejores resultados de Google para el problema, y ​​finalmente lo descubrí.

El problema es que eso no es lo que expand-hostshace. La documentación que expand-hostscontiene es muy difusa, pero lo que hace es agregar el dominio a las entradas de host /etc/hosts, no a las consultas de DNS. Así por ejemplo

/ etc / hosts:

10.77.0.5 astatichostname

dnsmasq.conf:

expand-hosts
domain=example.com

Luego, las consultas dns astatichostname.example.comse resolverán 10.77.0.5(además de las consultas DNS por solo astatichostname).



Solución:

Por lo tanto, la solución es conseguir DD-WRT para crear las entradas en /etc/hostssin el dominio sobre ellos, y luego decirle a dnsmasq para considerar esas entradas de host como parte del example.comdominio cuando un registro Una consulta DNS completo viene en.
Para ello, Tiene que:

  1. Poner el example.comdominio en el nombre de dominio de campo en la Configuración -> Configuración básica de página bajo los ajustes opcionales .
  2. En blanco la configuración de Dominio LAN en la página Servicios en Servidor DHCP .
  3. Agregar expand-hostsa opciones adicionales de DNSMasq en la página Servicios en DNSMasq

El paso 1 controla la domain=configuración que se coloca en el dnsmasq.confarchivo. El paso 2 elimina el dominio de las entradas que se ingresan /etc/hosts. El paso 3 agrega el dominio a las entradas /etc/hostscuando entra una consulta DNS completamente calificada.


Estoy muy contento de que dd-wrt haya hecho esto agradable y simple ...

Patricio
fuente
2

Lo siguiente funciona para mí en mi DD-WRT:

expand-hosts
local=/lan/
domain=lan

Creo que es porque te estás perdiendo la localconfiguración. También lo lanconfiguré como mi "Dominio LAN" en la GUI.

Jim Hunziker
fuente