OpenBSD Instalando e configurando o djbdns (Atualizado em: 22/06/2004) 1. Introdução Este tutorial é destinado para todos que queiram montar um simples servidor DNS com está ótima ferramenta chamada Djbdns, foi baseado em Openbsd, mas também serve para as plataformas Linux, FreeBSD e etc... Djbdns é um substituto para o BIND(named). Ele é muito seguro, rápido e de fácil configuração (vocês vão ver :D). Foi escrito por D. J. Bernstein, que visa muito a segurança de seus programas, entre eles estão: qmail, ezmlm, daemontools e outros. 2. Baixando arquivos necessários mkdir /usr/local/src cd /usr/local/src wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz 3. Visão geral do procedimento de instalação do daemontools Crie um diretório /package e descompacte o daemontools dentro dele: mkdir /package chmod 1755 /package cd /package tar vxfz /usr/local/src/daemontools-0.76.tar.gz Agora é so instalar: cd admin/daemontools-0.76 package/install Pronto, o daemontools já esta instalado, note que ele criou uma linha assim em seu /etc/rc.local: csh -cf '/command/svscanboot &' Para começar a rodar o daemontools execute esse comando: csh -cf '/command/svscanboot &' Ou reinicie sua máquina. 4. Visão geral do procedimento de instalação do ucspi-tcp Dentro do diretorio /usr/local/src descompacte o seu ucspi-tcp: cd /usr/local/src tar vxfz /usr/local/src/ucspi-tcp-0.88.tar.gz Agora é so instalar: cd ucspi-tcp-0.88 make setup check 5. Visão geral do procedimento de instalação do djbdns O djbdns precisa de um grupo específico para rodar, para criar o grupo: No OpenBSD ou Linux use: groupadd djbdns No FreeBSD use: pw groupadd djbdns Ele também precisa de alguns usuários no sistema, para criar os usuarios: No OpenBSD ou Linux use: useradd -g djbdns -d /dev/null -s /sbin/nologin tinydns useradd -g djbdns -d /dev/null -s /sbin/nologin dnscache useradd -g djbdns -d /dev/null -s /sbin/nologin dnslog No FreeBSD use: pw useradd tinydns -g djbdns -d /dev/null -s /sbin/nologin pw useradd dnscache -g djbdns -d /dev/null -s /sbin/nologin pw useradd dnslog -g djbdns -d /dev/null -s /sbin/nologin Agora descompacte e instale o djbdns: cd /usr/local/src tar vxfz /usr/local/src/djbdns-1.05.tar.gz cd djbdns-1.05 make setup check mkdir /var/djbdns source /root/.cshrc No djbdns diferente do bind, são usados dois programas diferentes para fazer o servidor de cache de DNS(dnscache) e o dns server(tinydns). 6. Configurando o dnscache: O dnscache é o responsável pelo cache de DNS, ou seja, um DNS Server que resolve domínios e também guarda esses domínios para serem consultados sempre antes de tentar resolver os domínios, o que tornará mais rápido o a resoluçãoo de nomes de sua rede. Execute os seguintes passos: cd /var/djbdns dnscache-conf dnscache dnslog /var/djbdns/dnscache ip.da.maquina.quevairodar ln -s /var/djbdns/dnscache /service/ OBS: Substitua ip.da.maquina.quevairodar pelo seu ip. Por Ex.:   dnscache-conf dnscache dnslog /var/djbdns/dnscache 192.168.0.1 Logo após linkar o dnscache no /service em 5 segundos ele já deve estar funcionando (pra isso que serve o daemontools). Por padrão o dnscache não aceita conexão de ninguém, então vamos dar permissão aos ip's 192.168.0.0/24 e 127.0.0.1: touch /var/djbdns/dnscache/root/ip/192.168.0 touch /var/djbdns/dnscache/root/ip/127.0.0.1 Pronto agora o dnscache já está funcionando, edite seu arquivo /etc/resolv.conf e deixe apenas com a linha: nameserver ip.da.maquina.queestarodando Pronto já está resolvendo nomes usando a sua própria máquina. OBS: Caso você vá usar também o TinyDNS é aconselhavél fazer o seguinte: #Substitua o 127.0.0.1 pelo ip onde irá rodar o TinyDNS echo "127.0.0.1" > /var/djbdns/dnscache/root/servers/SEUDOMINIO #Substitua o 0.0.127 pelo reverso do ip de seu TinyDNS cp /var/djbdns/dnscache/root/servers/SEUDOMINIO \ /var/djbdns/dnscache/root/servers/0.0.127.in-addr.arpa #Restarte o dnscache svc -h /service/dnscache/ 7. Configurando o tinydns: O tinydns é o servidor de DNS, é com ele que você pode configurar novos domínios e usar no registro.br e etc... OBS: O tinydns não pode rodar no mesmo ip do dnscache, podem rodar na mesma maquina, desde que tenha 2 ou mais ip's nessa maquina por exemplo: Você tem um gateway que compartilha sua ADSL com sua rede interna, você pode colocar o dnscache no ip da placa de rede ligada em sua rede interna e o tinydns no ip da placa de rede ligada na ADSL. Ou se você tiver apenas uma placa de rede com um link de internet, pode colocar um alias de ip na mesma placa de rede ligada em seu link... Para instalá-lo execute os seguintes passos: cd /var/djbdns tinydns-conf tinydns dnslog /var/djbdns/tinydns ip.da.maquina.quevairodar ln -s /var/djbdns/tinydns /service/ Logo após linkar o tinydns no /service em 5 segundos ele já deve estar funcionando (pra isso que serve o daemontools). Agora é so configurar, preste muita atenção porque são muitas linhas a serem configuradas: Entre no diretorio do tiny: cd /var/djbdns/tinydns/root E adicione o host: ./add-ns dominio.com.br ip.do.futuro.domínio ./add-host dominio.com.br ip.do.futuro.domínio make Pronto pode ir la no site: http://registro.br -> Pesquisas -> Verificação de DNS Teste seu domínio com o ip que foi configurado o tinydns e se você fez tudo certo, já ira responder "Autoridade sobre o domínio" Viu como é simples, agora é só adcionar o MX caso você queria rodar um MTA (Qmail, Postfix, Sendmail...): ./add-mx mx.dominio.com.br ip.do.servidor.email make Adicionar os Alias desejados, Ex.: ./add-alias www.dominio.com.br ip.do.server.web ./add-alias mx.dominio.com.br ip.do.servidor.email ./add-alias www2.dominio.com.br ip.do.server.web2 ./add-alias pop.dominio.com.br ip.do.servidor.email ./add-alias smtp.dominio.com.br ip.do.servidor.email make Referência: http://cr.yp.to/djbdns.html # Powered By # Leonardo B. Cuquejo # admin@openbsd.adm.br