DD-WRT sirve servidores DNS adicionales en lugar de solo la IP del enrutador

8

Tengo un enrutador DD-WRT (usando DD-WRT v24SP2-MULTI (03/21/11) std) configurado con DNSMasq para resolver ciertos dominios a direcciones internas y pasar todo lo demás. El propio enrutador está configurado para usar los servidores DNS públicos de Google para resolver direcciones.

Mi pantalla de configuración se ve así:

DDWRT Setup Screen

Mi problema es que cuando se conecta un cliente DHCP, obtienen el enrutador más los dos servidores DNS de Google como servidores DNS asignados:

DNS servers assigned by DHCP

Esto es un problema porque a veces los clientes inalámbricos intentan resolver un dominio que se supone que apunta a una dirección IP interna y, en cambio, obtienen una dirección IP externa porque, por cualquier motivo, su solicitud se envía a 8.8.8.8 En lugar de al enrutador.

No quiero que el enrutador sirva nada más que su propia IP como servidor DNS. ¿Es eso posible?

thatjuan
fuente
1
Puede que me equivoque, pero como esa es la sección de configuración del servidor DHCP, le está diciendo explícitamente a su enrutador que proporcione esos servidores de Google como opciones de DNS para los clientes. Desea eliminarlos de la lista y luego configurar el enrutador para obtener su propio dns de google, tal vez la respuesta a continuación sea la forma correcta de hacerlo.
horatio
Si los elimino, el enrutador proporcionará los servidores que recibió del ISP a través de DHCP.
thatjuan
Usted dice "por cualquier razón" varias veces en su publicación y comentarios. ESTA es la razón por la que 8.8.8.8 se pasa a los clientes. Porque se lo dijiste. Si no quiere que se informe, necesita eliminarlo. Si su enrutador es un servidor dns, pruebe SOLAMENTE la dirección de su enrutador.
horatio
@horatio, en realidad no ... Mi punto es por qué el servidor dhcp proporciona direcciones DNS adicionales. Si dnsmasq está en el dispositivo y aplica ciertas reglas de resolución de nombres, servir servidores DNS adicionales (además del propio enrutador) anula ese propósito.
thatjuan
Esa sección es una lista de servidores DNS ser entregado a los clientes que solicitan información DHCP.
horatio

Respuestas:

6

Es bueno que estés usando DNSMasq.

Puedes configurar lo que quieras en el Servicios (& gt; Servicios) pestaña, en la DNSMasq & gt; Opciones adicionales de DNSMasq cuadro, pero primero, querrá borrar esos campos DNS estáticos. Static DNS fields in "Setup > Basic Setup"

Agregue lo siguiente al cuadro de opciones DNSMasq:

dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006

