cómo agregar una entrada al solucionador DNS local [cerrado]

19

Quiero hacer algunas pruebas en Linux. Quiero poner un pequeño servidor web en una máquina con IP: 1.2.3.4 (supuesto) y cuando se realiza una consulta DNS para una URL específica: kitty.myweb.com quiero devolver esta dirección IP.

Escenarios:

  1. Cuando abro un navegador (firefox o lo que sea), ingreso la URL kitty.myweb.com y el navegador realizará la consulta DNS
  2. Quiero escribir un programa que haga la consulta DNS para kitty.myweb.com

Sé que cada computadora tiene una resolución de DNS local que almacena en caché algunas entradas; una llamada a una URL consultará primero al solucionador DNS local, y si no hay entradas correspondientes, enviará la consulta a un solucionador DNS externo en la LAN o Internet.

Lo que quiero es agregar una entrada (kitty.myweb.com: 1.2.3.4) al solucionador DNS local, de modo que para los 2 escenarios anteriores, la respuesta DNS sea 1.2.3.4 sin tener que hacer una consulta externa.

¿Es posible hacer esto en Linux, y si es así, cómo? ¿Hay quizás algún fragmento de código C que haga esto?

misteryes
fuente

Respuestas:

30

Es posible que pueda usar / etc / hosts para agregar su entrada. En realidad, esto no está utilizando DNS, pero afecta la biblioteca de resolución en Linux, que es utilizada por la mayoría de las aplicaciones. Añadir:

1.2.3.4 kitty.myweb.com

Otra opción sería instalar un servidor DNS simple en su sistema. El que uso a menudo se llama dnsmasq. En algunas distribuciones, se instala de manera predeterminada como un solucionador de almacenamiento en caché, en cuyo caso solo necesitaría modificar la configuración para incluir:

dirección = / kitty.myweb.com / 1.2.3.4

Si está ejecutando su propio servidor DNS, probablemente necesitará jugar con /etc/resolv.conf, que es utilizado por la biblioteca de resolución de Linux. Para que la biblioteca de resolución mire un servidor DNS local, necesitará una entrada en resolv.conf:

servidor de nombres 127.0.0.1

Gregor
fuente
9

La forma más fácil de agregar una sola entrada DNS en su host local es agregarla al archivo de hosts. La ubicación de ese archivo puede variar según la distribución, pero su ubicación tradicional es /etc/hostsy debería verse más o menos así:

:: 1 localhost localhost.yourdomain.tld
127.0.0.1 localhost localhost.yourdomain.tld
1.2.3.4 kitty.myweb.com

Tenga en cuenta que esto solo afectará a su propia computadora y que no se escala bien. En otras palabras, está bien para pruebas simples, simplemente no intente editar archivos hosts en muchas computadoras. Para eso quieres entradas DNS adecuadas.

Hennes
fuente