Configuração de um servidor DNS Campus Cachoeiro Curso Técnico em Informática
Configuração DNS O servidor DNS usado é o BIND versão 9. Para configuração do servidor DNS, deve-se acessar os arquivos de configuração em /etc/bind. Nos arquivos db.xx ficam as configurações das zonas pelas quais o servidor responde, como db.255, db.127, etc... No arquivo db.root ficam os registros dos nomes e endereços dos servidores raiz, os quais são usados na ausência de qualquer informação no cache do servidor. No arquivo named.conf.default-zones, ficam as zonas padrão do servidor DNS Bind. No arquivo named.conf.options são colocadas as opções do servidor. No arquivo named.conf.local são colocados os domínios locais
DNS Para criar um servidor com cache, sem repasse para outro servidor, é necessário que exista pelo menos as seguintes linhas de configuração no arquivo /etc/bind/named.conf.options: options { }; directory /var/cache/bind ; O diretório /var/cache/bind é o diretório onde ficam as resoluções de nomes feitas pelo servidor ou recebidas por ele.
Opções Para impedir que qualquer máquina de fora da rede faça requisições ao servidor DNS, é possível inserir a linha allow-query{127.0.0.1;172.16.48.0/20;}; Para impedir que o servidor DNS faça consultas recursivas, ou seja, só responda por domínios que tenha autoridade, deve-se usar no arquivo named.conf.options a linha: recursion no;
Opções Para permitir que seja criado um servidor com cache e que repasse as requisições para outro servidor, são necessárias algumas configurações. Após fazê-las, o servidor terá o seguinte procedimento: O servidor local faz cache de todas as consultas. Caso receba uma consulta cuja resposta não esteja no cache, ela é repassada para o DNS do servidor oficial da rede.
Opções Se o DNS do servidor também não tiver a consulta em cache, ele vai fazer uma busca recursiva na Internet até obter uma resposta, caso ela já exista em cache, então a resposta é imediata. Se o servidor de DNS da rede local estiver indisponível, o servidor local fará uma busca por conta própria. A alteração em relação ao cenário anterior é muito simples. A seguir estão as linhas de configuração, com as mudanças necessárias:
Opções options { directory /var/cache/bind ; allow-query {127.0.0.1; 172.16.48.0/20; }; forwarders {172.16.48.2;}; forward first; };
Criação de Zona Para a criação de uma zona na qual o servidor DNS possua domínio, é necessário editar o arquivo named.conf.local. Para criar uma zona para o domínio chamado exemplo.edu.br, devemos fazer: zone exemplo.edu.br" { type master; file "/etc/bind/db.exemplo"; };
Configuração do arquivo de zona Para a configuração do arquivo de zona, é necessário criar um arquivo chamado db.exemplo, dentro de /etc/bind, onde devem constar os registros de configuração da zona. Este arquivo será o usado pelo servidor quando for preciso que ele responda pelo domínio.
Configuração do arquivo de zona $TTL 604800 $ORIGIN exemplo.edu.br. @ IN SOA servidor.exemplo.edu.br. root.exemplo.edu.br. ( 2015150401 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) @ IN NS servidor @ IN MX 10 smtp servidor IN A 192.168.1.2 www IN CNAME servidor.exemplo.edu.br. ftp IN CNAME servidor.exemplo.edu.br. smtp IN CNAME servidor.exemplo.edu.br. pop IN CNAME servidor.exemplo.edu.br.
Configuração da zona Neste arquivo, a formatação é importante. Pode-se 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. Deve existir espaço entre as opções configuradas.
TTL A diretiva TTL configura o tempo de vida padrão dos registros da base em questão. Esse tempo de vida, em segundos, especifica o tempo que o dado em questão pode ser armazenado no cache e ainda ser considerado válido. Um valor baixo de TTL (Time To Live) implica que outros máquinas irão questionar o servidor DNS com mais freqüência a respeito das zonas a que domina. Um valor alto, por sua vez, implica que outros servidores possam demorar a atualizar as informações (em cache) sobre essas zonas.
ORIGIN A diretiva ORIGIN permite adicionar à todos os nomes no arquivo de configuração, o domínio exemplo.edu.br., de forma que todos os nomes se tornem absolutos. Isto permite o uso de nomes relativos durante a configuração, pois serão convertidos em nomes absolutos devido à diretiva ORIGIN.
Configuração da zona Vamos então a uma descrição detalhada de cada um dos campos: @ IN SOA servidor.exemplo.edu.br. root.exemplo.edu.br. O "@" na primeira linha indica a origem do domínio e, ao mesmo tempo, o início da configuração. O "IN" é abreviação de "internet" e o "SOA" de "Start of autority".
Configuração da zona Em seguida vem o nome do servidor seguido do e-mail de contato do administrador. Note que, no caso do e-mail, temos a conta separada do domínio por um ponto, e não por uma @. A primeira linha termina com um parênteses, que indica o início da configuração do domínio. Temos então:
Configuração O 2015041501 é o valor de sincronismo, que permite que o servidor DNS secundário mantenha-se sincronizado com o principal, detectando alterações na configuração. Os quatro campos seguintes orientam o servidor DNS secundário (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 e tenta novamente.
Configuração O terceiro campo indica o tempo máximo que ele pode responder pelo domínio, antes que as informações expirem e o quarto campo indica o tempo mínimo antes de devolver o domínio para o servidor principal quando ele retornar. A linha @ IN NS servidor diz quem são as máquinas responsáveis pelo domínio. A linha "IN MX" é necessária sempre que se pretende usar um servidor de e-mails, para explicitar qual o servidor de e-mails responsável por aquele domínio. A linha servidor IN A 192.168.1.2, define qual o endereço IP da máquina de nome servidor.
Configurações As linhas: www IN CNAME servidor.exemplo.edu.br. ftp IN CNAME servidor.exemplo.edu.br. smtp IN CNAME servidor.exemplo.edu.br. pop IN CNAME servidor.exemplo.edu.br. Definem apelidos para a máquina servidor.exemplo.edu.br, de forma que ela possa responder por uma série de nomes específicos de serviços sendo executados nela.
Configuração da Zona Reversa Para a configuração da zona reversa é necessário usar uma zona cuja raiz é.in-addr.arpa. Por DNS reverso, compreende-se a tarefa de descobrir qual o nome associado a um dado IP. Observe que nesse caso, o IP da rede é escrito de forma que a parte mais significativa está mais próxima da raiz. Assim, por exemplo, o endereço 172.16.48.4 teria associada a ela a zona 48.16.172.in-addr.arpa. Desta forma, para configurar a zona reversa para o domínio exemplo.edu.br, deve-se adicionar ao arquivo named.conf a configuração da nova zona recém-criada.
Configuração da Zona Reversa zone 48.16.172.in-addr.arpa" { }; type master; file "/etc/bind/exemplo.rev"; Após ter feito isso, é preciso criar o arquivo exemplo.rev, com a zona reversa do domínio. Através deste arquivo será possível resolver reversamente o domínio. Uma boa forma de criar o arquivo é aproveitar um arquivo de zona reversa local do servidor, como por exemplo, o db.127.
$TTL 604800 Configuração da Zona Reversa @ IN SOA servidor.exemplo.edu.br. root.exemplo.edu.br. ( 2015150401 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 60 4800 ) @ IN NS servidor.exemplo.edu.br. 1 IN PTR servidor.exemplo.edu.br.
Configuração da Zona Reversa O registro SOA desta nova zona é exatamente igual ao arquivo da zona exemplo.edu.br O registro NS indica qual o servidor de nomes responsável pela zona reversa. O registro PTR indica para qual nome é resolvido o IP da máquina onde se localiza o servidor. No registro PTR deve-se colocar o resto do endereço IP da máquina responsável pelo servidor DNS.
Configuração da Zona Reversa Após esta configuração e reinicialização do servidor, já é possível resolver reversamente o domínio, através do comando nslookup IPservidor