|
|
||||||||||
|
Submitted by Eri on Wed, 2005-09-14 23:04.
O Caminho das Pedras
IntroduçãoDjbDNS é um software de DNS escrito por Dj Bernstein, que também é o criador do qmail, ezmlm e outros. A sua intenção é serum software seguro em substituição ao BIND da ISC . Como é característica dos softwares de djb, a instalação não é muito simples, porém tem fácil administração (muito mais simples que o BIND, IMHO). Sobre o autorEri Ramos Bastos trabalha com Linux desde 1998, passando por diversas distribuições e fases diferentes do pinguim. Atualmente trabalha como consultor em soluções Linux / Unix e está disponível para ajudar a sua empresa a implantar Linux em todos os setores. Consultoria RequisitosPara instalar o djbdns, você irá precisar ter em seu sistema o daemontools e o uscpi-tcp. Para quem já instalou o Qmail de acordo com o meu tutorial, os mesmos já encontram-se instalados. Se não o fez ainda, façauma pausa aqui, vá até o [6]tutorial do qmail e volte quando tiver instalado os 2 softwares. NotasIPs serão representados como a.b.c.d, ou x.y.z.a, ou u.n.i.x e assim por diante. Substitua pelo seus IPs comandos estarão dentro de caixas cinzas. Instalando o djbdnsSempre utilizo como base o diretório /usr/src, para facilitar. As linhas em itálico são comandos, e podem ser diretamente coladas na shell. Vamos baixar o djbdns.
Procedimentocd /usr/src/ mkdir djbdns 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 make make setup check ReferênciasHow to install djbdns Configurando o djbdnsCriando usuáriosPrecisaremos criar 4 usuários para ter todas as funcionalidades do djbdns. Serão: dnscache, dnslog, axfrdns e tinydns No linux: useradd dnscache -d /home/djb -s /bin/false -g users useradd dnslog -d /home/djb -s /bin/false -g users useradd tinydns -d /home/djb -s /bin/false -g users useradd axfrdns -d /home/djb -s /bin/false -g users Configurando o dnscachednscache-conf dnscache dnslog /etc/dnscache x.y.z.a
Iniciando o dnscacheln -s /etc/dnscache /service Liberando o cache para outros hostsPor padrão o dnscache permite apenas o localhost utilizar o cache. Para permitir a outros, devemos especifica-los: touch /etc/dnscache/root/ip/x.y.z
Configurando o tinydnsO tinydns é o programa que responde autoritativamente. É nele que configuraremos nossos domínios. tinydns-conf tinydns dnslog /etc/tinydns x.y.z.a Iniciando o tinydnsln -s /etc/tinydns /service Registrando seus domínosQuem está acostumado com aquela horrível combinação de /etc/named.conf e /var/named vai gostar dessa parte: Adicionando um dns servercd /service/tinydns/root ./add-ns ns1.empresa.com.br x.y.z.a make Adicionando servidores mxcd /service/tinydns/root ./add-mx smtp.empresa.com.br x.y.z.b ./add-mx smtp2.empresa.com.br x.y.z.c make Adicionando servidores genéricoscd /service/tinydns/root ./add-host www.empresa.com.br x.y.z.h ./add-alias home.empresa.com.br x.y.z.h make
Configurando o axfrdnsaxfrdns-conf axfrdns dnslog /etc/axfrdns /etc/tinydns x.y.z.a
echo 'a.b.c.z:allow,AXFR="empresa.com.br"' >> /etc/axfrdns/tcp Referências
DicasVários DNS servers em uma mesma máquinaSe você tem um domínio *.br, sabe que o comitê gestor exige no mínimo 2 servidores de DNS para registrar-se. Se você tem apenas um servidor de DNS e, pelo menos 2 ips válidos e fixos faça o seguinte: cp -r /etc/tinydns /etc/tinydns2 echo "x.y.z.b" > /etc/tinydns2/env/IP ln -s /etc/tinydns /service facilitando a inserção de novos domínios.Para evitar ter que fazer aquela ladainha de ./add-ns, ./add-mx, etc, toda vez que for adicionar um domínio (como se faz muito em provedor) faça o seguinte:
.empresa.com.br:x.y.z.a:a:259200 =www.empresa.com.br:x.y.z.a:86400 +smtp.empresa.com.br:x.y.z.a:86400 @empresa.com.br:x.y.z.a:a::86400 +pop.empresa.com.br:x.y.z.a:86400 +ns1.empresa.com.br:x.y.z.a:86400 +ns2.empresa.com.br:200.182.250.58:86400 +ftp.empresa.com.br:x.y.z.a:86400
#!/bin/bash
if [ -z $1 ]; then
echo "Falta domínio"
exit
fi
cat /etc/exemplo-tiny |sed s,empresa.com.br,$1,g >> data
cd /service/tinydns/root ./add-domain empresa2.com.br make
| ||||||||||