Servidor DNS para dominio falso, solo para uso de pruebas internas (en Linux)

Servidor DNS para dominio falso, solo para uso de pruebas internas (en Linux)

Digamos que tengo varias máquinas (o VM) en una LAN interna (clase 10.0 o 192.168), que necesitan comunicarse entre sí, pero en lugar de configurar un archivo /etc/hosts algo dinámico y tedioso de mantener actualizado (como nuevo). Las máquinas virtuales se agregan de vez en cuando), me gustaría configurar un servidor DNS interno. Todas mis máquinas de prueba y máquinas virtuales ejecutan Linux. Tengo algunas preguntas al respecto:

  1. ¿Puedo configurar el servidor DNS? Puedo usar un dominio falso (digamos "ejemplo.com" ya que está reservado) como mi dominio conocido internamente en la red privada.
  2. ¿Puedo configurar el servidor DNS donde /etc/resolv.conf apunta a este servidor para resolver todas las direcciones IP de la máquina para los hosts en este dominio privado/falso? Sin embargo, para un dominio existente real/real, el servidor DNS debería apuntar o recuperar la dirección IP resuelta de un servidor DNS real en cascada (es decir, un servidor DNS público). Este último es para el acceso a Internet público en general desde las máquinas de prueba, a través de un Proxy NAT.
  3. ¿Podría hacer algo de esta naturaleza con, por ejemplo, TinyDNS? Bind me parece demasiado intimidante y quizás excesivo para mis necesidades.

Respuesta1

La respuesta corta es sí y no importa si tu dominio es real o falso. En general, es una mejor idea utilizar algo de su propiedad (o un subdominio de algo de su propiedad) para evitar posibles problemas en el futuro. El uso de un dominio real de su propiedad también hace posible obtener certificados reales (confiables públicamente) para nombres en ese dominio sin necesidad de implementar una PKI interna.

Casi cualquier software de DNS puede admitir lo que estás intentando hacer. Actuará como servidor DNS tanto "autorizado" como "recursivo". Tendrá autoridad para la example.comzona (o lo que sea) y la recursividad es la pieza que permite que las consultas para las que no tiene autoridad se resuelvan desde Internet.

Entonces sus clientes apuntan solo a su servidor DNS en su resolv.conf. Las consultas sobre cualquier cosa se example.comresuelven utilizando sus registros. Las consultas sobre cualquier otra cosa harán que el servidor DNS busque las respuestas en Internet, (probablemente) las almacene en caché y las devuelva como respuestas "no autorizadas" al cliente.

Respuesta2

yo suelodnsmasqpara fines similares. Lo tengo ejecutándose en una Raspberry Pi. Sirve como servidor DNS local para mi red, por lo que todos los clientes lo consultan. Si el dominio no está en su base de datos o caché local, realiza una consulta a un servidor DNS de Internet (realicé algunas pruebas para ver cuál tenía el tiempo de respuesta más rápido y los seleccioné).

Con esta configuración, puedes tener dominios tanto reales como "falsos". Por ejemplo, cuando trabajo en un sitio web, puedo cambiar la dirección IP del dominio real a una dirección local de trabajo en progreso en el servidor dnsmasq. Cuando termino y quiero que acceda al sitio web real en Internet, simplemente elimino la configuración. (Tenga en cuenta que esta es una red pequeña sobre la que tengo control total. En un escenario más complicado, no querría cambiar las cosas de esa manera).

En dnsmasq, puedes hacer:

address=/myfakedomain.com/10.16.1.20

para redirigir consultas para myfakedomain.com a la dirección IP especificada. Incluso puedes hacer cosas como:

address=/plex/10.16.1.55

para permitir a los usuarios escribir palabras clave y acceder a servicios en la red.

También lo uso como mi servidor DHCP, y esa es una forma de asegurarme de que se proporcione como el servidor DNS principal de la red.

Respuesta3

Intente utilizar esta solución:https://github.com/mocktools/ruby-dns-mock ¡Es fácil imitar cualquier tipo de registro DNS!

información relacionada