Servidor DNS · 3 min read · Oct 02, 2025
Servidor DNS Clean djbDNS en CentOS - dnscache y tinydns - De A a Z
Servidor DNS Clean djbDNS en CentOS - dnscache y tinydns - De A a Z
¿Qué es djbDNS? ¿Y por qué usamos djbDNS? Hay un nuevo punto de vista para servir el servicio DNS: cada una de las funcionalidades del servidor DNS es un servicio separado, como autoridad, caché, reenvío, etc. La otra diferencia son las herramientas de demonios que reiniciarán rápidamente los servicios para prevenir zombis.
Requisitos:
Instalación limpia de CentOS 5.4
Inicie sesión como root.
# yum update# yum install gcc# mkdir pkg# cd pkgEl primer paso es instalar las herramientas de demonios:
# cd ~/pkg# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz# gunzip daemontools-0.76.tar# tar -xpf daemontools-0.76.tar# rm -f daemontools-0.76.tar# cd admin/daemontools-0.76# vi src/conf-ccAgregue la siguiente línea al final de la línea de gcc:
-include /usr/include/errno.h# ./package/installOtro paquete que necesitamos preparar para que djbdns funcione es ucspi:
# cd ~/pkg# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz# gunzip ucspi-tcp-0.88.tar# tar -xf ucspi-tcp-0.88.tar# cd ucspi-tcp-0.88# vi src/conf-ccAgregue la siguiente línea al final de la línea de gcc:
-include /usr/include/errno.h# make# make setup checkEl siguiente paso es la publicación del documento:
# cd ~/pkg# wget http://cr.yp.to/djbdns/doc.tar.gzA continuación, descomprimiremos los documentos en /doc:
# gunzip < doc.tar.gz | (cd /; tar -xf -)Utilice el siguiente script para fusionar en los documentos del sistema:
#!/bin/sh
for i in packages commands cfunctions fileformats
do
sort -f /dev/null `find /doc/merge -name $i.html` > /doc/$i.new
mv /doc/$i.new /doc/$i.html
doneGuarde el script en un archivo: script.sh
# chmod +x script.sh# ./script.sh# cd ~/pkg# wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz# gunzip djbdns-1.05.tar# tar -xf djbdns-1.05.tar# cd djbdns-1.05# vi src/conf-ccAgregue la siguiente línea al final de la línea de gcc:
-include /usr/include/errno.h# make# make setup checkToda la compilación se realiza.
El siguiente paso es la configuración del servidor DNS.
DNSCACHE
Cree dos cuentas de usuario del sistema:
# useradd -d /var/dnscache -s /bin/false dnscache# useradd -d /var/dnscache -s /bin/false dnslogConfigure la caché:
# dnscache-conf dnscache dnslog /var/dnscache/dnscache Ejemplo: dnscache-conf dnscache dnslog /var/dnscache/dnscache 192.168.20.1
Permita que el resto de su red consulte dnscache:
# touch /var/dnscache/dnscache/root/ip/Ejemplo: touch /var/dnscache/dnscache/root/ip/192.168
Agregue dnscache a la lista de servicios que serán monitoreados por svscan:
# ln -sf /var/dnscache/dnscache /service/Si le gusta ms-windows… puede reiniciar para asegurarse de que todo esté en su lugar.
Hay un punto aquí que aún no puede consultar desde su servidor de caché, porque sus clientes ahora pueden resolverse en modo inverso.
Como se mencionó antes, es una de las características de seguridad de la caché DNS verificar inversamente a los clientes. Así que en el siguiente paso trabajaremos en tinydns para que actúe por nosotros.
DNSTINY
Una vez más, necesitamos dos cuentas de usuario del sistema:
# useradd -d /var/dnscache -s /bin/false tinydns# useradd -d /var/dnscache -s /bin/false tinylog# tinydns-conf tinydns tinylog /var/dnscache/tinydns 127.0.0.1Ahora es el momento de agregar nodos a la base de datos DNS:
# cd /var/dnscache/tinydns/root# ./add-ns internal 192.168.20.1# ./add-ns 20.168.192.in-addr.arpa 192.168.20.1# ./add-mx internal 192.168.20.2# ./add-host ns.internal 192.168.20.1# ./add-host mail.internal 192.168.20.2# ./add-alias unagi.internal 192.168.20.2# makeEstos nodos irán al archivo de base de datos /var/dnscache/tinydns/root/data que puede editar manualmente.
El último paso es el inicio del servicio DNS:
# ln -sf /var/dnscache/tinydns /serviceRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.