Mudanças entre as edições de "DNS"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 107: Linha 107:
 
= Exercícios: entendendo o serviço DNS =
 
= Exercícios: entendendo o serviço DNS =
  
# Usando a ferramenta [http://www.madboa.com/geek/dig/ dig] execute os seguintes comandos: <syntaxhighlight lang=bash>
+
Usando a ferramenta [http://www.madboa.com/geek/dig/ dig] execute os seguintes comandos.
dig -x 200.135.37.65;
+
 
dig www.das.ufsc.br;
+
# Resolvendo um nome DNS ... que registros DNS foram obtidos na resposta ? Quais seus significados ?  <syntaxhighlight lang=bash>
 +
dig integrado.sj.ifsc.edu.br
 +
</syntaxhighlight>
 +
# Para obter um registro específicos associado a um nome, deve-se indicá-lo ao executar o ''dig'': <syntaxhighlight lang=bash>
 +
# consulta o registro NS associado a integrado.sj.ifsc.edu.br
 +
dig ns integrado.sj.ifsc.edu.br
 +
</syntaxhighlight>
 +
# Obtendo outros registros: consulte os registros MX, TXT, NS, A associados a ifsc.edu.br. Interprete cada resposta obtida.
 +
# A obtenção de uma resposta DNS pode envolver bastante esforço dos programas envolvidos (o cliente, representado pelo ''dig'' nestes exercícios, e o servidor DNS, que reside em um computador do campus). Você pode ter uma ideia das etapas necessárias para realizar uma tradução de nome DNS se especificar a opção ''+trace'' do ''dig'': <syntaxhighlight lang=bash>
 
dig +trace www.polito.it;
 
dig +trace www.polito.it;
dig @200.135.37.65 www.polito.it.</syntaxhighlight>
+
</syntaxhighlight>O que significam as respostas sucessivas obtidas durante a execução do ''dig'' ? Como elas podem ser relacionadas à figura que representa uma hierarquia de domínios DNS (mostrada no início desse artigo) ?
 +
# Descubra que servidores DNS são consultados para resolver os seguintes nomes: <syntaxhighlight lang=text>
 +
integrado.sj.ifsc.edu.br
 +
das.ufsc.br
 +
www.uol.com.br
 +
ciram.epagri.sc.gov.br
 +
receita.fazenda.gov.br
 +
windguru.cz
 +
www.cister.isep.ipp.pt
 +
www.surfline.com
 +
www.youtube.com
 +
www.cackletv.com
 +
</syntaxhighlight>
 +
# Usando o ''dig'' desenhe a hierarquia de domínios e servidores DNS correspondente aos seguintes campi do IFSC: São José (sj.ifsc.edu.br), Chapecó (chapeco.ifsc.edu.br), Jaraguá do Sul (jaragua.ifsc.edu.br) e Joinville (joinville.ifsc.edu.br). O desenho deve iniciar no domínio raiz, de forma semelhante à [http://wiki.sj.ifsc.edu.br/images/5/56/Hierarquia-DNS.gif figura] mostrada no início deste artigo.

Edição das 08h51min de 29 de setembro de 2011

DNS (Domain Name System) é uma base de dados distribuída e hierárquica. Nela se armazenam informações para mapear nomes de máquinas da Internet para endereços IP e vice-versa, informação para roteamento de email, e outros dados utilizados por aplicações da Internet.

A informação armazenada no DNS é identificada por nomes de domínio que são organizados em uma árvore, de acordo com as divisões administrativas ou organizacionais. Cada nodo dessa árvore, chamado de domínio, possui um rótulo. O nome de omínio de um nodo é a concatenação de todos os rótulos no caminho do nodo até a raiz. Isto é representado como uma string de rótulos listados da direita pra esquerda e separados por pontos (ex: ifsc.edu.br, sj.ifsc.edu.br). Um rótulo precisa ser único somente dentro do domínio pai a que pertence.

Por exemplo, um nome de domínio de uma máquina no IFSC pode ser mail.ifsc.edu.br, em que br é o domínio do topo da hierarquia ao qual mail.sj.ifsc.edu.br pertence. Já edu é um subdomíno de br, ifsc um subdomínio de edu, e mail o nome da máquina em questão.

Por razões administrativas, o espaço de nomes é dividido em áreas chamadas de zonas, cada uma iniciando em um nodo e se estendendo para baixo para os nodos folhas ou nodos onde outras zonas iniciam. Os dados de cada zona são guardados em um servidor de nomes, que responde a consultas sobre uma zona usando o protocolo DNS.

Clientes buscam informação no DNS usando uma biblioteca de resolução (resolver library), que envias as consultas para um ou mais servidores de nomes e interpreta as respostas.

Hierarquia-DNS.gif

(obtido do manual do BIND9)


Ver também o livro sobre DNS e BIND da O'Reilly.

Registros DNS

Cada rótulo na hierarquia DNS possui um conjunto de informações associadas a si. Essas informações são guardas em registros de diferentes tipos, dependendo de seu significado e propósito. Cada consulta ao DNS retorna assim as informações do registro pedido associado ao rótulo. Por exemplo, para ver o registro de endereço IP associado a www.ifsc.edu.br pode-se executar esse comando (o resultado teve alguns comentários removidos):

msobral@dell-iron:~$ dig sj.ifsc.edu.br mx

;; QUESTION SECTION:
;sj.ifsc.edu.br.			IN	MX

;; ANSWER SECTION:
sj.ifsc.edu.br.		3600	IN	MX	10 hendrix.sj.ifsc.edu.br.

;; AUTHORITY SECTION:
sj.ifsc.edu.br.		3600	IN	NS	ns.pop-udesc.rct-sc.br.
sj.ifsc.edu.br.		3600	IN	NS	ns.pop-ufsc.rct-sc.br.
sj.ifsc.edu.br.		3600	IN	NS	hendrix.sj.ifsc.edu.br.

;; ADDITIONAL SECTION:
hendrix.sj.ifsc.edu.br.	3600	IN	A	200.135.37.65
ns.pop-ufsc.rct-sc.br.	11513	IN	A	200.135.15.3
ns.pop-udesc.rct-sc.br.	37206	IN	A	200.135.14.1

Cada uma das informações acima mostra um determinado registro e seu conteúdo, como descrito na tabela abaixo:

Nome TTL Classe Registro Conteúdo do registro
hendrix.sj.ifsc.edu.br. 3600 IN A 200.135.37.65
sj.ifsc.edu.br. 3600 IN NS hendrix.sj.ifsc.edu.br.
sj.ifsc.edu.br. 3600 IN MX 10 hendrix.sj.ifsc.edu.br.

Obs: TTL é o tempo de validade (em segundos) da informação retornada do servidor de nomes, e classe é o tipo de endereço (no caso IN equivale a endereços Internet).

Os tipos de registros mais comuns são:

Registro Descrição Exemplo
A Endereço (Address) www.sj.ifsc.edu.br IN A 200.135.37.66
NS Servidor de nomes (Name Server) sj.ifsc.edu.br IN NS hendrix.sj.ifsc.edu.br.
CNAME Apelido (Canonical Name) mail.sj.ifsc.edu.br IN CNAME hendrix.sj.ifsc.edu.br.
MX Roteador de email (Mail Exchanger) sj.ifsc.edu.br IN MX mail.sj.ifsc.edu.br.
SOA dados sobre o domínio (Start of Authority) sj.ifsc.edu.br IN SOA hendrix.sj.ifsc.edu.br. root.sj.ifsc.edu.br. 2009120102 1200 120 604800 3600
PTR Ponteiro para nome (Pointer) 65.37.135.200.in-addr.arpa IN PTR hendrix.sj.ifsc.edu.br.
TXT Texto genérico (Text) sj.ifsc.edu.br IN TXT "v=spf1 a mx ~all"

Uma zona assim é composta de um conjunto de registros com todas as informações dos domínios nela contidos. O conteúdo de uma zona conforme armazenado em servidores DNS que usam o software BIND, contendo o domínio example.com, pode ser visualizado abaixo:

example.com  86400  IN	 SOA ns1.example.com.	hostmaster.example.com. (
			      2002022401 ; serial
			      10800 ; refresh
			      15 ; retry
			      604800 ; expire
			      10800 ; minimum
			     )
       IN  NS     ns1.example.com.
       IN  NS     ns2.smokeyjoe.com.
       IN  MX  10 mail.another.com.
       IN  TXT   "v=spf1 mx -all"

ns1    IN  A      192.168.0.1
www    IN  A      192.168.0.2
ftp    IN  CNAME  www.example.com.

bill   IN  A      192.168.0.3
fred   IN  A      192.168.0.4

Exercícios: entendendo o serviço DNS

Usando a ferramenta dig execute os seguintes comandos.

  1. Resolvendo um nome DNS ... que registros DNS foram obtidos na resposta ? Quais seus significados ?
    dig integrado.sj.ifsc.edu.br
    
  2. Para obter um registro específicos associado a um nome, deve-se indicá-lo ao executar o dig:
    # consulta o registro NS associado a integrado.sj.ifsc.edu.br
    dig ns integrado.sj.ifsc.edu.br
    
  3. Obtendo outros registros: consulte os registros MX, TXT, NS, A associados a ifsc.edu.br. Interprete cada resposta obtida.
  4. A obtenção de uma resposta DNS pode envolver bastante esforço dos programas envolvidos (o cliente, representado pelo dig nestes exercícios, e o servidor DNS, que reside em um computador do campus). Você pode ter uma ideia das etapas necessárias para realizar uma tradução de nome DNS se especificar a opção +trace do dig:
    dig +trace www.polito.it;
    
    O que significam as respostas sucessivas obtidas durante a execução do dig ? Como elas podem ser relacionadas à figura que representa uma hierarquia de domínios DNS (mostrada no início desse artigo) ?
  5. Descubra que servidores DNS são consultados para resolver os seguintes nomes:
    integrado.sj.ifsc.edu.br
    das.ufsc.br
    www.uol.com.br
    ciram.epagri.sc.gov.br
    receita.fazenda.gov.br
    windguru.cz
    www.cister.isep.ipp.pt
    www.surfline.com
    www.youtube.com
    www.cackletv.com
    
  6. Usando o dig desenhe a hierarquia de domínios e servidores DNS correspondente aos seguintes campi do IFSC: São José (sj.ifsc.edu.br), Chapecó (chapeco.ifsc.edu.br), Jaraguá do Sul (jaragua.ifsc.edu.br) e Joinville (joinville.ifsc.edu.br). O desenho deve iniciar no domínio raiz, de forma semelhante à figura mostrada no início deste artigo.