DNS - Domain Name System Domain Name Service Conceitos • Base de dados distribuída de nomes alfanuméricos e endereços IPs • Quem os mantém? – Name Servers – Máquinas normalmente Unix, que rodam BIND (Berkeley Internet Name Domain) Conceitos Endereço IP 128.66.12.2 O que a rede precisa Nome (Host Name) peanut.nuts.com Maneira mais “amigável” A tabela de hosts 127.0.0.1 localhost 128.66.12.2 peanut.nuts.com 128.66.12.1 almond.nuts.com almond • 127 níveis possíveis de nomes ! • 127.0.0.1 = Endereço IP Classe A para loopback • permite ao host endereçar-se da mesma maneira que um host remoto • Simplifica software, pois permite que o mesmo código seja usado local e remotamente • Reduz tráfego na rede A tabela de host do NIC (pré-história-1973) • NIC: Network Information Center • nic.ddn.mil: ddn (Department Defense Network) > porção militar da internet. • contém nomes de hosts “registrados” – registered hosts • Informações contidas na tabela hosts.txt • comando “whois” DNS - Domain Name Service (1984) • Sistema hierárquico distribuído para “resolver” nomes de hosts em endereços IP • Não depende de uma tabela única • Garante que informação sobre novos hosts serão disseminadas p/ o resto da rede quando preciso. Hierarquia do Domínio • Base de dados distribuída entre milhares de servidores de nomes (name servers) organizados hierarquicamente • hierarquia semelhante a estrutura de diretório • Domínios superiores – geográfico (br, uk, jp) – Organizacional (com, edu, org, gov) Elementos do Serviço (1) • Domain Name space – especificação para uma hierárquica (árvore) no espaço de nomes. – Cada nó e folha da árvore do domain name space estabelece um conjunto de informação e consultas (query) a fim de extrair uma informação particular. – Exemplo de consulta: pesquisa por endereços. Top-level Domains Hierarquia de domínio . net gov mil Root domain org com nih sd1 Third-l Domains nuts sd2 fabr Second-l Domains venda edu O que faz um Name Server ? • Aceita requisições de um programa para converter nomes de domínios em IPs • Aceita requisições de um outro Name Server para converter nomes de domínios em IPs. – Busca é recursiva. Quando a requisição chega, o NS: • Responde à solicitação, pois ele já sabe o IP para aquele domínio • Contata um outro NS e tenta encontrar o IP. Isso pode ter que ser feito várias vezes • Pode dizer: “eu não sei o IP para este domínio, mas aqui está o IP do NS que pode saber mais do que eu!” • Retorna msg de erro: requisição inválida Elementos do Serviço (2) • Name Servers (Servidores de nomes) – São programas servidores que contêm informações sobre a estrutura da árvore de domínio e o conjunto de informações. – Eles conhecem as partes da árvore de domínio para as quais eles têm completa informação. – Estas partes são chamadas ZONAs (ZONEs). – Name Server é uma Autoridade para estas partes do espaço de nomes. Root Name Servers • Um servidor inicia a busca de um IP contatando os servidores root – Sabem o endereço IP para TODOS os DNS servers do domínio superior (top-domain) ! • 13 root server • Redundância: há varios NS que resolvem um determinado domínio • Caching: resolvido um nome, o NS guarda a resposta no cache! DNS - Concentração da Informação • Informação disseminada somente p/ aqueles que estão interessados – Um servidor DNS recebe requisição de informação um determinado host para o qual não tem informação. – Passa requisição para um servidor “autoritário” • contém informações sobre o domínio requisitado – Servidor “autoritário” responde – Servidor local grava (cache) resposta para uso futuro Elementos do Serviço (3) • Resolvers (Resolvedores) – conjunto de rotinas que extraem informação dos name servers em resposta a requisições do usuário – Acessíveis aos programas que necessitam inquirir a rede (telnet, ftp, mail, browser,etc). DNS e o modelo OSI Host query DNS response Resource Records (Registros de Recursos) • Os arquivos utilizados para configuração do sistema de domínios e a informação neles armazenadas usam um tipo de Registros de Recursos padrão, chamados RRs. • O serviço de domínios suporta vários tipos de registros (SOA, NS, A, PTR, MX, ...) Tipos • • • • • A - Endereço do host associado ao domínio. MX - Mail Exchanger para o domínio NS - Name Server autoritário p/ o domínio. SOA - Start of a zone of Authority CNAME - nome canônico de um alias Query - Query Inversa • Query mapear domain name em recursos www.lcad..... => 143.107.232.130 • Query Inversa mapear recursos em domain names 143.107.232.130 => www.lcad.icmc..... Configurando o Resolver • Configuração default – envolve menos overhead (não precisa de um arquivo de configuração) – adequado a sistemas que rodam named • Configuração resolver-only – usar arquivo resolv.conf Configuração Resolve-only • quando não há named • quando domínio não puder ser derivado do host name. • todas as consultas (queries) são passadas para host (servidor DNS) encontrado no arquivo • Consultas nunca são resolvidas localmente. Configurando named (1) • BIND 4 BIND 8 • named.boot – estabelece parâmetros gerais named e aponta para as fontes de informação da base de dados do domínio usadas por este server. Tais fontes podem ser aruivos em disco local ou remotos • named.ca – aponta para os servers do domínio raiz Configurando named (2) • named.local – usados para resolver endereços loopbacks localmente. • named.hosts – arquivo de zona que mapeia nomes de hosts em endereços IP • named.rev – arquivos de zona para o domínio reverso: mapeia endereços IP em nomes de hosts. options { directory "/var/named"; query-source address * port 53; notify yes; version ":P"; }; Configurando named (3) zone "." { type hint; file "root.hints"; }; • Arquivo /etc/named.conf zone "0.0.127.in-addr.arpa" { type master; file "0.0.127.in-addr.arpa"; }; zone "lcad.icmc.sc.usp.br" { type master; file "lcad.icmc.sc.usp.br.db"; allow-transfer { 143.107.232.130; 143.107.231.12;}; }; zone "lcad.icmsc.sc.usp.br" { type master; file "lcad.icmc.sc.usp.br.db"; allow-transfer { 143.107.232.130; 143.107.231.12;}; }; zone "232.107.143.in-addr.arpa" { type master; file "lcad.icmc.sc.usp.br.rev"; };