¿La configuración dnsmasq del enrutador OpenWRT bloquea la resolución del nombre de LAN?

3

Tengo un enrutador OpenWRT versión 15.05 que es miembro de una red local. Esta red tiene sus propios servidores DHCP y DNS que dnsmasq debería usar automáticamente para la resolución de nombres de dominio. Sin embargo, los nombres de host para los miembros de la LAN no se resuelven a través de dnsmasq.

Intenté lo /etc/init.d/dnsmasq stopque permitió que estos nombres se resolvieran en el enrutador. Sin embargo, esto detuvo toda resolución de nombre de dominio en mi computadora portátil mientras estaba conectado al enrutador.

Me gustaría que dnsmasq no filtre nombres de dominio locales de sus resultados y que utilice los servidores DNS adecuados (creo que sí), o que encuentre una forma de vivir sin dnsmasq pasando las direcciones IP del servidor DNS ascendente a los clientes del enrutador. (Preferiría no codificar las direcciones IP del servidor DNS para que el enrutador pueda usarse en otros entornos sin reconfiguración).

Deshabilité algunas de las siguientes opciones porque aseguran que "... que las solicitudes de estos nombres de host locales (y la búsqueda inversa) nunca se envíen a los servidores DNS ascendentes". [1] Sin embargo, esto no resolvió mis problemas con dnsmasq.

root@wrt0:~# cat /etc/config/dhcp

config dnsmasq
        #option domainneeded '1'
        option domainneeded '0'
        #option boguspriv '1'
        option boguspriv '0'
        option filterwin2k '0'
        #option localise_queries '1'
        option localise_queries '0'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        #option expandhosts '1'
        option expandhosts '0'
        option nonegcache '0'
        #option authoritative '1'
        option authoritative '0'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option localservice '1'

...

root@wrt0:~# cat /etc/config/network

...
config interface 'lan'
        option ifname 'eth1'
        option type 'bridge'
        option proto 'static'
        option ipaddr '10.0.2.1'
        option netmask '255.255.255.0'

...

root@wrt0:~# cat /etc/resolv.conf 
search lan
nameserver 127.0.0.1

root@wrt0:~# cat /tmp/resolv.conf.auto 
# Interface wan
nameserver 192.168.0.10
nameserver 192.168.0.25
search office.website.org
search website.org

Al resolver nombres locales utilizando dnsqmasq, la resolución falla:

root@wrt0:~# nslookup abc.office.website.org
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost

nslookup: can't resolve 'abc.office.website.org': Name or service not known

Al pasar por alto dnsmasq, la resolución funciona bien:

root@wrt0:~# nslookup abc.office.website.org 192.168.0.10
Server:    192.168.0.10
Address 1: 192.168.0.10 resolver.office.website.org

Name:      abc.office.website.org
Address 1: 192.168.0.32 abc.office.website.org

dnsmasq busca servidores con conexión a internet sin problemas:

root@wrt0:~# nslookup abc.website.org
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost

Name:      abc.website.org
Address 1: 208.xxx.xxx.xxx xyz.website.org

¿Tiene alguna idea sobre cómo puedo omitir el filtrado de dnsmasq o omitir dnsmasq por completo? ¡Gracias! : D

sudoman
fuente

Respuestas:

1

Una solución es deshabilitar dnsmasq y cambiar la dhcp 'lan'sección de /etc/config/dhcp, aunque requiere una configuración específica de red:

root@wrt0:~# /etc/init.d/dnsmasq stop
root@wrt0:~# /etc/init.d/dnsmasq disable

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option dhcpv4 'server'
        option ra 'server'
        list   dns '192.168.0.10'
        list   dns '192.168.0.25'
        list   domain 'office.website.org'
        list   domain 'website.org'
        list   domain 'othersite.org'

Otra forma de lograr resultados similares es usar dnsmasq y agregar una opción para /etc/dnsmasq.conf:

dhcp-option=6, 192.168.0.10, 192.168.0.25

Sin embargo, no está claro cómo configurar múltiples searchdominios usando dnsmasq.

Desafortunadamente, para ambos métodos, la configuración debe editarse si el enrutador se usa en una red diferente o si cambia la dirección IP de DNS, por lo que no es la respuesta perfecta.

sudoman
fuente
1

En primer lugar, realmente debe actualizar a la versión actual (18.X) o la última (17.XX): https://wiki.openwrt.org/de/doc/howto/generic.sysupgrade

Si entiendo correctamente, ¿el servidor DNS y DHCP son dispositivos diferentes en su red? Si es así, domainneededprobablemente debería estar activado y debería tener la asignación de DNS a IP en / etc / hosts. Lea la primera parte de la documentación para obtener más sugerencias.

AdamKalisz
fuente