Antes de mais nada, o que é DNS?
DNS, do inglês Domain Name System (Sistema de Nomes de Domínios), funciona como um sistema de tradução de endereços IP para nomes de domínios. Na verdade, é graças ao DNS que você pode digitar www.wieczorek.com.br na barra de endereços do seu navegador para acessar o meu site pessoal, e não um monte de números e pontos.
Agora que já sabemos o que é o DNS, vamos botar a mão na massa.
1- Instalando o servidor DNS
Para aqueles que já estão familiarizados com o Linux, a instalação é um mamão com açúcar. Para aqueles que ainda não conhecem o Linux, verão que realmente a instalação é um mamão com açúcar, principalmente nas distribuições que utilizam o apt – Advanced Packaging Tool -, como o Debiam, Ubuntu e por ai vai.
A primeira coisa que devemos fazer é nos tornar o usuário root da máquina. No caso do Debian o comando é o seguinte:
$ su
Após isso, vamos a instalação do bind
# apt-get install bind
Bind? Mas Emilio, você não tinha dito DNS? Bem, o bind é o servidor DNS padrão da distribuição Debian. Poderia ser instalado também o named, que pode ser a melhor opção para outras distribuições.
Vale a pena resslatar: O servidor DNS e o cliente DNS são diferentes.
Todo computador Linux habilitado para comunicar-se entre rede possui um software chamado de cliente DNS, também conhecido como resolver. O resolver simplesmente consulta um servidor DNS atribuído no arquivo /etc/resolv.conf. A consulta segue a ordem do arquivo. Servidores DNS retornam os valores consultados após consultarem o arquivo /etc/bind/named.conf e as referências para as quais ele aponta. Os clientes perguntam e os servidores respondem, muitas vezes após consultarem outros servidores.
A confusão muitas vezes surge quando temos o cliente e o servidor em uma mesma máquina, principalmente quando o cliente consulta o servidor da mesma máquina. Por isso, sempre devemos lembrar de que o cliente ou resolver utiliza o /etc/resolv.conf. Todos os outros como o /etc/bind/named.conf e os arquivos apontados por ele pertencem ao servidor.
2- Configurando o servidor DNS
O servidor DNS é um sistema complexo, configurado por uma série de arquivos. Esses arquivos são formados por um arquivo de boot e vários arquivos de dados de zona, onde cada arquivo de zona é apontado por um registro de zona no arquivo de boot. No Debian, com o bind instalado, o arquivo de boot DNS é o /etc/bind/named.conf.
Então, mãos à obra. Abra o arquivo e inclua o apontamento da zona que corresponde ao seu domínio, informando em qual arquivo ele deve procurar a configuração de zona quando o seu domínio for digitado.
zone "dominio.casa" { # domínio da rede que deseja incluir no DNS
type master;
file "/etc/bind/dominio.casa.zone"; # arquivo que conterá as informações para tradução do nome
};
Inclua o apontamento para o IP reverso. Neste caso, qualquer endereço ip na sub-rede especificada será tratada pelo arquivo apontado por ele.
zone "1.168.192.in-addr.arpa" { # endereço da sub-rede
type master;
file "/etc/bind/named.198.168.1"; # arquivo de configuração que tratará o IP
};
Os arquivos de zona, no nosso caso estarão na diretório /etc/bind/. Os arquivos de zona são apontados pela declaração zone do arquivo de boot. A primeira coisa a entender sobre os arquivos de zona é que sua sintaxe é totalmente diferente do arquivo de boot named.conf. Há 10 registros possíveis:
- SOA – inicialização de autoridade
- NS – nome do servidor
- A – registro de endereço
- PTR – registro de ponteiro
- MX – intercâmbio de carreio
- CNAME – nome canônico
- RP e TXT – as entradas de documento
- HINFO – informações sobre os host
- NULL – registro de recurso nulo sem formato de dados
Supondo que o endereço de sua sub-rede seja 192.168.1 e que o servidor é 192.168.1.1, o computador 1 é 192.168.1.2 e o computador 3 192.168.1.3, crie o primeiro arquivo, que será o /etc/bind/dominio.casa.zone e adicione o seguinte código:
$TTL 604800
@ IN SOA dominio.casa. root.dominio.casa. ( # indica para qual domínio o SOA é obrigatório
200007201 ; serial (d. adams) # Serial que mostra aso DNS secundários como realizar transferência de zona
28800 ; refresh # indica o tempo em segundos de intervalo para o servidor DNS secundário consultar o primário para saber se houve alteração
14400 ; retry # tempo em segundo para conexão com o servidor primário caso a tentativa no tempo de refresh falhe
3600000 ; expiry # tempo de descarte das informações no cache
84400 ) ; minimum # indica quanto tempo os dados devem ser guardados no cache antes que expire a validade
;
www IN A 192.168.1.1
www2 IN A 192.168.1.1
www3 IN A 192.168.1.1
serv IN A 192.168.1.1
comp1 IN A 192.168.1.2
comp2 IN A 192.168.1.3
@ IN MX 10 dominio.casa.c
@ IN NS dominio.casa.
@ IN A 192.168.1.1
No exemplo acima, o endereço www.dominio.casa, www2.dominio.casa, www3.dominio.casa e serv.dominio.casa se referem ao mesmo IP ao 192.168.1.1. O host comp1.dominio.casa se refere ao IP 192.168.1.2 e comp2.dominio.casa te levará ao micro com IP 192.168.1.3.
Para criar o IP reverso, crie o arquivo /etc/bind/named.198.168.1 com as seguintes linhas:
$TTL 604800
@ IN SOA dominio.casa. root.dominio.casa. (
2000072001 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS dominio.casa.
10 IN PTR dominio.casa.
Pronto. Agora seu servidor de DNS está configurado e funcionando.
Terminologia
Cliente DNS: Componentes de software em todos os computadores da rede que transformam o endereço IP em nome e nome em endereço IP. Em máquinas Debian, o cliente busca informações no arquivo /etc/resolv.conf.
Resolvedor: Para propósitos práticos, um sinônimo para Cliente DNS.
Servidor DNS: Componente de software que retorna a tradução de endereço IP em nome e de nome em endereço IP ao cliente DNS que solicitou. Em máquinas Debian, o servidor DNS busca suas configurações no arquivo /etc/bind/named.conf.
Resolver: Converte endereço IP em um nome e um nome em endereço IP. Isso é feito pelo DNS e às vezes por outro software.
Zona: Um subdomínio ou sub-rede sobre os quais um servidor DNS possui autoridade.
Mestre: Um servidor DNS com autoridade sobre uma zona cujos dados são derivados dos arquivos de dados local. Assim um servidor de nomes pode ser mestre para algumas zonas e escravo para outras.
Primário: Sinônimo para mestre
Escravo: Um servidor de nomes cuja autoridade sobre uma zona depende de dados derivados de outro servidor de nomes em uma zona de transferência. O outro servidor de nomes tanto pode ser um mestre como um outro escravo. Observe que um servidor de nomes pode ser mestre para algumas zonas e escravo para outras.
Secundário: Sinônimo para escravo.
Zona de Transferência: Uma transferência feita entre um servidor DNS mestre ou escravo e um servidor DNS escravo. O escravo inicia a zona de transferência após um tempo de refresh ou após ser notificado de que os dados no servidor remetente foram alterados.
0 comentário