8.2
Domain Name System (DNS)
Instituto Superior de Engenharia de Lisboa
Departamento de Engenharia, Electrónica, Telecomunicações e Computadores Redes de Computadores DNS TCP Acesso à rede UDP IP ARP ICMP 53 53
Domain Name System (DNS)
• Objectivo
Resolução de Nomes
(Ex.: Conversão do nome da máquina no endereço IP)
• Características
– Base de Dados distribuída
• Nenhum servidor contém a informação toda
– Uso extensivo de Caching
– Diferentes tipos de Nomes (informação) – Usa protocolo UDP e pode usar TCP – Serviço fornecido a aplicações
DNS (Domain Name System)
• Este sistema define :
– Espaço de nomes hierárquico (chaves da BD) – Diferentes tipos de dados armazenados
– Formato do armazenamento dos dados (Resource Records) – Organização da distribuição de informação (zonas)
– Diferentes tipos de servidores
– Mecanismos de replicação de informação
Espaço de nomes hierárquico DNS
• Representado por uma árvore cujos nós são labels
– Raiz da árvore é a uma label vazia
• Um nome completo é
– uma sequência de labels separadas por pontos
– começa com a label de um nó de último nível e percorre um ramo da árvore até chegar à raiz
• Características das labels
Espaço de nomes
arpa com edu gov int mil net org ae pt zw
in-addr 192 104 48 201 nao tuc sun 201.48.104.192.in-addr.arpa.
domínios genéricos domínios de países unnamed root sun.tuc.nao.edu ipl net www United Arab Emirates Zimbabwe domínio de 1º nível domínio de 2º nível
Domínios de 1º nível (Top Level Domains)
Domínio
Atribuição
com
Comercial
edu
Educacional
gov
Governo (US)
mil
Militar (US)
net
Internet Network
org
Outras organizações
arpa
Advanced Research Project Agency
Código do país
au, uk, ca
Estrutura de nomes do DNS
• Estrutura geral dos nomes
Label-N … Label-2 Label-1 (nome completo)
Label-M … Label-2 (nome incompleto)
• Estrutura dos nomes de máquinas
Nome-Máquina Domínio-N … Domínio-2 Domínio-1 Ex.: servidor1.srcd.deetc.isel.ipl.pt
• Estrutura dos nomes de domínios ou sub-domínios
Domínio-N … Domínio-2 Domínio-1 Ex.: srcd.deetc.isel.ipl.pt
Hierarquia (árvore) de Nomes
• Um domínio de 1º nível único é atribuído pela Internet Authority é
uma entidade que por sua vez pode atribuir sub-domínios também
únicos
• O administrador tem controlo absoluto sobre o domínio
– Não há limite ao número de sub-domínios ou níveis
– Não tem que ser uniforme no número de sub-domínios ou níveis
• Os nomes não têm que estar relacionados com a localização física
Espaço de nomes – Divisão em Zonas
peanut almond walnut
candy
soap
xpto
bugs
sick
tiger
cat
dog
ypto
Espaço de nomes – Divisão em Zonas
• Zona - Conjunto contíguo de nós do espaço de nomes que
residem num servidor (Principal) e geridos por uma entidade
• Características
– Uma Zona pode ser desmembrada em sub-zonas
– Uma Zona tem um servidor Principal e pode ter 0 ou mais Secundários – Uma máquina pode ser servidor de várias zonas (ou sub-zonas)
• Principal para algumas zonas (informação persistente)
Informação de uma Zona
• Informação do nó de topo da zona (Authoritative)
– [SOA] - Descrição dos parâmetros de gestão – [NS] - Nomes dos servidores de nomes da zona
• Informação dos nós da zona (Authoritative)
– [A], [AAAA] ou A6 - Endereços das máquinas da zona – [PTR] - Nomes das máquinas da zona
• (Chave: w.x.y.z.in-addr.arpa)
– [LOC, WKS, TXT, MX,...] - Informação auxiliar das máquinas da zona
• Informação dos nós de inicio de sub-zona delegadas
– [NS] - Nomes dos servidores de nomes primários da sub-zona
• Informação auxiliar dos nós de inicio de sub-zona delegadas (glue)
– [A] – Endereços IPv4 dos servidores de nomes primários da sub-zona – [AAA] - Endereços IPv6 dos servidores de nomes primários da sub-zona
Resolução de nomes
• Cada computador tem uma rotina de resolução de nomes (Cliente)
(e.g., gethostbyname & gethostbyaddr in UNIX)– Cada rotina de resolução sabe o endereço IP do servidor de DNS local – A rotina de resolução envia um pedido DNS ao servidor
• O servidor DNS devolve
– A resposta ao pedido
– Envia o pedido a outro servidor – Devolve uma referência
Referência = Próximo servidor a quem o pedido deve ser efectuado.
Resoluções DNS - Exemplos
Através do:
Saber o:
Tipo
Nome de Máquina Endereço IPv4 A
Nome de Máquina Lista de serviços WKS
Nome de Máquina Informação adicional TXT
Endereço IP Nome de Máquina PTR
Endereço de email Servidor de email MX
DNS: Arquitectura dos Servidores
• Para receber pedidos de resolução da própria Zona
– Servidor Principal [Primary]
• Normalmente local às redes onde estão as máquinas da zona
– Servidor Secundário [Secundary] (0 ou mais)
• Locais - Repartir os pedidos de resolução das máquinas locais
• Não Locais – para tolerância a faltas – garantir a resolução de nomes da zona mesmo que a rede não esteja acessível
• Para encaminhar pedidos de resolução de outras Zonas
– Servidores Locais: Forwarders, Cache, Cache-Only
• Recebem pedidos das máquinas locais (clientes) e encaminham
• Para indicar os servidores de domínios de 1º nível
Tipos de Servidores (Receber querys)
• Root Name Server
– Servidores especiais que conhecem os servidores de todos os domínios de 1º nível existentes na Internet
– Há servidores Root que também são servidores de outras zonas (tip. pequenas e de 1ª nível)
• Primary Name Server
– contém e é autoridade sobre toda a informação de nomes das máquinas da zona
– contém a identificação dos servidores primários das zonas delegadas [a informação está armazenada em disco]
• Secundary Name Server
– contém a mesma informação que o Primary Name Server
Tipos de Servidores (Encaminhar querys)
• Forwarders
– Servidor de nomes incumbido de encaminhar querys a nomes de fora da zona
• Cache
– Servidores que respondem a querys respeitantes à zona e canalizam para o Forwarder as querys respeitantes a outras zonas
• Cache-only
– Servidores que não são primários nem secundários de nenhuma zona. Apenas fazem resoluções externas e mantêm uma cache das respostas
Informação num servidor
• Sobre os Root Servers (NS, A, AAA)
– Persistente – ficheiro no disco rígido
• Sobre as Zonas de que é primário
– Persistente – ficheiros no disco rígido
• Sobre as Zonas de que é secundário
– Volátil – Carregada para memória a partir do primário
• Informação de outras zonas
– Resoluções efectuadas recentemente que são guardadas em cache (memória) temporariamente
Tipos de querys e de respostas
• Campos Query Type (Q) e Type (RR)
Name Query
Type Type Descrição
A • • Resolução Directa - Endereço IPv4
NS • • Nome de um servidor de nomes (SN)
CNAME • • Canonical Name – Alias de um nome
SOA • • Start of Authoritive – Parâmetros DNS da zona
WKS • • Well Known Services
PTR • • Resolução Inversa – Nome de Máquina
HINFO • • Host Info – Informação adicional da Máquina
MX • • Mail eXchange – Nome de Servidor de Mail
AXFR • Request Zone Transfer
IXFR • Request Incremental Zone Transfer
Coerência entre Primário e Secundários
• Queries de informação de uma zona:
– AXFR (total) ou IXFR (incremental)
Primary Primary NS NS Zona Zona XX Secundary Secundary NS NS Zona
ZonaXX TransferênciaTransferênciade de ZonaZona Query de
Coerência entre Primário e Secundários
• Inicialização
– Secundário carrega toda a informação da zona a partir do primário (query AXFR)
• Funcionamento normal
– Primário envia notificação (Notify) quando há alterações na informação da zona
– Secundário periodicamente (definido no SOA da zona) pede o SOA da zona e verifica se houve alteração do número de série. Se houve
alterações ...
• [método clássico] Carrega novamente a toda a informação da zona (query AXFR) • [método novo] Carrega apenas a informação nova existente na zona (query IXFR)
Coerência entre Primário e Secundários
• Incremental Zone Transfers (IXFR)
– O protocolo incremental zone transfer (IXFR) é uma forma dos servidores escravos transferirem apenas os dados que mudaram, em vez de terem de transferir toda a zona.
• Das zonas onde a necessária informação histórica sobre as alterações está disponível.
Mecanismos de resolução
(teóricos)
• Iterativo
– Cliente (C) pergunta ao seu Servidor de nomes (SA)
– Servidor (SA) responde ao Cliente (C) indicando um Servidor de nomes (SB) que poderá ter a informação pretendida
– Cliente pergunta ao Servidor de nomes (SB)
…
– Servidor (SN) responde ao Cliente a informação pretendida
• Recursivo
– Cliente (C) pergunta ao seu Servidor de nomes (SA)
– Servidor (SA) pergunta a um Servidor de nomes (SB) que poderá ter a informação pretendida
…
– Servidor (SB) responde ao Servidor de nomes (SA) a informação pretendida
– Servidor (SA) responde ao Cliente a informação pretendida
Mecanismos de resolução típico
• Mistura Recursivo e Iterativo
– Cliente (C) pergunta ao seu Servidor de nomes (S)
– Servidor (S) pergunta a um Servidor de nomes Root (SR) para resolver o domínio de 1º nível
– Servidor (SR) responde ao Servidor (S) indicando um Servidor de nomes (S1) do domínio de 1º nível que poderá ter a resolução pretendida
– Servidor (S) pergunta ao Servidor de nomes (S1)
– Servidor (S1) responde ao Servidor (S) indicando um Servidor (S2) do domínio de 2º nível
– Servidor (S) pergunta ao Servidor de nomes (S2)
– Servidor (S2) responde ao Servidor (S) com a resolução pretendida – Servidor (S) responde ao Cliente (C) com a resolução final
Resolução de Nomes
• Cada cliente obtém respostas (Resource Records)
– De um servidor que tem autoridade sobre a informação (sempre correctos)
– De um servidor que tem informação em cache (podem estar desactualizados)
DNS: Protocolos de Transporte
• UDP
– Normalmente os pedidos e respostas DNS são transportados num datagrama UDP.
– No caso de a informação a transportar ser superior ao tamanho do
datagrama UDP a resposta é enviada incompleta num datagrama e a flag
Truncated é activada
• TCP
– Quando o volume de informação a transferir não cabe num datagrama UDP o cliente DNS estabelece uma ligação TCP com o servidor para realizar a transferência.
Funcionamento do Sistema (1)
• Queries dentro de uma zona
Primary Primary NS NS Zona Zona XX Secundary Secundary NS NS Zona
ZonaXX TransferênciaTransferênciade de ZonaZona Query de
Query de ZonaZona
Query
Query QueryQuery
Auhoritive Auhoritive Answer Answer Auhoritive Auhoritive Answer Answer
Funcionamento do Sistema (2)
• Query a um nome de uma zona de nível superior
•
(Query recursiva)
Zona
Zona: : isel.ptisel.pt Primary Primary NS NS Secundary Secundary NS NS Sub
Sub--ZonaZona: : cc.isel.ptcc.isel.pt NS NS Server Server NS NS Server Server Root Root NS NS Zona Zona: .pt: .pt Primary Primary NS NS ns.dns.pt ns.dns.pt Secundary Secundary NS NS ns.dns.br ns.dns.br 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8
Funcionamento do Sistema (3)
• Query a uma subzona de uma zona de primeiro nível
diferente
Zona
Zona: : rccn.netrccn.net Primary Primary NS NS Secundary Secundary NS NS Zona
Zona: : deec.isel.ptdeec.isel.pt NS NS Server Server NS NS Server Server Root Root NS NS Root Root NS NS Zona
Zona: .net: .net Primary Primary NS NS ns.dns.net ns.dns.net Secundary Secundary NS NS ns1.dns.us ns1.dns.us 4 4 5 5 1 1 2 2 3 3 6 6 7 7 8 8
Funcionamento do Sistema (4)
• Query a um nome de uma zona de nível inferior
•
(Query recursiva)
Zona
Zona: : isel.ptisel.pt
NS NS Server Server NS NS Server
Server SubSub--ZonaZona: : cc.isel.ptcc.isel.pt
Primary Primary NS NS Secundary Secundary NS NS 1 1 2 2 3 3 4 4
Funcionamento do Sistema (5)
• Query a uma zona exterior usando forwarder
Zona
Zona: : rccn.netrccn.net Primary Primary NS NS Secundary Secundary NS NS Zona
Zona: : deec.isel.ptdeec.isel.pt NS NS Cache Cache NS NS Forwarder Forwarder Root Root NS NS Root Root NS NS Zona
Zona: .net: .net Primary Primary NS NS ns.dns.net ns.dns.net Secundary Secundary NS NS ns1.dns.us ns1.dns.us 5 5 6 6 1 1 3 3 4 4 7 7 8 8 10 10 2 2 9 9
Servidor Root
• Informação armazenada
• I. Nome e endereço dos servidores autoridade para as zonas do
espaço DNS.
• Não devem ser usados para fazer recursão (normalmente não
suportam)
Servidor Primário
• Informação armazenada
• I. Atributos para os nomes referentes á zona (p.e endereços das máquinas pertencentes ao domínio), com a excepção da informação referente a zonas delegados a entidades inferiores na hierarquia.
• II. Nome e endereço dos servidores autoridade para as zonas delegadas (sub-zonas) e para a zona de nível superior ou para servidores root.
• III. Nomes e endereços de servidores autoridade para outras zonas do espaço DNS. (opcional)
• IV. Cache de dados referente a outros domínios.
• V. Dados referentes á manutenção e administração da zona (gestão da cache e replicação dos dados).
Balanceamente de carga - Load Balancing
• Um balanceamento de carga simples pode ser conseguido no
DNS utilizando múltiplos registos A, AAAA ou A6 (IPv6) para um
nome.
– Por exemplo, se existirem três servidores WWW com os endereços 10.0.0.1, 10.0.0.2 e 10.0.0.3, um conjunto de registos tal como os que se seguem implica que os clientes se irão ligar um terço do tempo a cada máquina:
– Quando um resolver perguntar por estes registos, o BIND irá rodá-los e responder à
pergunta com os registos em ordem diferente. No exemplo acima os clientes irão receber aleatoriamente os registos pela ordem 1, 2, 3; 2, 3, 1; e 3, 1, 2. Muitos clientes irão usar
Resolução de Endereços (PTR)
• Exemplo
•
O nome DNS “84.220.137.193.in-addr.arpa” (correspondente
ao endereço IP 193.137.220.84) é a chave de um registo de PTR
da base de dados DNS e faz a correspondência com o nome de
máquina www.net.ipl.pt
Mensagem DNS
• Formato das mensagens
0 15 16 31 ID Client Flags nº Questions nº Answer RR nº Authority RR nº Aditional RR Questions … Answers RR … Authority RR … Aditional Information RR
Mensagem DNS
• ID Client - Número único para fazer a correspondência entre
perguntas (queries) e respostas
• Flags - ver adiante
• Questions - Perguntas de resolução de nomes (ver formato
adiante)
• Answers RR - Respostas de resolução de nomes
• Authority RR - Indicação de Authoritative Name Servers que
podem ter a resposta às perguntas
• Aditional Info RR - Outros RR com informação auxiliar
Mensagem DNS (2)
• Campo Flags
– QR - Query (0) / Response (1) – OpCode - Operation Code
• 0 - Standard Query 1 - Inverse Query 2 - Server Status Request
– AA - Authorative Answer – TC - Truncated
– RD - Recursion Desired (Query)
– RA - Recursion Available (Response)
– RCode - Return Code
QR opcode AA TC RD RA (zero) rcode
Mensagem DNS (3)
• Formato das Questions
• Query Name
– Chave de procura
(Ex.: Nome de máquina)
• Query Type
– (ver tabela)
• Class
– Tip. 1 – Internet
• Query Name (Question)
query name
query type
query class
Mensagem DNS (4)
• Formato dos Resource Records
• Domain Name
– Chave de procura
(Ex.: Nome de máquina)
• Type
– (ver tabela)
• Class
– Tip. 1 - Internet
• Time To Live
– Validade da informação (cache)
• Resource Data Domain Name
– Informação domain name type class time to live (TTL) resource lenght resource data 3 W W W 4 I S E L 2 P T 0
Mensagem DNS (5)
Mensagem DNS - Compressão
• Mensagem com uma pergunta de um nome e duas respostas a
essa pergunta com endereços IP
Formato SOA
• MNAME - O domain-name do servidor de nomes que foi a original ou a fonte primária dos dados deste
• RNAME - Um domain-name que especifica o endereço de email da pessoa responsável pela zona.
• SERIAL – Número de versão (unsigned 32 bit) da cópia original da zona. A
transferência de zona preserva este valor. Este valor deve ser comparado utilizando aritmética sequencial no espaço. Uma convenção útil é YYYYMMDD##
• REFRESH – Intervalo de tempo a 32 bit antes da zona dever ser refrescada.
• RETRY – Intervalo de tempo a 32 bit que deve passar antes de um refresh dever ser repetido.
• EXPIRE – Valor de tempo a 32 bit que especifica o limite superior do intervalo de tempo que pode passar antes da zona perder a autoridade
• MINIMUM – O valor (unsigned 32 bit) mínimo do campo TTL que pode ser exportado com qualquer RR exportado desta zona.
@ IN SOA net.ipl.pt helpdesk.net.ipl.pt ( 2005031403 ; Serial 300 ; Refresh - 5 Minutes
60 ; Retry - 1 minute
1209600 ; Expire - 2 Weeks 43200) ; Minimum - 12 Hours
Discussão dos registos MX
• Os registos MX são usados para controlar a entrega de emails. • Os dados especificados nos registos são:
– Uma prioridade – controla a ordem como a entrega do email é tentada, com o menor número primeiro. (Se duas prioridades são iguais, um servidor é escolhido
aleatoriamente).
– Um nome de domínio – é a máquina para a qual o email deve ser entregue. Deve ter associado um registo A – não é suficiente um CNAME.
• Para um dado domínio, se existirem ambos os registos CNAME e MX, o registo MX está errado, e deve ser ignorado. Em alternativa o email deve ser entregue ao servidor
Aplicações de Administração DNS: NSLookup (4)
• I.ROOT-SERVERS.NET internet address = 192.36.148.17 • E.ROOT-SERVERS.NET internet address = 192.203.230.10 • D.ROOT-SERVERS.NET internet address = 128.8.10.90 • A.ROOT-SERVERS.NET internet address = 198.41.0.4 • H.ROOT-SERVERS.NET internet address = 128.63.2.53 • C.ROOT-SERVERS.NET internet address = 192.33.4.12 • G.ROOT-SERVERS.NET internet address = 192.112.36.4 • F.ROOT-SERVERS.NET internet address = 192.5.5.241 • B.ROOT-SERVERS.NET internet address = 128.9.0.107 • J.ROOT-SERVERS.NET internet address = 198.41.0.10 • K.ROOT-SERVERS.NET internet address = 193.0.14.129 • L.ROOT-SERVERS.NET internet address = 198.32.64.12 • M.ROOT-SERVERS.NET internet address = 202.12.27.33
Sumário
• Espaço de nomes hierárquico DNS
• Tipos de servidores DNS
• Protocolo
• Informação de uma Zona
• Arquitectura dos Servidores
• Funcionamento de um sistema
• Resolução de endereços – PTR
• Formato da mensagem DNS
• Exemplos
Ficheiros de configuração no UNIX -
cliente
•
/etc/resolv.conf
; ; /etc/resolv.conf ; ; Lista de servidores DNS ; domain isel.pt nameserver localhostFicheiros de configuração no UNIX
- servidor
/*
* A simple BIND 8 configuration */ options { directory "/var/named"; forwarders { 193.137.220.1; 193.137.220.33; }; allow-transfer { 193.137.220.1; // sagitario.isel.pt 193.137.220.2; // gemeos.isel.pt 193.137.220.4; // virgem.isel.pt 192.122.238.22; // ns.dns.pt none; }; }; zone "." in { type hint; file "named.root"; }; zone "isel.pt" in { type master; file "master/isel.pt"; }; zone "220.137.193.IN-ADDR.ARPA" in { type master; file "master/193.137.220”; }; zone "redes.isel.pt" in { type master; file "master/redes.isel.pt"; };
•
/etc/named.conf
Ficheiros com os Resource Records (1)
sagitario IN A 193.137.220.1 gemeos IN LOC 38 45 27.71 N 9 6 54.618 W 50m gemeos IN A 193.137.220.2 capricornio IN A 193.137.220.3 virgem IN A 193.137.220.4 leao IN A 193.137.220.254; Zone records CNAME
mail IN CNAME gemeos
mail-relay IN CNAME virgem
proxy IN CNAME capricornio
ntp IN CNAME leao
ntp1 IN CNAME virgem
news IN CNAME virgem
; Delegated sub-zone: redes.isel.pt. redes IN NS sagitario
; End delegation $ORIGIN isel.pt.
@ IN SOA sagitario.isel.pt. admin.isel.pt. ( 1998050418 ; serial number
2h ; refresh 1h ; retry 7d ; expire
1d ) ; minimum TTL
; Localizacao do ISEL no mundo !!!
@ IN LOC 38 45 27.71 N 9 6 54.618 W 50m ; Zone NS records @ IN NS ns.dns.pt. @ IN NS sagitario @ IN NS gemeos @ IN NS virgem ; Zone Records @ IN MX 10 mail @ IN MX 100 mail-relay @ IN TXT "Q&A admin@isel.pt" @ IN TXT "Online http://www.isel.pt"
@ IN TXT "DNS Mantido por Pedro Ribeiro e Luis Falcao" @ IN TXT "Instituto Superior de Engenharia de Lisboa”
Ficheiros com os Resource Records (2)
$ORIGIN 220.137.193.in-addr.arpa.
@ IN SOA sagitario.isel.pt. admin.isel.pt. ( 1998020418 ; serial number 2h ; refresh 1h ; retry 7d ; expire 1d ) ; minimum TTL ; Zone NS records @ IN NS sagitario.isel.pt. @ IN NS gemeos.isel.pt. @ IN NS virgem.isel.pt. 0 IN PTR isel-vnet0.isel.pt. 1 IN PTR sagitario.isel.pt. 2 IN PTR gemeos.isel.pt. 3 IN PTR capricornio.isel.pt. 4 IN PTR virgem.isel.pt. 254 IN PTR leao.isel.pt.
• /var/named/master/193.137.220
Ficheiros com os Resource Records (3)
; formerly NS.NASA.GOV . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; formerly NS.ISC.ORG . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; formerly NS.NIC.DDN.MIL . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; formerly AOS.ARL.ARMY.MIL . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; formerly NIC.NORDU.NET . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; temporarily housed at NSI (InterNIC). 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; housed in LINX, operated by RIPE NCC
. 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; temporarily housed at ISI (IANA)
. 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; housed in Japan, operated by WIDE
. 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . <file>" ; configuration file of BIND domain name servers). ;
; This file is made available by InterNIC registration services ; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher atRS.INTERNIC.NET ; under menuInterNIC Registration Services (NSI) ; submenuInterNIC Registration Archives
; file named.root ; last update:Aug 22, 1997
; related version of root zone:1997082200 ; formerly NS.INTERNIC.NET . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000A 198.41.0.4 ; formerly NS1.ISI.EDU . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; formerly C.PSI.NET . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; formerly TERP.UMD.EDU . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
• /var/named/named.root
Aplicações de Administração
• NSLookup:
• Aplicação de consulta a Servidores de Nomes
Aplicações de Administração DNS: NSLookup (1)
• login@ns1:~ > nslookup • Default Server: localhost • Address: 127.0.0.1 • > help
• $Id: nslookup.help,v 8.5 2000/03/30 23:25:35 vixie Exp $
• Commands: (identifiers are shown in uppercase, [] means optional) • NAME - print info about the host/domain NAME using default server • NAME1 NAME2 - as above, but use NAME2 as server
• help or ? - print info on common commands; see nslookup(1) for details • set OPTION - set an option
• all - print options, current server and host • [no]debug - print debugging information
• [no]d2 - print exhaustive debugging information • [no]defname - append domain name to each query • [no]recurse - ask for recursive answer to query • [no]vc - always use a virtual circuit
• domain=NAME - set default domain name to NAME
• srchlist=N1[/N2/.../N6] - set domain to N1 and search list to N1,N2, etc. • root=NAME - set root server to NAME
Aplicações de Administração DNS: NSLookup (2)
• retry=X - set number of retries to X
• timeout=X - set initial time-out interval to X seconds
• querytype=X - set query type, e.g., A,ANY,CNAME,HINFO,MX,PX,NS,PTR,SOA,TXT,WKS, • SRV,NAPTR
• port=X - set port number to send query on • type=X - synonym for querytype
• class=X - set query class to one of IN (Internet), CHAOS, HESIOD or ANY • server NAME - set default server to NAME, using current default server
• lserver NAME - set default server to NAME, using initial server • finger [USER] - finger the optional USER at the current default host • root - set current default server to the root
• ls [opt] DOMAIN [> FILE] - list addresses in DOMAIN (optional: output to FILE) • -a - list canonical names and aliases
• -h - list HINFO (CPU type and operating system) • -s - list well-known services
• -d - list all records
Aplicações de Administração DNS: NSLookup (3)
• login@ns1:~ > nslookup • > server m.root-servers.net • Default Server: m.root-servers.net • Address: 202.12.27.33
• > set type=NS • > .
• Server: m.root-servers.net • Address: 202.12.27.33
• (root) nameserver = I.ROOT-SERVERS.NET • (root) nameserver = E.ROOT-SERVERS.NET • (root) nameserver = D.ROOT-SERVERS.NET • (root) nameserver = A.ROOT-SERVERS.NET • (root) nameserver = H.ROOT-SERVERS.NET • (root) nameserver = C.ROOT-SERVERS.NET • (root) nameserver = G.ROOT-SERVERS.NET • (root) nameserver = F.ROOT-SERVERS.NET • (root) nameserver = B.ROOT-SERVERS.NET • (root) nameserver = J.ROOT-SERVERS.NET • (root) nameserver = K.ROOT-SERVERS.NET • (root) nameserver = L.ROOT-SERVERS.NET • (root) nameserver = M.ROOT-SERVERS.NET
Aplicações de Administração DNS (UNIX): DIG
• login@ns1:~ > dig help
• usage: dig [@server] [domain] [q-type] [q-class] {q-opt} {d-opt} [%comment] • where: server,
• domain are names in the Domain Name System • q-class is one of (in,any,...) [default: in]
• q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default: a]
• q-opt is one of:
• -x dot-notation-address (shortcut to in-addr.arpa lookups) • -f file (batch mode input file name)
• -T time (batch mode time delay, per query) • -p port (nameserver is on this port) [53] • -b addr[:port] (bind to this tcp address) [*] • -P[ping-string] (see man page)
• -t query-type (synonym for q-type)
• -c query-class (synonym for q-class)
• -k keydir:keyname (sign the query with this TSIG key)
• -envsav,-envset (see man page)
• -[no]stick (see man page)
• d-opt is of the form ``+keyword=value'' where keyword is one of: • [no]debug [no]d2 [no]recurse retry=# time=# [no]ko [no]vc • [no]defname [no]search domain=NAME [no]ignore [no]primary • [no]aaonly [no]cmd [no]stats [no]Header [no]header [no]trunc • [no]ttlid [no]cl [no]qr [no]reply [no]ques [no]answer
• [no]author [no]addit [no]dnssec pfdef pfmin
• pfset=# pfand=# pfor=#
• notes: defname and search don't work; use fully-qualified names. • this is DiG version 8.3
Aplicações de Administração DNS: DIG
• login@ns1:~ > dig @C.ROOT-SERVERS.NET ns isel.ipl.pt • ; <<>> DiG 8.3 <<>> @C.ROOT-SERVERS.NET ns isel.ipl.pt • ; (1 server found)
• ;; res options: init recurs defnam dnsrch • ;; got answer:
• ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
• ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 7, ADDITIONAL: 7 • ;; QUERY SECTION:
• ;; isel.ipl.pt, type = NS, class = IN • ;; AUTHORITY SECTION: • pt. 2D IN NS NS.DNS.BR. • pt. 2D IN NS NS2.NIC.FR. • pt. 2D IN NS NS.DNS.pt. • pt. 2D IN NS SUNIC.SUNET.SE. • pt. 2D IN NS NS.UU.NET. • pt. 2D IN NS NS-EXT.VIX.COM. • pt. 2D IN NS NS2.DNS.pt. • ;; ADDITIONAL SECTION: • NS.DNS.BR. 2D IN A 200.160.0.5 • NS2.NIC.FR. 2D IN A 192.93.0.4 • NS.DNS.pt. 2D IN A 193.136.0.1 • SUNIC.SUNET.SE. 2D IN A 192.36.125.2 • NS.UU.NET. 2D IN A 137.39.1.3 • NS-EXT.VIX.COM. 2D IN A 204.152.184.64 • NS2.DNS.pt. 2D IN A 193.136.2.226 • ;; Total query time: 450 msec
• ;; FROM: ns to SERVER: C.ROOT-SERVERS.NET 192.33.4.12 • ;; WHEN: Tue Jul 2 18:02:41 2002
Aplicações de Administração DNS: DIG
• login@ns1:~ > dig • ; <<>> DiG 8.3 <<>>
• ;; res options: init recurs defnam dnsrch • ;; got answer:
• ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
• ;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 • ;; QUERY SECTION: • ;; ., type = NS, class = IN • ;; ANSWER SECTION: • . 1d6h18m7s IN NS M.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS I.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS E.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS D.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS A.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS H.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS C.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS G.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS F.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS B.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS J.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS K.ROOT-SERVERS.NET. • . 1d6h18m7s IN NS L.ROOT-SERVERS.NET. • ;; ADDITIONAL SECTION: • M.ROOT-SERVERS.NET. 2d6h18m7s IN A 202.12.27.33 • I.ROOT-SERVERS.NET. 2d6h18m7s IN A 192.36.148.17 • E.ROOT-SERVERS.NET. 2d6h18m7s IN A 192.203.230.10 • D.ROOT-SERVERS.NET. 2d6h18m7s IN A 128.8.10.90 • A.ROOT-SERVERS.NET. 2d6h18m7s IN A 198.41.0.4 • H.ROOT-SERVERS.NET. 2d6h18m7s IN A 128.63.2.53 • C.ROOT-SERVERS.NET. 2d6h18m7s IN A 192.33.4.12 • G.ROOT-SERVERS.NET. 2d6h18m7s IN A 192.112.36.4 • F.ROOT-SERVERS.NET. 2d6h18m7s IN A 192.5.5.241 • B.ROOT-SERVERS.NET. 2d6h18m7s IN A 128.9.0.107 • J.ROOT-SERVERS.NET. 2d6h18m7s IN A 198.41.0.10 • K.ROOT-SERVERS.NET. 2d6h18m7s IN A 193.0.14.129 • L.ROOT-SERVERS.NET. 2d6h18m7s IN A 198.32.64.12 • ;; Total query time: 4 msec
Aplicações de Administração DNS: DIG
• login@ns1:~ > dig @C.ROOT-SERVERS.NET ns cisco.com • ; <<>> DiG 8.3 <<>> @C.ROOT-SERVERS.NET ns cisco.com • ; (1 server found)
• ;; res options: init recurs defnam dnsrch • ;; got answer:
• ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
• ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 13 • ;; QUERY SECTION:
• ;; cisco.com, type = NS, class = IN • ;; AUTHORITY SECTION: • com. 2D IN NS A.GTLD-SERVERS.NET. • com. 2D IN NS G.GTLD-SERVERS.NET. • com. 2D IN NS H.GTLD-SERVERS.NET. • com. 2D IN NS C.GTLD-SERVERS.NET. • com. 2D IN NS I.GTLD-SERVERS.NET. • com. 2D IN NS B.GTLD-SERVERS.NET. • com. 2D IN NS D.GTLD-SERVERS.NET. • com. 2D IN NS L.GTLD-SERVERS.NET. • com. 2D IN NS F.GTLD-SERVERS.NET. • com. 2D IN NS J.GTLD-SERVERS.NET. • com. 2D IN NS K.GTLD-SERVERS.NET. • com. 2D IN NS M.GTLD-SERVERS.NET. • ;; ADDITIONAL SECTION: • A.GTLD-SERVERS.NET. 2D IN A 192.5.6.30 • G.GTLD-SERVERS.NET. 2D IN A 192.42.93.30 • H.GTLD-SERVERS.NET. 2D IN A 192.54.112.30 • C.GTLD-SERVERS.NET. 2D IN A 192.26.92.30 • I.GTLD-SERVERS.NET. 2D IN A 192.43.172.30 • B.GTLD-SERVERS.NET. 2D IN A 192.33.14.30 • D.GTLD-SERVERS.NET. 2D IN A 192.31.80.30 • L.GTLD-SERVERS.NET. 2D IN A 192.41.162.30 • F.GTLD-SERVERS.NET. 2D IN A 192.35.51.30 • J.GTLD-SERVERS.NET. 2D IN A 210.132.100.101 • K.GTLD-SERVERS.NET. 2D IN A 192.52.178.30 • M.GTLD-SERVERS.NET. 2D IN A 192.55.83.30 • ;; Total query time: 445 msec
• ;; FROM: ns to SERVER: C.ROOT-SERVERS.NET 192.33.4.12 • ;; WHEN: Tue Jul 2 17:59:26 2002
DHCP e nomes DNS
• Actualmente o DHCP não interage com o DNS.
– As associações entre os nomes das máquinas e o endereço IP atribuídos pelo DHCP, têm que ser tratados separadamente.
• Que nome deve um host receber do DHCP ?
– Nenhum
• Possível para correr clientes (não necessitam de nome)
– Atribuição automática de nome consoante endereço IP
• Método popular actualmente (associações estáticas DNS) • Host recebe um novo nome sempre que recebe um novo IP.
– Atribuição de um nome permanente.