El DNS de caché se utiliza para que resuelva nombres a direcciones IP para tu red.
Normalmente las personas utilizan los DNS que les indica su proveedor de internet, sin embargo esto implica tener que salir al DNS del proveedor de internet cada vez que se quiera resolver un nombre. Esto no es muy eficiente pues hay que utilizar tu canal de internet para llegar hasta el DNS del ISP. Ellos lo hacen como cortesía para personas o empresas que no tengan conocimientos de informática y no puedan ponerse su propio servidor de DNS de caché.
El DNS de caché como su nombre indica, nos permite no solamente resolver nombres, sino además cachea, guarda, estas respuestas para cuando otro cliente pregunte. En una red las personas tienen o muestran características de navegación similares por lo que si alguien pregunta digamos por ecualinux.com, es muy probable que luego de unos minutos otra personas pregunte nuevamente por este sitio.
Al poner un DNS de caché en mi organización, lograré agilitar estas respuestas que van quedando cacheadas, mejorando la calidad del servicio de mi organización.
El DNS de caché escucha en el peurto 53/UDP y solamente debemos permitir accesos a este puerto a equipos de mi red local. En este ejemplo supondré que mi red local es la 10.0.5.0/24
Instalando DNS de caché en el servidor:
yum -y install bind bind-utils
Configurando DNS de Caché en el servidor
Edito el archivo /etc/named.conf y comento las siguientes líneas:
# listen-on port 53 { 127.0.0.1; }; # listen-on-v6 port 53 { ::1; };
En el mismo archivo /etc/named.conf modifico las siguientes líneas para incluir la red mía:
allow-query { localhost; 10.0.5.0/24; }; allow-transfer { localhost; 10.0.5.0/24; };
Procedo a encender el servicio de DNS:
service named restart chkconfig named on
Luego edito el archivo /etc/resolv.conf de mi servidor y agrego de primera línea la IP local de mi servidor:
nameserver 127.0.0.1
Esto me va a garantizar que cuando desde mi servidor yo desee preguntar por un record DNS, quien me va a resolver va a ser el servicio de DNS que acabo de configurar.
Probando el servicio desde mi propio servidor:
Ejecuto:
host www.ecualinux.com
o
ping www.ecualinux.com
Como tengo de primera línea a 127.0.0.1 en mi /etc/resolv.conf, las respuestas que obtenga, las obtendré desde mi servidor de DNS que está en mi propia máquina
Configurando DNS de caché en el cliente
Edito el archivo /etc/resolv.conf de mi servidor y agrego de primera línea la IP de la LAN de mi servidor, en este ejemplo será 10.0.5.1:
nameserver 10.0.5.1
Esto me va a garantizar que cuando desde mis clientes yo desee preguntar por un record DNS, quien me va a resolver va a ser el servicio de DNS que acabo de configurar, que es el que está en mi servidor con IP 10.0.5.1.
Probando el servicio desde mis clientes:
Ejecuto:
host www.ecualinux.com
o
ping www.ecualinux.com
Como tengo de primera línea a 10.0.5.1 en mi /etc/resolv.conf, las respuestas que obtenga, las obtendré desde mi servidor de DNS de mi red.
Este mismo proceso de configurar la IP de mi servidor de DNS procedo a ejecutarlo en todas las máquinas, sean de Windows, Mac, Linux, etc.
Estimado:
Muchas gracias por su tutorial, he seguido sus indicaciones. Ahora una consulta en que parte puedo revisar un log con todos los nombres de dominios que mi cache dns almacena?
Saludos cordiales.
hola Miguel
si activas el debugging en tu named podrías ver las peticiones que van haciendo los hosts. Pero eso te lo dejo de tarea 😉