Servidor DNS: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 130: Linha 130:


  $TTL    86400
  $TTL    86400
  @   IN   SOA  ns.dominio.edu.br. (
  @ IN SOA  ns.dominio.edu.br. (
                               2015120801; serial
                               2015120801; serial
                               3H ; refresh
                               3H ; refresh
                               60 ; retry
                               15M ; retry
                               1W ; expire
                               1W ; expire
                               3W ; minimum
                               3W ; minimum
                               )
                               )
  @       IN  NS     ns.dominio.edu.br. ; este é o servidor master deste domínio
  @ IN  NS   ns.dominio.edu.br. ; este é o servidor master deste domínio
  @       IN  MX     10 mail.dominio.edu.br.
  @ IN  MX   10 mail.dominio.edu.br.
  dominio.edu.br  A 100.200.2.1
  dominio.edu.br  A 100.200.2.1
  mail            A 100.200.2.1
  mail            A 100.200.2.1
Linha 147: Linha 147:
*A primeira linha inicia com @ IN SOA marcando o '''inicio da autoridade''' sobre o domínio e o nome do servidor, o qual pode ser verificado no terminal com o comando '''hostname'''.
*A primeira linha inicia com @ IN SOA marcando o '''inicio da autoridade''' sobre o domínio e o nome do servidor, o qual pode ser verificado no terminal com o comando '''hostname'''.
*Cada vez que modificar o arquivo deve-se atualizar o número '''serial''', normalmente contendo a data em ordem invertida, seguido por um número de ordem. Se o número serial não for atualizado o servidor que recebe a transferência da zona não é atualizado.
*Cada vez que modificar o arquivo deve-se atualizar o número '''serial''', normalmente contendo a data em ordem invertida, seguido por um número de ordem. Se o número serial não for atualizado o servidor que recebe a transferência da zona não é atualizado.
*Os campos (3H, 60, 1W 3W) orientam o '''servidor DNS secundário''' sobre atualizações da zona de domínio. O campo 3H indica o tempo que o servidor deve aguardar entre atualizações (3 horas). O campo 60 indica que caso o servidor principal esteja fora do ar ele assume a responsabilidade sobre o domínio, verificando o estado do servidor principal a cada 60 segundos. 1W é o tempo máximo que o servidor DNS secundário pode responder pelo domínio antes que as informações expirem (1 semana). 4W indica o tempo mínimo antes de devolver o domínio para o servidor DNS principal <ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>.
*Os campos (3H, 15M, 1W 3W) orientam o '''servidor DNS secundário''' sobre atualizações da zona de domínio. O campo 3H indica o tempo que o servidor deve aguardar entre atualizações (3 horas). O campo 15M indica que caso o servidor principal esteja fora do ar ele assume a responsabilidade sobre o domínio, verificando o estado do servidor principal a cada 15 minutos. 1W é o tempo máximo que o servidor DNS secundário pode responder pelo domínio antes que as informações expirem (1 semana). 4W indica o tempo mínimo antes de devolver o domínio para o servidor DNS principal <ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>.
*A linha IN NS diz quem são dos '''servidores de nomes''' responsáveis pelo domínio.
*A linha IN NS diz quem são dos '''servidores de nomes''' responsáveis pelo domínio.
*A linha IN MX é necessária se se estiver usando um '''servidor de email'''.
*A linha IN MX é necessária se se estiver usando um '''servidor de email'''.

Edição das 14h41min de 13 de dezembro de 2015

Servidor DNS

O DNS (Domain Name Service), ou sistema de nomes de domínio, é um sistema que permite traduzir um nome de domínio (como por exemplo www.ifpr.edu.br) em um endereço IP (como 200.17.98.70). Isto facilita na medida em que não precisamos mais memorizar endereços IP, mas sim nomes de domínio, muito mais fáceis de serem lembrados e ao mesmo tempo identificados com o proprietário do domínio [1].

Registros DNS

Os servidores DNS armazenam registros de recursos (RR) que fornecem o mapeamento dos nomes de domínio para endereços IP.

Consulta ao DNS Direto
Por exemplo, para ver o registro associado ao nome de domínio www.foz.ifpr.edu.br pode-se fazer uma consulta ao servido DNS com o comando dig (a saída do comando teve alguns comentários removidos para simplificar):
dig www.foz.ifpr.edu.br

;; QUESTION SECTION:
;www.foz.ifpr.edu.br.		IN	A

;; ANSWER SECTION:
www.foz.ifpr.edu.br.	172800	IN	CNAME	foz.ifpr.edu.br.
foz.ifpr.edu.br.	23214	IN	A	200.17.98.44

;; AUTHORITY SECTION:
ifpr.edu.br.		168394	IN	NS	noturno.ifpr.edu.br.
ifpr.edu.br.		168394	IN	NS	ns2.ifpr.edu.br.
ifpr.edu.br.		168394	IN	NS	mistica.ifpr.edu.br.
ifpr.edu.br.		168394	IN	NS	ns1.ifpr.edu.br.

