DNS: Domain Name Systemjamhour/Pessoal/Atual/DNS... · 2018. 5. 22. · Serviço DNS: Domain Name...
Transcript of DNS: Domain Name Systemjamhour/Pessoal/Atual/DNS... · 2018. 5. 22. · Serviço DNS: Domain Name...
DNS: Domain Name System
Resolução de Nomes de Domínio
Edgard Jamhour
Serviço DNS: Domain Name System
www.ufpr.br?
*.ufpr.br=ip
ipUD
P:5
3
*. google.com=ip
*. pucpr.br=ip
*. br=ip
Árvore de nomes
br
pucpr
www
ufpr
agiledeploy www
root
com
www
10
4.4
1.1
3.1
49
20
0.1
92.1
12
.14
20
0.1
72.2
09.2
21
6.5
8.1
94.1
96
APENAS AS FOLHAS TEM IP
NOMES DE DOMINIO
NÂO TEM IP
FQDN: FULLY QUALIFIED DOMAIN NAME
NOME COMPLETO DA FOLHA ATÉ A
RAIZ
www.pucpr.br
DOMINIO = CONJUNTO
br
pucpr
www
ufpr
agile www
root
com
www
com
www
brpucpr
ufpr
wwwagile
www
ZONE = PARTE DA ÁRVORE COM ADMISTRAÇÃO INDEPENDENTE
ZONE ufpr.br
servidor
A.dns.br
servidor
alpha.pucpr.brservidor
ns.ufpr.br
br
pucpr
www
ufpr
agile
www
www
ppgia
ZONE pucpr.br
ZONE br
EXEMPLO DE ZONE
$TTL 1D
$ORIGIN pucpr.br
@ IN SOA alpha [ TIMERS ...]
pucpr.br. IN NS alpha
IN NS beta.pucpr.br.
alpha IN A 200.17.99.2
beta.pucpr.br. IN A 200.17.99.3
www IN A 200.192.112.141
agiledeploy IN A 200.192.112.14
agiledeploy IN CNAME blackboard
pucpr.br. IN MX 10 smtp1
pucpr.br. IN MX 20 smtp2
smpt1 IN A 200.192.112.20
smpt2 IN A 200.192.112.21
SOA= Start Of Authority
NS = Name Server
A = Address
CNAME = Canonical NANE
MX = Mail eXchange
Servidores Primários e Secundários
zone pucpr.brmaster
zone pucpr.br
slave
zone pucpr.br
slave
alpha.pucpr.br
beta.pucpr.br
gama.pucpr.br
SOA SERVER ADMIN ( serial; refresh; retry; expire; ttl)
SOA dns.pucpr.br. admin.pucpr.br. ( 1; 4H; 1H; 1W; 4H)
Arquivos de Configuração (named.conf)
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
master
options {
directory “/var/named/”;
};
zone “pucpr.br” {
type slave;
file “slave/pucpr.br”;
masters { 200.17.99.2; };
};
named.conf
slave
options {
directory “/var/named/”;
};
zone “pucpr.br” {
type master;
file “pucpr.br”;
};
Delegação de SubDominios
ZONE ufpr.br
A.dns.br
servidores
alpha.pucpr.br
beta.pucpr.br ns.ufpr.br
br
pucpr
alfa
ufpr
beta
ns
www
ppgia
ZONE pucpr.br
ZONE brTEM O DIREITO SOBRE
TODOS OS NOMES
TERMINADOS EM BR
DELEGA O DIREITO DE USAR NOMES
TERMINADOS EM UFPR.BRDELEGA O DIREITO DE USAR NOMES
TERMINADOS EM PUCPR.BR
A.dns
www
Delegação de Sub-Domínios
ufpr.br. IN SOA ns
IN NS ns
ns IN A 3.3.3.3
www IN A 3.3.3.4
ZONE PUCPR.BR
pucpr.br. IN SOA alfa
IN NS alfa
IN NS beta
alfa IN A 2.2.2.2
beta IN A 2.2.2.3
www IN A 2.2.2.4
www.ppgia IN A 2.2.2.5
br. IN SOA A.dns.br
IN NS A.dns.br
A.dns IN A 1.1.1.1
pucpr IN NS alfa.pucpr
IN NS beta.pucpr
alfa IN A 2.2.2.2
beta IN A 2.2.2.3
ufpr IN NS ns.ufpr
ns.ufpr IN A 3.3.3.3
ZONE BR
ZONE UFPR.BR
Consulta Recursiva e Iterativa
br
pucpr
www
dns
wwwdns
www.ufpr.br?
A 200.17.99.3
ufpr
dns
www.ufpr.br?
NS dns.ufpr.br
recursiva
iterativa
Exemplosnslookup
> www.pucpr.brServidor: A.dns.brAddresses: 2001:12ff::10
200.160.0.10
------------Got answer:
HEADER:opcode = QUERY, id = 8, rcode = NOERRORheader flags: response, want recursionquestions = 1, answers = 0, authority records = 2,
additional = 2
QUESTIONS:www.pucpr.br, type = A, class = IN
AUTHORITY RECORDS:-> pucpr.br
nameserver = alpha.pucpr.br ttl = 3600 (1 hour)-> pucpr.br
nameserver = beta.pucpr.br ttl = 3600 (1 hour)ADDITIONAL RECORDS:-> alpha.pucpr.br
internet address = 200.192.112.2 ttl = 3600 (1 hour)-> beta.pucpr.br
internet address = 200.192.112.3 ttl = 3600 (1 hour)
nslookup
> www.pucpr.brServidor: [8.8.8.8]Address: 8.8.8.8
------------Got answer:
HEADER:opcode = QUERY, id = 13, rcode = NOERRORheader flags: response, want recursion, recursion avail.questions = 1, answers = 1, authority records = 0,
additional = 0
QUESTIONS:www.pucpr.br, type = A, class = IN
ANSWERS:-> www.pucpr.br
internet address = 104.41.13.179 ttl = 692 (11 mins)
Consulta Recursiva e Iterativa
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 A ou NS
A3) dns.ufpr.br.
TYPE NS
1
2 3
pucpr
www
A
4
56
Q4) www.ufpr.br.
TYPE A
A5) www.ufpr.br.
TYPE A
A6) www.ufpr.br.
TYPE A www
ufpr
dns
A A
br
pucpr ufpr
NSNS
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)
Exemplos de Consultas Autoritáriawww.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)
Cache e Respostas de Autorização
www.pucpr.br?
A 200.17.99.3
Autorização
www.ufpr.br?
A 200.3.3.3
Autorização (primeiro usuário)
não Autorização (cache )Recursivo para
usuários da
PUCPR
Não Recursivo
Recursivo para
usuários da
UFPR
pucpr
www
A
www
ufpr
dns
A A
br
pucpr ufpr
NSNS
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.
Relacionamento Master Slavezone "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 FileAXRF protocol
TCP (53)
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
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
AA
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
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
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
Os servidores DNS Raiz (Root Servers)
.com .org .edu
.pucpr
.com
root-servers hints-file
zona
root.zone...
MA
.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
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: [email protected]
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
5PTR
200.192.112.21?
6
alpha.pucpr.br
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.
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
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==
Conclusão
DNS - Domain Name System
Edgard Jamhour