Como foi explicado no artigo anterior como funciona o dns na teoria, nós vamos precisar de doi endereços ips para configurar o dns master e slave. Neste tutorial, irei utilizar o bind9 no ubuntu como teste.
Existem 3 arquivos que somos obrigados a configurar (sendo que 2 teremos que criar). O primeiro a ser modificado é o /etc/bind/named.conf.local, que vai ser onde vamos configurar o arquivo que vai conter as configurações das zonas de nosso servidor dns. A função entre o named.conf e o named.conf.local é as mesmas, e nada impede que seja inserido as zonas diretamente no named.conf, mas é recomendado que você use o arquivo “/etc/bind/named.conf.local” (que é processado como se fosse parte do named.conf principal). A existência deste arquivo separado, visa separar a configuração geral do servidor, da configuração dos domínios, minimizando a possibilidade de erros. Mas, na verdade, o efeito de editar qualquer um dos dois arquivos é o mesmo. Os outros
arquivos que devemos criar / configurar são os arquivos de zona propiramente ditos – esses arquivos podem ter qualquer nome que voce queira – e o arquivo de dns revers (não é obrigatorio, mas é extremamente importante).
Vamos começar pelo named.conf.local. Um modelo simples seria:
zone “fulano.com.br” IN {
type master;
file “/etc/bind/db.zonas”;
allow-transfer { 10.1.1.53; };
};
Vamos entender as linhas do código acima.
Começando pelo zone “fulano.com.br” que indica o domínio que estamos configurando, e que esta registrado na fapesp.
A linha type master server para dizer que é o servidor master.
O file “/etc/bind/db.zonas”; especifica onde está o arquivo de configuração deste domínio. Voce pode salvá-lo em qualquer local.
allo-transfer é usado para o dns secundário (slave) assuma a responsabilidade pelo domínio em caso de problemas com o master.
Algumas observações importantes: Ao registrar um domínio na fapesp, você precisa fornecer dois endereços de dns. Em muitos casos, o segundo DNS não é obrigatório, ele é apenas uma segurança para o caso do primeiro sair fora do ar. Uma opção muito usada para o segundo DNS é pedir para que algum amigo que também possua um servidor dedicado seja seu DNS secundário. Ele precisará apenas adicionar a configuração do seu domínio na configuração do DNS, o
que é rápido e indolor. Caso você não tenha um amigo que possa fornecer um segundo endereço de dns para você, existe mais uma alternativa: conecte-se via modem na hora de fazer o registro, assim você terá dois endereços (o do link e o do modem) e conseguirá concluir o registro. Naturalmente, neste caso, você perde a redundância: se o seu DNS principal cair seu site ficará fora do ar.
Note que nem sempre esta questão da redundância é realmente um problema, pois se o servidor DNS está hospedado no mesmo servidor que seu site, não faz muita diferença ter dois servidores DNS, pois se o servidor principal cair, o site ficará fora do ar de qualquer forma.
Ok, feito isso, podemos criar / configurar o domínio no arquivo /etc/bind/db.zonas como foi falado anteriormente.
@ IN SOA servidor.fulano.com.br. hostmaster.fulano.com.br.(
2008020820 3H 15M 1W 1D )
NS servidor.fulano.com.br.
NS ns2.fualno.com.br.
IN MX 10 servidor.fulano.com.br.
IN MX 20 beltrano.ciclano.com.br.
fulano.com.br. A 10.1.1.53
www A 10.1.1.53
ftp A 10.1.1.53
smtp A 10.1.1.53
ns2 A 10.1.1.54
renato A 200.200.200.200
beltrano IN CNAME renato
Neste arquivo, a formatação é importante. Você pode usar espaços e tabs (ambos tem o mesmo efeito) para organizar as opções, mas existem algumas regras. As linhas “IN SOA” até “IN MX” precisam ficar justificadas (como no exemplo), e você não pode esquecer dos espaços entre as opções. Caso queira incluir comentários, use “;” ao invés de “#”, como em outros arquivos.
Agora vamos intender o código que digitamos acima.
@ IN SOA servidor.fulano.com.br. hostmaster.fulano.com.br. (
O @ indica a origem do domínio e o início da configuração. É sempre usada, assim como em endereço de emails.
O “IN” é abreviação de “internet” e o “SOA” de “Start of autority”. Em seguida vem o nome do servidor (que você checa usando o comando “hostname”), seguido do e-mail de contato do administrador. Note também que existe um ponto depois do “servidor.kurumin.com.br” e do “hostmaster.kurumin.com.br”, que faz parte da configuração. O ponto se refere ao domínio raiz, de responsabilidade dos rootservers.
O 2008020820 é o valor de sincronismo que permite que o servidor dns secundário mantenha-se sincronizado com o principal. Sempre que modificar ou instalar um servidor dns, lembre-se de atualizar esta data.
Os próximos campos 3H 15M 1W 1D ) orientam o dns secundario (caso você tenha um). O primeiro campo indica o tempo que o servidor aguarda entre as atualizações.
Caso ele perceba que o servidor principal está fora do ar, ele tenta fazer uma transferência de zona, ou seja, tenta assumir a responsabilidade sob o domínio. Caso a transferência falhe e o servidor principal continue fora do ar, ele aguarda o tempo especificado no segundo campo (2 horas) e tenta novamente. O terceiro campo indica o tempo máximo que ele pode responder pelo domínio, antes que as informações expirem (1 semana, tempo mais do que suficiente para você arrumar o servidor principal 😉 e o tempo mínimo antes de devolver o domínio para o servidor principal quando ele retornar (1 dia).
Muita gente prefere especificar estes valores em segundos. Uma configuração muito comum é separar os valores por linha, incluindo comentários, como em:
2006061645; serial
28800; refresh, seconds
7200; retry, seconds
604800; expire, seconds
86400 ); minimum, seconds
O resultado é exatamente o mesmo. A única diferença é que você vai acabar digitando várias linhas a mais ;).
IN MX 10 servidor.fulano.com.br.
fulano.com.br. A 10.1.1.53
As duas linhas acima mostram quem são as máquinas responsáveis pelo domínio. Se estiver usando dois servidores, é necessário especificar ambos.
A linha “IN MX” é necessária sempre que você pretende usar um servidor de e-mails.
fulano.com.br. A 10.1.1.53
www A 10.1.1.53
ftp A 10.1.1.53
smtp A 10.1.1.53
Nas linhas acima, a primeira linha especifíca o ip do servidor, e as outras três, subdomínios que eu cadastrei. Com isso, estou permitindo que visitantes possam digitar http://ftp.fulano.com.br, http://www.fulano.com.br etc.
A directiva IN CNAME na verdade é apenas um alias (apelido) de beltrano para renato. Com isso, quando você utilizar o subdominio beltrano, na verdade, você será redirecionado para o servidor onde se encontra o dominio renato.
renato A 200.200.200.200
beltrano IN CNAME renato
O DNS reverso é um recurso que permite que outros servidores verifiquem a autenticidade do seu servidor, checando se o endereço IP atual bate com o endereço IP informado pelo servidor DNS. Isso evita que alguém utilize um domínio que não lhe pertence para enviar spam, por exemplo.
Qualquer um pode enviar e-mails colocando no campo do remetente o servidor do seu domínio, mas um servidor configurado para checar o DNS reverso vai descobrir a farsa e classificar os e-mails forjados como spam. O problema é que os mesmos servidores vão recusar seus e-mails, ou classificá-los como spam caso você não configure seu servidor DNS corretamente para responder às checagens de DNS reverso.
No arquivo “/etc/hosts” deve conter duas entradas, uma para a interface de loopback, o 127.0.0.1, e outra para o IP de internet do seu servidor, que está vinculado ao domínio, como em:
127.0.0.1 localhost.localdomain localhost
10.1.1.53 servidor.fulano.com.br servidor
Agora, vamos criar o arquivo que especificamos no named.conf.local. No nosso caso, é o db.fulano.rev
@ IN SOA servidor.fulano.com.br. hostmaster.fulano.com.br. (
2008020820 3H 15M 1W 1D )
NS servidor.fulano.com.br.
NS ns1.fulano.com.br.
53 PTR fulano.com.br.
54 PTR ns1.fulano.com.br.
Esse arquivo é bastante similar ao arquivo de configuração de domínio, porém, ao invés de usar A para relacionar o domínio da cada subdominio ao ip correspondete, usamos a diretiva PTR.
Agora Ja temos um servidor de DNS funcionando. 🙂
Vamos testar:
dig fulano.com.br@10.1.1.53.
Isso faz com que ele pergunte diretamente ao seu servidor, o que permite testar a configuração imediatamente, sem precisar esperar pela propagação do registro do domínio. Faça o mesmo com o IP do DNS secundário.
E agora o servidor de dns reverso:
dig -x 10.1.1.53.
Deixe um comentário