Há algum tempo atrás desenvolvi um pequeno "HOWTO" sobre o servidor de DNS DJBDNS do mesmo autor do renomado servidor de email QMAIL. DJBDNS pode ser uma alternativa ao BIND pela sua facilidade de uso e configuração, apesar do documento abordar a instalação no FreeBSD 4.9, os mesmos passos podem ser efetuados em qualquer outra versão do sistema.
1.0 - Introducao ao DJBDNS 1.1 - Como surgiu ?
O Djbdns surgiu da necessidade de substituir o BIND na função de servidores DNS, foi escrito por D. J. Bernstein conhecido pela qualidade e principalmente sugurança dos seus softwares . Apesar das facilidades e da boa estabilidade do DJBDNS em muitos fatores ele perde de longe para o BIND . 1.2 - Arquivos necessários
daemontools: http://cr.yp.to/daemontools/ ucspi-tcp: http://cr.yp.to/ucspi-tcp/ djbdns: http://cr.yp.to/djbdns/ 2.0 - Instalação
2.1 - Sistema O sistema utilizado para configurar o DJBDNS, tanto quanto para fazer este tutorial, foi o FreeBSD 4.9-Stable . Sendo que, tirando os *ports*, você podera usar este tutorial para configurar em varios sistemas ao qual o DJBDNS da suporte . 2.2 - Ports Simples, fácil e rápido . 3.0 - Começando
3.1 - Instalando os pacotes indaial# cd /usr/ports/dns/djbdns/ && make all install clean Automaticamente ele ira instalar os principais patchs para o funcionamento do DJBDNS e junto o daemontools, ucspi-tcp e claro o *djbdns*. 3.2 - Configurações O Djbdns trabalha diferente do BIND que é um servidor de caching e autoritativo ao mesmo tempo, sendo que o Djbdns trabalha com 2 daemons, um para caching DNSCACHE onde o mesmo faz as buscas nos servidores raiz da Internet para efetuar as resoluções de nomes em uma rede. Existe o Tinydns, que e o servidor de nomes autoritativos, sendo que este só respondera requisições que esteja em seu banco de dados . Outra particularidade do Djbdns e que o Dnscache e o Tinydns não podem rodar sobre o mesmo ip. 3.3 - Adicionando usuários Precisamos adicionar alguns usuários para rodar o Djbdns com extrema segurança . indaial# pw useradd tinydns -g djbdns -d /dev/null -s /sbin/nologin indaial# pw useradd dnscache -g djbdns -d /dev/null -s /sbin/nologin indaial# pw useradd dnslog -g djbdns -d /dev/null -s /sbin/nologin 3.4 - Configurando o Dnscache indaial# mkdir /var/djbdns && cd /var/djbdns/ indaial# dnscache-conf dnscache dnslog /var/djbdns/dnscache ip.da.maquina.quevairodar
OBS: No meu caso.
indaial# dnscache-conf dnscache dnslog /var/djbdns/dnscache 192.168.0.105
OBS: Você deve ter notado que após a instalação do daemontools ele criou na raiz do seu sistema o diretório */service/* não se assuste ok?
indaial# ln -s /var/djbdns/dnscache /service/
OBS: Logo após fazer o link simbólico no *service* em 5 segundos o daemontools já estarão rodando o dnscache, um detalhe e que o dnscache não aceita conexões de ninguém além da interface loopback, vamos dar permissões aos ips que podem acessá-lo . indaial# touch /var/djbdns/dnscache/root/ip/192.168.0
OBS: Aqui estamos permitindo toda uma rede 192.168.0 até 192.168.0.255, podemos especificar apenas alguns ips se necessário . 3.5 - Testando seu dnscache indaial# cat /dev/null >/etc/resolv.conf && echo nameserver 127.0.0.1 >/etc/resolv.conf indaial# host uol.com.br Pronto, você já consegue resolver nomes usando sua própria máquina . 4.0 - Configurando o Tinydns
4.1 - O Tinydns O Tinydns e o servidor de DNS, e com ele que você pode configurar novos domínios e registralos na FAPESP etc... OBS: O Tinydns não pode rodar no mesmo ip do Dnscache. 4.1 - Instalando o Tinydns indaial# cd /var/djbdns && tinydns-conf tinydns dnslog /var/djbdns/tinydns ip.da.maquina.quevairodar
OBS: No meu caso, possuo 2 interfaces de rede, uma ligada em um modem ADSL e outra fazendo nat para minha rede local. Logo então ficaria assim:
indaial# cd /var/djbdns && tinydns-conf tinydns dnslog /var/djbdns/tinydns \ 192.168.7.105 indaial# ln -s /var/djbdns/tinydns /service/
OBS: Usando o daemontools para ativar nosso tinydns.
4.2 - Adicionando Dominios indaial# cd /var/djbdns/tinydns/root/ indaial# ./add-ns dominio_quer.quer.registrar ip.do.futuro.dominio indaial# ./add-host host.dominio_que.quer.registrar ip.do.futuro.dominio indaial# ./add-mx dominio_que.registrou ip.do.servidor.email indaial# make Pronto, seu domínio já esta funcionando, as vantagens do Djbdns, e a facilidade de configurar domínios e entrar novos alias, mx e ns, sem ter que restartar o serviço ou mesmo editar arquivos e atualizar números seriais . 4.3 - Notas finais Uso Djbdns em vários servidores, e mesmo assim ainda acho ele longe de bater o BIND. Este pequeno tutorial, deixa de lado muitas ferramentas do tinydns mais complexas, sendo que você pode usar como referência a página do próprio Djbdns http://cr.yp.to/djbdns.html. 5.0 - Autor e Bibliotecas
5.1 - Referencias Existem vários documentos sobre *Como instalar o Djbdns* na Internet, tente www.google.com e se emocione com a quantidade de páginas. 5.2 - Autor Marcelo Araujo <araujo>at<bsdmail>dot<org> http://experience.bsdnetwork.org 5.3 - Entao porque usar Djbdns? Creio que a facilidade para a configuração dos domínios seria muito maior que a do servidor BIND, sendo que usando poucos comandos vc pode fazê-lo fácil e rapidamente . Encorajo a todos a usarem o Djbdns, uma tranquila intalação usando poucos recursos. |