Servidor DNS · 3 min read · Oct 02, 2025
Servidor DNS Clean djbDNS no CentOS - dnscache e tinydns - De A a Z
Servidor DNS Clean djbDNS no CentOS - dnscache e tinydns - De A a Z
O que é djbDNS? E por que usamos djbDNS? Há um novo ponto de vista para servir o serviço DNS - cada uma das funcionalidades do servidor DNS é um serviço separado, como autoridade, cache, encaminhamento e assim por diante. A outra diferença são as ferramentas daemon que reiniciarão rapidamente os serviços para evitar zumbis.
Requisitos:
Instalação limpa do CentOS 5.4
Faça login como root.
# yum update# yum install gcc# mkdir pkg# cd pkgO primeiro passo é instalar as ferramentas daemon:
# 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-ccAdicione a seguinte linha ao final da linha gcc:
-include /usr/include/errno.h# ./package/installOutro pacote que precisamos preparar para que o djbdns funcione é o 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-ccAdicione a seguinte linha ao final da linha gcc:
-include /usr/include/errno.h# make# make setup checkO próximo passo é a publicação do documento:
# cd ~/pkg# wget http://cr.yp.to/djbdns/doc.tar.gzEm seguida, descompactaremos os docs em /doc:
# gunzip < doc.tar.gz | (cd /; tar -xf -)Use o seguinte script para mesclar nos docs do 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
doneSalve o script em um arquivo: 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-ccAdicione a seguinte linha ao final da linha gcc:
-include /usr/include/errno.h# make# make setup checkToda a compilação é concluída.
O próximo passo é a configuração do servidor DNS.
DNSCACHE
Crie duas contas de usuário do sistema:
# useradd -d /var/dnscache -s /bin/false dnscache# useradd -d /var/dnscache -s /bin/false dnslogConfigure o cache:
# dnscache-conf dnscache dnslog /var/dnscache/dnscache Exemplo: dnscache-conf dnscache dnslog /var/dnscache/dnscache 192.168.20.1
Permita que o resto da sua rede consulte o dnscache:
# touch /var/dnscache/dnscache/root/ip/Exemplo: touch /var/dnscache/dnscache/root/ip/192.168
Adicione o dnscache à lista de serviços a serem monitorados pelo svscan:
# ln -sf /var/dnscache/dnscache /service/Se você gosta do ms-windows… você pode reiniciar para ter certeza de que tudo está no lugar.
Há um ponto aqui que você ainda não pode consultar a partir do seu servidor de cache, porque seus clientes agora podem ser resolvidos em modo reverso.
Como mencionado antes, é uma das características de segurança do cache DNS verificar reversamente os clientes. Portanto, no próximo passo, trabalharemos no tinydns para agir por nós.
DNSTINY
Mais uma vez, precisamos de duas contas de usuário do 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.1Agora é hora de adicionar nós ao banco de dados 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# makeEsses nós irão para o arquivo de banco de dados /var/dnscache/tinydns/root/data que você pode editar manualmente.
O último passo é a inicialização do serviço DNS:
# ln -sf /var/dnscache/tinydns /serviceReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.