;; ADDITIONAL SECTION:
ns1.ifpr.edu.br.	168413	IN	A	200.17.98.5
ns2.ifpr.edu.br.	168413	IN	A	200.17.98.6
mistica.ifpr.edu.br.	168413	IN	A	200.17.98.8
noturno.ifpr.edu.br.	168413	IN	A	200.17.98.7
Consulta ao DNS Direto +trace
Permite mostrar a árvore de servidores DNS consultados:
dig +trace www.foz.ifpr.edu.br
Consulta ao DNS Reverso
A consulta reversa ao serviço DNS fornece o nome de domínio a partir do endereço IP. Por exemplo, consulta reversa ao IP 200.17.98.44:
dig -x 200.17.98.44

;; QUESTION SECTION:
;44.98.17.200.in-addr.arpa.	IN	PTR

;; AUTHORITY SECTION:
98.17.200.in-addr.arpa.	1799	IN	SOA	ns1.ifpr.edu.br.

Principais registros DNS

Tipo de registro Nome Significado
A Address mapping Endereço IP do computador
NS Name Server Servidor DNS com autoridade
CNAME Canonic Name Nome alternativo
MX Mail eXchanger Servidor de email
SOA Start Of Authority Início da zona de autoridade (Start of Authority)
PTR Pointer Ponteiro para nome
TXT Text Texto livre

Instalação e configuração do DNS

No Ubuntu o DNS é instalado através do aplicativo bind:

apt-get install bind9

Configuração do DNS

O principal arquivo de configuração do DNS é o /etc/bind/named.conf. Por padrão o bind já vem configurado para trabalhar como servidor DNS com cache, que pode resolver nomes tanto localmente quanto na rede local.

O conteúdo do arquivo divide as configurações em partes:

include "/etc/bind/named.conf.default-zones";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.options";
Zonas default
A configuração das default-zones está incluída no arquivo /etc/bind/named.conf.default-zones:
// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
}

;zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

Cada uma das seções indica a localização de um arquivo onde está a configuração referente a ela, por exemplo, o arquivo /etc/bind/db.root contém informações sobre os servidores DNS raiz.

Configuração de domínios locais

A configuração de domínios locais é realizada no arquivo /etc/bind/named.conf.local e possui a seguinte estrutura:

zone "dominio.edu.br" {
   type master;
   file "/etc/bind/db.dominio";
   allow-transfer {
     100.200.1.1;
   };
};
  • A primeira linha indica o domínio que se está configurando.
  • A segunda linha indica que é um domínio tipo master.
  • A terceira linha especifica o arquivo de configuração desse domínio.
  • A linha allow-transfer indica servidores de DNS que receberão a transferência de uma cópia da zona, podendo, portanto, também resolverem nomes deste domínio. Quando usamos servidores DNS secundários, aqui indicamos seu endereço para ele também possuir uma cópia da zona para resolver nomes deste domínio.
/etc/bind/db.dominio
Este arquivo especifica a configuração desse domínio e tem a seguintes estrutura:
$TTL    86400
@  IN  SOA   ns.dominio.edu.br. (
                              2015120801; serial
                              3H  ; refresh
                              15M ; retry
                              1W  ; expire
                              3W  ; minimum
                             )
@  IN  NS    ns.dominio.edu.br. ; este é o servidor master deste domínio
@  IN  MX    10 mail.dominio.edu.br.
dominio.edu.br   A 100.200.2.1
mail             A 100.200.2.1
www              A 100.200.2.1
ftp              A 100.200.2.1
ns               A 100.200.2.1
  • A primeira linha inicia com @ IN SOA marcando o inicio da autoridade sobre o domínio e o nome do servidor, o qual pode ser verificado no terminal com o comando hostname.
  • Cada vez que modificar o arquivo deve-se atualizar o número serial, normalmente contendo a data em ordem invertida, seguido por um número de ordem. Se o número serial não for atualizado o servidor que recebe a transferência da zona não é atualizado.
  • Os campos (3H, 15M, 1W 3W) orientam o servidor DNS secundário sobre atualizações da zona de domínio. O campo 3H indica o tempo que o servidor deve aguardar entre atualizações (3 horas). O campo 15M indica que caso o servidor principal esteja fora do ar ele assume a responsabilidade sobre o domínio, verificando o estado do servidor principal a cada 15 minutos. 1W é o tempo máximo que o servidor DNS secundário pode responder pelo domínio antes que as informações expirem (1 semana). 4W indica o tempo mínimo antes de devolver o domínio para o servidor DNS principal [2].
  • A linha IN NS diz quem são dos servidores de nomes responsáveis pelo domínio.
  • A linha IN MX é necessária se se estiver usando um servidor de email.
  • As linhas com o registro A especificam o endereço IP do servidor para cada variação de nome.

Referências

  1. KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.
  2. MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.

--Evandro.cantu (discussão) 20h48min de 9 de dezembro de 2015 (BRST)