Servidor DNS Primário

Antes de mais, para que serve o DNS (Domain Name Server). Sem este serviço a Internet simplesmente não funcionaria. O DNS permite disponibilizar nomes e endereços de maquinas e serviços de rede.
Muito resumidamente o DNS traduz um nome num IP e o Reverse DNS faz o contrario, verifica se aquele IP está realmente associado a determinado nome ( técnica muito usada para os servidores de mail MTA se protegerem contra spam)

Qualquer ativo de rede deve ser configurado como um cliente de servidor DNS, por exemplo a google disponibiliza este serviço com o seu DNS primário em 8.8.8.8 e secundário em 8.8.4.4

Convém saber que o DNS funciona de modo hierárquico distribuído. Ao ser distribuído, além de garantir uma forte redundância, permite que a delegação de gestão de domínios seja feita por entidades responsáveis por cada domínio. Como o serviço é distribuído, a informação de cada domínio fica disponível globalmente na Internet.

O topo da pirâmide é constituído por 13 servidores denominados de Root Servers que estão no topo, se quiserem ler um pouco mais sobre isto consultem a wiki

Abaixo dos ROOT Servers estão os TLD (Top Level Domains) por exemplo .com, .gov, .pt, .fr , etc


Neste tutorial vou exemplicar como instalar e configurar um servidor DNS. Neste exemplo vou configurar apenas um domínio (Zona), mas um servidor DNS pode alojar vários domínios.

Cá em casa a rede tem muitas máquinas, cada uma terá o seu nome resolvido em IP recorrendo ao serviço de DNS.

O domínio escolhido é gondor.pt, por exemplo o meu portatil terá o nome sauron.gondor.pt associado ao ip 192.168.100.1

Antes de instalar qualquer aplicação, devemos fazer o update à source list de pacotes passiveis de serem instalados via apt-get

 apt-get update

De seguida podemos instalar os pacotes bind9 e dnsutils (para obter a ferramenta dig)

apt-get  install bind9 dnsutils

Em primeiro devemos criar a zona gondor.pt 

pico /etc/bind/named.conf.local



Repare que a configuração tem duas zonas, gondor.pt e as definições de reverse DNS, 

DNS reverso (ou resolução inversa) é um mecanismo que permite verificar se um computador que diz ser um servidor específico, é ou não quem diz ser, isto é, permite verificar se alguém se uma maquina se está a fazer passar por outra. Quando mails de spam, vírus e afins são enviados na internet, eles não tendem a usar seus nomes reais e e-mails. Para reduzir a quantidade de spam, muitos servidores de correio usam o DNS reverso para confirmar que o servidor (MTA) que está a entregar o email é o genuíno.

De seguida vamos configurar a opção de forwaders, para que serve ? visto que agora temos o nosso próprio servidor de DNS em casa, ele só serve para ser SOA do domínio gondor.pt (que não funciona na internet), ora e os restantes domínios ? neste caso quando receber uma query de DNS à qual o nosso servidor DNS não sabe responder, vai questionar o servidor DNS configurado no forwarders (o endereço ip 8.8.8.8 é da google)

pico /etc/bind/named.conf.options



Vamos então dar inicio à configuração da zona gondor.pt

Por opção prefiro criar uma pasta zones dentro de /etc/bind

sudo mkdir /etc/bind/zones

Preparação do ficheiro de configuração da zona gondor.pt

sudo  pico /etc/bind/zones/gondor.pt.db



Alguns aspectos a ter em consideração na preparação deste ficheiro:

  • o serial, no meu caso gosto de usar ano-mês-dia-versãododia, usando esta técnica, garantimos que sempre que o ficheiro for alterado, irá ficar com um numero superior, isto é importante para a propagação da zona, o numero de série serve para os que os servidores secundários da zona, saibam que houve uma alteração na zona (num proximo post irei explicar como configurar um servidor DNS secundário)
  • Resource records
    • SOA - Start of Autority - Identificação de cabeçalhos de zona
    • NS - Name Server - Definição de servidores DNS (master ou slave)
    • PTR - Pointer to name - Associação de um endereço a um nome (mapeamento inverso)
    • MX - Mail Exchanger - Definição de servidores de correio electrónico
    • A - Address - Associação de um nome a um endereço IPv4
    • AAAA - IPv6 address - Associação de um nome a um endereço IPv6
    • CNAME - Canonical Name - Definição de nomes alternativos para servidores
    • TXT - Text information - Definição de informação textual sobre o domínio
    • HINFO - Host Information - Definição de informação sobre um servidor
Após editar a zona, podemos fazer o seguinte comando para verificar a sintaxe do ficheiro antes de reiniciar o serviço propriamente dito:



Agora vamos focar-nos na resolução inversa do domínio gondor.pt criando o ficheiro rev.100.168.192.in-addr.arpa

atenção que a minha LAN é 192.168.100.0/24 devem mudar o terceiro octeto para ficar de acordo com a vossa rede.
por exemplo, se a rede onde o servidor DNS está inserido tivesse o endereço de rede 192.168.1.0/24, então o nome do ficheiro seria  rev.1.168.192.in-addr.arpa

De notar que como estamos num ambiente laboratorial, o todo o endereçamento usado é privado, o que não faz sentido num servidor que hospeda configurações de domínios na Internet.

Abaixo fica o exemplo do ficheiro da resolução inversa do meu domínio:



Vamos então iniciar o serviço:


Ao mesmo tempo em outra janela do putty podemos analisar os logs do arranque do serviço :


Podemos ver que tanto a zona gondor.pt como a zona de resolução inversa da lan 192.168.100 "carregaram" sem erros

De seguida vamos alterar o ficheiro /etc/resolv.conf para passar a usar o nosso servidor DNS para resolução de nomes em ip's


Falta fazermos alguns testes para verificar o correcto funcionamento da resolução de nomes

Exemplo a ns.gondor.pt


Por exemplo, verificar o MX record para o domínio


Verificar se o nosso servidor DNS tem o forwarders bem configurado, neste caso fazendo o dig a www.google.com que é um domínio que não está configurado no nosso servidor


Outra forma de teste recorrendo ao comando host


Como testar se a resolução inversa está bem configurada ?
usando a opção -x ao ip ex: dig -x 192.168.100.252 como podem ver a resposta PTR aponta o IP para o nome nazgul.gondor.pt




Penso que não me esqueci de nada ... num próximo post irei ensinar a configurar o servidor secundário de DNS para o caso de o primário falhar.


Sem comentários:

Enviar um comentário