Post on 23-Dec-2018
Edgard Jamhour
DNS: Domain Name System
Edgard Jamhour
Serviço DNS: Domain Name System
Nome?
nome - ip nome - ip
nome - ip
IP
nome - ip
Edgard Jamhour
Árvore de nomes
br
pucpr
www
ufpr
eureka
br
Pucpr
Ufpr
www
ppgia www
FOLHA
RAIZ
www
Edgard Jamhour
ZONAS DNS
br
pucpr
www
ufpr
www
RAIZ
www
ppgia
ZONA .br
ZONA ufpr.br ZONA pucpr.br
servidor
A.dns.br
servidor
alpha.pucpr.br
servidor
ns.ufpr.br
Edgard Jamhour
Arquivo de ZONA
ZONA pucpr.br
$TTL 1D
pucpr.br. IN SOA alpha.pucpr.br. [ ....]
IN NS alpha.pucpr.br.
IN NS beta.pupcr.br.
IN MX 10 smtp.pucpr.br.
IN MX 20 smtp2.pupcr.br.
alpha IN A 200.17.99.2
beta.pucpr.br. IN A 200.17.99.3
dns IN CNAME alpha
www IN A 200.192.112.141
smpt1 IN A 200.192.112.20
smpt1 IN A 200.192.112.21
Edgard Jamhour
Servidores Primários e Secundários
zona
pucpr.br
master
zona
pucpr.br
slave
zona
pucpr.br
slave
alpha.pucpr.br
beta.pucpr.br
gama.pucpr.br
Edgard Jamhour
Arquivos de Configuração (named.conf)
options {
directory “/var/named/”;
};
zone “pucpr.br” {
type master;
file “pucpr.br”;
};
options {
directory “pasta de zonas”;
};
zone “nome da zona” {
type master;
file “master/arquivo de zona”;
};
zone “nome da zona” {
type slave;
file “slave/arquivo de zona”;
masters {
ipmaster1;
ipmaster2;
}
};
named.conf
primário
options {
directory “/var/named/”;
};
zone “pucpr.br” {
type slave;
file “slave/pucpr.br”;
masters { 200.17.99.2; };
};
named.conf
secundário
Edgard Jamhour
Delegação de SubDominios
br
pucpr
www
ufpr
www
RAIZ
www
ppgia
ZONA .br
ZONA ufpr.br ZONA pucpr.br NS NS
Edgard Jamhour
Zonas com Delegação de Sub-Domínios
ufpr.br. IN SOA dns.ufpr.br
IN NS dns.ufpr.br
dns.ufpr.br. IN A 200.101.0.12
www IN A 200.101.0.15
ZONA
ufpr.br
pucpr.br. IN SOA dns.pucpr.br
IN NS dns.pucpr.br
IN NS beta.pucpr.br
dns IN A 200.17.99.2
beta IN A 200.17.99.3
www IN A 200.17.99.3
www.ppgia IN A 200.17.98.174
ZONA
pucpr.br
br. IN SOA dns.br
IN NS dns.br
dns IN A 200.1.2.3
pucpr IN NS dns.pucpr.br.
IN NS beta.pupcr.br.
ufpr IN NS dns.ufpr.br.
dns.pucpr IN A 200.17.99.2
beta.pucpr IN A 200.17.99.3
dns.ufpr IN A 200.101.0.12
ZONA
br
Edgard Jamhour
Consulta Recursiva
br
pucpr
www
dns
www dns
www.pucpr.br?
A 200.17.99.3
ufpr
dns
www.pucpr.br?
NS dns.pucpr.br
recursivo
não
recursivo
Edgard Jamhour
Consulta Recursiva e Iterativa
br
pucpr
www www
ufpr
dns
Q1) www.ufpr.br.
TYPE A
Recursivo para
usuários da
PUCPR
Não Recursivo
Recursivo para
usuários da
UFPR
Q2) www.ufpr.br.
TYPE NS
A3) dns.ufpr.br.
TYPE NS
1
2
3
pucpr ufpr
NS NS
A
4
5 6
Q4) www.ufpr.br.
TYPE A
A5) www.ufpr.br.
TYPE A
A6) www.ufpr.br.
TYPE A
Edgard Jamhour
Exemplo de Consulta não Autoritária
> www.google.com.
Servidor: thor01.ppgia.pucpr.br
Address: 10.32.1.14
HEADER:
opcode = QUERY, id = 14, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0,
additional = 0
QUESTIONS:
www.google.com, type = A, class = IN
ANSWERS:
www.google.com
internet address = 172.217.29.196
ttl = 281 (4 mins 41 secs)
------------
Não é resposta autoritativa:
HEADER:
opcode = QUERY, id = 15, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional =
0
QUESTIONS:
www.google.com, type = AAAA, class = IN
ANSWERS:
www.google.com
AAAA IPv6 address = 2800:3f0:4001:807::2004
ttl = 209 (3 mins 29 secs)
Edgard Jamhour
Exemplos de Consultas Autoritária
www.ppgia.pucpr.br.
Servidor: thor01.ppgia.pucpr.br
Address: 10.32.1.14
HEADER:
opcode = QUERY, id = 26, rcode = NOERROR
header flags: response, auth. answer, want recursion,
recursion avail.
questions = 1, answers = 1, authority records = 0,
additional = 0
QUESTIONS:
www.ppgia.pucpr.br, type = A, class = IN
ANSWERS:
www.ppgia.pucpr.br
internet address = 10.32.1.22
ttl = 3600 (1 hour)
HEADER:
opcode = QUERY, id = 27, rcode = NOERROR
header flags: response, auth. answer, want recursion,
recursion avail.
questions = 1, answers = 0, authority records = 1,
additional = 0
QUESTIONS:
www.ppgia.pucpr.br, type = AAAA, class = IN
AUTHORITY RECORDS:
ppgia.pucpr.br
ttl = 3600 (1 hour)
primary name server = thor01.ppgia.pucpr.br
responsible mail addr = hostmaster.ppgia.pucpr.br
serial = 326
refresh = 900 (15 mins)
retry = 600 (10 mins)
expire = 86400 (1 day)
default TTL = 3600 (1 hour)
Edgard Jamhour
Cache e Respotas de Autorização
br
pucpr
www
dns
www dns
www.pucpr.br?
A 200.17.99.3
Autoritative
ufpr
dns
recursivo
para usuários pucpr
não
recursivo
www.ufpr.br?
A 200.3.3.3
Não Autoritative
recursivo
para usuários ufpr
Edgard Jamhour
Tipos de Servidores DNS
• MASTER – Pode ter um ou mais “zone files” armazenadas localmente.
– Suas respostas são do tipo “Autoritative” pois ele obtém suas respostas de arquivo local
– Um servidor configurado como “Autoritative Only” não faz cache, e responde com erro a todas as consultas
que não estejam em suas zones.
• SLAVE – Obtém cópias do arquivos zone do Master pela rede (zone transfer).
– Não permite alteração das zones.
– Responde como “Autoritative” para as zones que obteve do Master.
• CACHING (RESOLVER) – Obtém informações de outros servidores via consultas recursivas e armazena o resultado em cache.
– Os registros em cache são armazenados até o TTL espirar.
– Responde como “No Autoritative” para registros vindos da cache
• FORWARDING (DNS PROXY, CLIENTE, REMOTE) – Redireciona a consulta para outro servidor DNS remoto e armazena a resposta em cache.
– Usualmente não efetua consultas recursivas, essa função é usualmente feita pelo servidor remoto.
– Responde como “No Autoritative” para registros vindos da cache
– O Redicionamento pode ser feito por domínio ou de forma global.
Edgard Jamhour
Relacionamento Master Slave
zone "example.com" in{
type master;
also-notify {192.168.0.2;};
file "pri/pri.example.com";
};
zone "example.com" in{
type slave;
file "sec/sec.example.com";
masters {192.168.23.17;};
}; 192.168.0.2
192.168.23.17
Autoritative
www.example.com?
www.example.com?
Autoritative
Zone File AXRF protocol
TCP (53)
Edgard Jamhour
Resolver
options {
directory "/var/named";
version "not currently available";
recursion yes;
};
zone "." IN {
type hint;
file "root.servers";
};
www.terra.com.br?
Não Autoritative
se vier da cache
Cache
a.dns.br.
200.160.0.10
NS
ns1.cdn.trrsf.com
200.215.195.1
NS
A
A
Edgard Jamhour
Proxy
options {
directory "/var/named";
version "not currently available";
forwarders {10.0.0.1; 10.0.0.2;};
forward only;
};
www.terra.com.br?
Não Autoritative
se vier da cache
Cache
a.dns.br.
200.160.0.10
NS
ns1.cdn.trrsf.com
200.215.195.1
NS
A
A
A A
10.0.0.1
zone "example.com" IN {
type forward;
forwarders {10.0.0.1; 10.0.0.2;};
};
Redirecionamento por domínio
Redirecionamento global
Edgard Jamhour
A Zona Raiz (.) = root.zone
• Servidores que fazem cache precisam conhecer os servidores no da
árvore de nomes DNS.
• Essa informação está no arquivo root.zone
– http://www.internic.net/domain/root.zone
br. 172800 IN NS a.dns.br.
br. 172800 IN NS b.dns.br.
a.dns.br. 172800 IN A 200.160.0.10
a.dns.br. 172800 IN AAAA 2001:12ff:0:0:0:0:0:10
b.dns.br. 172800 IN A 200.189.41.10
c.dns.br. 172800 IN A 200.192.233.10
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
net. 172800 IN NS a.gtld-servers.net.
net. 172800 IN NS b.gtld-servers.net.
a.gtld-servers.net. 172800 IN A 192.5.6.30
a.gtld-servers.net. 172800 IN AAAA 2001:503:a83e:0:0:0:2:30
b.gtld-servers.net. 172800 IN A 192.33.14.30
b.gtld-servers.net. 172800 IN AAAA 2001:503:231d:0:0:0:2:30
Edgard Jamhour
Zone Type Hint (Cache)
• Quando o servidor DNS é inicializado, se ele possuir uma zona do
tipo “hint”, ele precisará obter uma cópia do arquivo root.zone
• Por questões de desempenho e segurança, o arquivo root.zone está
replicado e diversos servidores pelo mundo.
• Esses servidores estão listados no arquivo named.root
– https://www.internic.net/domain/named.root
– http://public-root.com/root-server-locations.htm
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:84::b
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c
...
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
Edgard Jamhour
Os servidores DNS Raiz (Root Servers)
.com .org .edu
.pucpr
.com
root-servers hints-file
zona
root.zone ...
M A
.br
Existem 13 servidores lógicos root
Muitos servidores operam em anycast
Em anycast, muitos servidores compartilham o mesmo
endereço.
Nesse modo, o servidor mais próximo a origem é
automaticamente selecionado
Edgard Jamhour
Zonas Reversas
• Alguns servidores de email não aceitam receber emails de origens
que não estejam possam ser resolvidos por um consulta reversa
(reverse DNS lookup)
FROM: edgard.jamhour@pucpr.br
TO: ejamhour@gmail.com
seg-l.pucpr.br
200.192.112.21
2) email (SMTP)
NS
pucpr.br ?
alpha.pucpr.br
200.192.112.2
DNS
pucpr.br
servidor email
gmail
DNS
.br
alpha.pucpr.br
1
3
4
5 PTR
200.192.112.21?
6
alpha.pucpr.br
Edgard Jamhour
Zonas Reversa
• Zonas reversas representam uma subrede, esão criadas com o
sufixo especial in-addr.arpa.zone
• Por exemplo: A zona 200.2.1.0/24 é representado abaixo:
$TTL 1D
@ORIGIN 1.2.200.in-addr.arpa.zone
@ IN SOA dns.pucpr.br. jamhour.pucpr.br (
2 ; serial
28800 ; refresh (s)
7200 ; retry (s)
604800 ; expire (s)
86400 ) ; ttl (s)
IN NS dns.pucpr.br.
1 IN PTR dns.pucpr.br.
2 IN PTR www.pucpr.br.
Edgard Jamhour
Protocolo DNS
• O protocolo DNS é transportado por UDP
• A porta padrão do DNS é 53
• O comportamento default de uma consulta DNS (Windows) é listado
a seguir:
Tempo (s) Ação
0 Cliente envia a consulta DNS
1 Se não houver resposta em 1s, o cliente re-envia
2 Se não houver resposta em 1s, o cliente re-envia
4 Se não houver resposta em 2s, o cliente re-envia
8 Se não houver resposta em 4s, o cliente re-envia
10 Se não houver resposta em 2s, o cliente para de re-enviar
OBS. Windows escolhe o servidor DNS, primário ou secundário,
randomicamente a cada consulta
Edgard Jamhour
DNSSEC
• O DNSSEC oferece um serviço protegido de consultas a servidores DNS
utilizando um mecanismo de chaves públicas.
• DNSSEC e transportado sobre TCP, porta 53.
• O DNSSEC inclui assinaturas digitais nas respostas fornecidas pelo servidor.
Isso permite ao receptor verificar a autenticidade do servidor DNS.
gmail. 172800 IN NS ns-tld1.charlestonroadregistry.com.
GMAIL. 86400 IN DS 42016 8 2
5A4715A5FCF219E5A31E167506C2B1FD68FDDD1015A5F5BC04A322F062DAF497
GMAIL. 86400 IN RRSIG DS 8 1 86400 20170608050000
20170526040000 14796 .
bwCQdFHnOETpPK1ohUBXLvrbxWvOc8pIiSyy2RBZKmWK36MGq/sXqY8Aiq05BasIWRAk2VWVq3imT+aGIN20UFKTq
hwluHhVhDEog8OFi6cSuoATJq85ltfST9GH/oPuAxZDigkWIeTI5N7Aee4B+DmVWag8q4viKaOCjLK9OaCHDwxsyj/9+18z
LoC6UjcgUQ9HG4ZBGfhN/1kM0JKOvzN2v5ePoXiit+rTA/qd2oz19tUm//5yR3sClHjumYE0WSWJ5btxu6hB/ncRjN9DxT32
uLVEXBu43YgjgLr+Yt7Hop9h4L+yo1eZwofcZO0qG16Q4H4KQ74aOVmWhnsJpg==
gmail. 86400 IN NSEC gmbh. NS DS RRSIG NSEC
gmail. 86400 IN RRSIG NSEC 8 1 86400 20170608050000
20170526040000 14796 .
TgBYKkmMYXqFmMAs0TonYgVMZbquFhY5nOmhUcda9DUCY1Dri0isqzrROGYT4mbxfDyHhx2z8F1160yOR6BSTlVWfB
AYsb1c+hDVjRV1tLDRhWSOftsK5cMrthXbJ0SwVE1/HjCHBqSA6jvBfyxapy4Q/kuKrHA+6OJZHbH18kfFXm43RNgzUdto0
AVNq/uPKeAYkB0LNVtfX2DervaQg2l9H8PC/usgSXlxZ636AMlwHWh7KJ8pMjVQtynThxk23Mp4Gc2matlGyoB5PCiodLE5
bjTjm0Qgbw0mytFtU/7tJn+lZ2S98NoFATTnmRxeXQHStYQ0OCpfrlpJGwSEwQ==
Edgard Jamhour
Conclusão
DNS - Domain Name System