¿Cómo consolidar DNS local desde múltiples enrutadores y múltiples servidores DHCP?

¿Cómo consolidar DNS local desde múltiples enrutadores y múltiples servidores DHCP?

Tengo una red privada con varios enrutadores OpenWrt que conectan algunas subredes locales. Utilizo NAT en un par de enrutadores para dar acceso a Internet a través de diferentes proveedores.

Ejecuto un solucionador de almacenamiento en caché recursivo de DNS local (Unbound) y sirve a todos mis clientes en todas las subredes locales.

Cada enrutador maneja DHCP para sus subredes locales y asigna nombres de host. Pero todas las subredes están en my-example.com. (Por lo tanto, un cliente del enrutador 1 podría ser 'cliente1.router1.mi-ejemplo.com')

Me gustaría que todos mis enrutadores informen sus clientes DHCP al enrutador principal que proporciona DNS, de modo que cualquier cliente en cualquier subred local pueda comunicarse con cualquier otro cliente por su nombre. (El enrutamiento ya funciona; puedo comunicarme con cualquiera desde cualquier dirección IP).

Parece que necesito algo así como una configuración de DNS dinámico privado en mi máquina DNS principal, pero no encuentro un paquete adecuado.

¿Cómo puedo hacer que todos los nombres de mis clientes DHCP locales (de todas las subredes bajo diferentes enrutadores) estén disponibles para todos los demás clientes en mi red local?

Respuesta1

Puede mantener el DNS como está, pero configurar el servidor central Unbound para reenviar solicitudes al servidor de nombres correcto según el sufijo. Esto se puede hacer usando forward-zoneo stub-zonebloques. (Ambos son muy similares en funcionamiento, pero en su caso stub-zonees más correcto ya que lo está apuntando directamente a un servidor autorizado, mientras forward-zoneespera que lo apunten a otro solucionador recursivo). Por ejemplo:

stub-zone:
    name: "router1.my-example.com."
    stub-addr: <IPv4 address of router1>
    stub-addr: <IPv6 address of router1>
    stub-first: yes

(En DNS público, normalmente configurarías un subdominiodelegacionesusando NSregistros: esto indicaría a los solucionadores que, por ejemplo, <foo>.router1.my-example.comes manejado por un servidor diferente).

alternativamenteharíaSería posible configurar DNS dinámico para que los enrutadores registren registros directamente en un servidor central, pero esto probablemente requeriría cambiar a un software completamente diferente. En el lado del servidor central, probablemente querrás reemplazar Unbound con BIND9 o algo más que pueda alojar zonas y admita el protocolo RFC 2136 de "actualización de DNS", y en los enrutadores necesitarás un servidor DHCP que sepa cómo enviar tales actualizaciones.

No estoy seguro de si OpenWRT podría tener opciones adicionales, pero sospecho que los enrutadores actualmente ejecutan Dnsmasq, que puede crear nombres de host dinámicos porque todo está en el mismo proceso: el mismo programa maneja tanto DNS como DHCP. Pero no sabe cómo enviar actualizaciones de DNS a otro lugar. Necesitaría usar Dnsmasq --dhcp-scriptpara que se ejecute nsupdatecon los parámetros correctos. (El servidor ISC DHCP admite DDNS y, a menudo, se combina con BIND, pero ya no se mantiene).

información relacionada