server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4
palswim
fuente
Esto parece haber funcionado perfectamente para mí. Una pregunta muy tonta sin embargo. ¿Qué parte de esa primera línea especifica la opción 006 de DHCP? opción: dns-server?
Residualfail
@Residualfail: Sí; Creo que también puedes especificarlo numéricamente, pero option:dns-server corresponde a la opción DHCP 006.
palswim
1
Parece que podría haber hablado demasiado pronto. No parece que dns esté retrocediendo a los dns de Google después de que se cierre mi dns interno. = (
Residualfail
4

Información tomada del sitio oficial de DD-WRT: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Parece que puede configurar los servidores dns restantes a direcciones IP no enrutables (en mi caso 10.0.0.0 &erio; 10.0.0.1 ) y exprimirá los servidores DNS de sus ISP con estos no enrutables. Hasta ahora, para mí, parece estar funcionando sin demora en los servidores DNS inexistentes.

CarlserversC
fuente
No habrá demora, ya que la pila de red eliminará las direcciones no enrutables inmediatamente. Crea una pequeña cantidad de gastos generales y es un hack, pero no debería haber problemas del mundo real.
Someone
2

No estoy usando DDWRT, así que esto es media pregunta / mitad respuesta.

El manual DNSMasq como servidor DHCP Dice en la sección "Opciones de DNSMasq adicionales":

Hay algunas opciones adicionales en la interfaz web para DNSMasq que   se puede configurar ingresándolos en Opciones DNSMasq adicionales en la   Pestaña "Servicios".

Si desea pasar a través de los servidores DNS de su ISP, puede usar   los siguientes parámetros:

dhcp-option=6, x.x.x.x, y.y.y.y

donde x.x.x.x = DNS1 y.y.y.y = DNS2

Esto parece significar que pasar los servidores ISP es opcional, por lo que ubicar y eliminar la línea anterior debe desactivarlo.

harrymc
fuente
1
Yo configuraría la opción dhcp = 6,192.168.10.10 para pasar esa dirección IP como IP del servidor DNS a los clientes DHCP.
thane
1
Gracias por el puntero. Lo intenté tanto en uDHCPd (que es el demonio de DNS que estaba usando en ddwrt) como en DNSMasq (cambiado a él), pero fue en vano :(. Sigue sirviendo los registros dns adicionales por cualquier motivo.
thatjuan
En ese caso, tal vez debería publicar la pregunta en el Foros de DD-WRT .
harrymc
2

He estado teniendo un problema similar después de que mi enrutador se apagó y necesito tener un WRT160N encendido.

Tengo una caja que funciona como servidor DNS local en 192.168.2.30 en mi red. Básicamente quiero que DHCP solo proporcione esa dirección como un servidor DNS; No quiero que el DNS vaya a ninguna otra parte.

Estoy usando "Firmware: DD-WRT v24-sp2 (12/19/10) mini"

No parece importar qué combinación de configuración de DNSMasq, configuración de DHCP, DNS local o lo que use. Si el Servidor DNS 2 y el Servidor DNS 3 están en blanco o coinciden con el Servidor DNS 1, DD-WRT insiste en entregar los servidores DNS de Comcast para esos lugares. No quiero esto porque tengo 192.168.2.30 reenviando a OpenDNS para consultas que no son locales.

Estoy escribiendo esto como un error en esta versión bastante antigua (hasta ahora) de DD-WRT y voy a instalar / configurar mi propio servidor DHCP en 192.168.2.30 y desactivar el DHCP en el enrutador.

LawrenceC
fuente
1
en realidad no es una mala idea ... podría configurar dhcp en otra caja y dejar de joder con ddwrt.
thatjuan
1
Este problema aún existe en mi compilación de febrero de 2016, parece ser una característica. Estoy abandonando el enrutador y voy a volver a una PC con Linux para esto. Las personas que crean software de enrutador deberían comprender mejor los problemas de privacidad que surgen con este comportamiento inesperado, poco común e irresponsable de la GUI. Si yo mismo tengo que hackear cosas, realmente no tiene sentido usar un sistema comparativamente complicado y limitado. Y cuando ya está ejecutando DNS y DHCP en otra máquina, ¿qué queda para el enrutador? ¿Empujando paquetes?
Someone
1

Si no desea que los clientes lleguen a un DNS externo, no coloque sus direcciones en la configuración del servidor DHCP.

Supongo que querría agregar (eventualmente más rápido) los servidores DNS de Google en una configuración de cliente DHCP externo (donde DNSMASQ tomaría sus preferencias de cliente DNS)

Extra:

Tiene que agregar (todos) servidores DNS adicionales a la configuración del enlace WAN. DNSMasq los usará y nunca el cliente DHCP los adquirirá del proveedor.

ZaB
fuente
Gracias por su contribución, pero eso no tiene mucho sentido en el contexto de la pregunta. DNSMasq funciona al reenviar las solicitudes de DNS de los clientes a servidores DNS reales con la capacidad de modificar algunas respuestas sobre la marcha. Si quité los servidores dns de la configuración, el enrutador simplemente vuelve a los servidores asignados por el ISP. Está respondiendo a mi pregunta diciendo "arregle su configuración", pero la pregunta en sí misma es "cómo arreglar la configuración".
thatjuan
1

Una opción de configuración típica para DD-WRT es permitir que el enrutador enrute DNS fuera de los servidores DNS primarios del ISP; lo que has hecho con éxito; sin embargo, dado que las solicitudes se generan desde la máquina CLIENTE, conectándose DEMASIADO al enrutador, el orden de preferencia siempre se asigna al DNS configurado en la máquina del cliente y luego al enrutador.

Lo que está describiendo que está sucediendo es que el cliente se está asociando con su enrutador, lo cual es correcto, pero su DNS muestra la configuración de DNS de su enrutador IP + 2. Verifique la computadora cliente y asegúrese de que su configuración de IPV4 esté configurada para extraer dinámicamente la configuración del servidor DNS de la conexión y no configurarla manualmente:

Configuring Client

Luego, asegúrese de tener la configuración de su enrutador DD-WRT correctamente:

Configure Router

En su configuración anterior, también tiene algunos problemas; ha configurado el rango de direcciones DHCP para comenzar en 200 y termina en 255; Te recomendaría cambiar eso para comenzar en 200 y terminar en 254; dejando la dirección 255 apagada, dado que para configuraciones normales *.*.*.255 es una dirección de difusión y no una dirección IP normal para usar para asignar al cliente asociado.

Resalté la configuración de DNS local porque configuraste la tuya 127.0.0.1; lo que significa que está ejecutando un servidor DNS local en el enrutador . Si este no es el caso, entonces cámbielo a 0.0.0.0, o una dirección adecuada a un servidor DNS local en su red.

Notarás que cuando el servidor & amp; Los clientes se configuran de esta manera, solo aparecerán las direcciones IP del DNS del enrutador; y todas las solicitudes se enrutarán a través de los servidores DNS asociados con el enrutador.

Nota sobre el servidor DNS local Si desea que el enrutador asocie cierta dirección local a las direcciones IP locales, puede agregarlas a las opciones de configuración de DNSMasq en la pantalla DD-WRT adecuada, o usar un servidor DNS local, y colocar una dirección IP adecuada para ese servidor (generalmente una servidor estático, dentro del ámbito de la red). De esta manera, el orden de resolución será primero el servidor local, luego el 2 externo. Pero, aún así, solo los clientes verán la IP del enrutador como el servidor DNS.

zackrspv
fuente
¡Gracias por su respuesta! Me aseguré de que todos los clientes de la red no tengan servidores DNS codificados. De hecho, en todos los casos, 192.168.10.10 (el enrutador en sí) regresa como el primer servidor DNS en alcanzar. Lo que sucede es que algunas computadoras atacan aleatoriamente los servidores DNS secundarios que DHCP está proporcionando actualmente. He intentado un millón de cosas y parece que no hay forma de que solo se sirva a sí mismo. Podría terminar ejecutando algunas otras instancias de dnsmasq en una máquina diferente y usarlas como dns2 y dns3 ... ¡tal pirateo! jajaja gracias de nuevo.
thatjuan
0

Entrando con un método menos intrépido: si se trata de su LAN y su DNS, estoy seguro de que hay algunas direcciones de sobra para que el DNS escuche en tres IP.

La ganancia de tener direcciones no enrutables debe ser irrelevante en la práctica, pero al menos no confía en que algo se rompa y la respuesta de los enrutadores. Nunca puedes estar seguro de que eso no cambie algún día.

Someone
fuente
0

Agregado unos años tarde porque me topé con esta búsqueda de una respuesta ... Agregué interfaces virtuales a mi agujero pi para manejar 2 direcciones IP más.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Esto me permitió rellenar las 3 casillas con direcciones locales, y hacer que se repartiera lo suficiente como para que a pesar de que el enrutador dd-wrt entregue 5, 3 locales y los 2 ISP ascendentes dns, mis máquinas no los golpearán.

dave
fuente