DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore...
Transcript of DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore...
![Page 1: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/1.jpg)
DNS(Domain Name System)
Antonio Lioy< [email protected] >
Politecnico di TorinoDip. Automatica e Informatica
![Page 2: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/2.jpg)
DNS (Domain Name System) sistema Internet per corrispondenza nomi:indirizzi dominio diretto: nome > indirizzi
FQDN (fully Qualified Domain Name) es. www.polito.it
dominio inverso: indirizzo > nomi associato a dominio fittizio .in-addr.arpa.
es. 1.1.168.192.in-addr.arpa. sistema gerarchico e distribuito:
nessun server mantiene il DB completo lo spazio dei nomi (e degli indirizzi) è diviso in "zone",
ognuna può contenere altre zone
© A.Lioy (Politecnico di Torino, 2019-2020) 2
![Page 3: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/3.jpg)
DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record
sul proprio nameserver (NS) possibilmente duplicato protocollo DNS:
53/udp = query e risposte 53/tcp = trasferimenti dati "bulk" tra nameserver
RFC-1034 “Domain names: concepts and facilities” RFC-1035 “Domain names: implementation and
specification”
© A.Lioy (Politecnico di Torino, 2019-2020) 3
![Page 4: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/4.jpg)
Architettura DNS (query iterativa)
NS (de.)
root NS (.)
NS(fiat.it.)
NS (it.)
NS(polito.it.)
utente
client
(local) NS cache
DNS
Q1
Q2Q3
© A.Lioy (Politecnico di Torino, 2019-2020) 4
![Page 5: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/5.jpg)
Architettura DNS (query recursiva)
NS (de.)
root NS (.)
NS(fiat.it.)
NS (it.)
NS(polito.it.)
utente
client
(local) NS cache
DNS
Q1
Q2
Q3
© A.Lioy (Politecnico di Torino, 2019-2020) 5
![Page 6: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/6.jpg)
I record DNS (RR = Resource Record) A address (IPv4) AAAA address (IPv6) PTR nome CNAME alias NS nameserver SOA Start-Of-Authority MX mail exchanger HINFO host + O.S. TXT text WKS well-known services
© A.Lioy (Politecnico di Torino, 2019-2020) 6
![Page 7: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/7.jpg)
DNS: PDU (request / response)
#answer RRs
questions (variable #)
0 16 31
#questions
identification flags
15
#additional RRs#authority RRs
answers (variable # of RRs)
authority (variable # of RRs)
additional info (variable # of RRs)
© A.Lioy (Politecnico di Torino, 2019-2020) 7
![Page 8: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/8.jpg)
DNS PDU identification (16 bit):
query ID (nelle richieste) risposte usano l'ID della richiesta a cui rispondono
flag: query / reply recursion desired recursion available reply is authoritative
questions lista di (nome, tipo) per cui si chiede risposta
© A.Lioy (Politecnico di Torino, 2019-2020) 8
![Page 9: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/9.jpg)
Tipi di DNS server root
info sui domini di primo livello primary
master per una zona (definito con SOA) secondary
slave per una zona (definito con NS) forwarder
inoltra le domande alla gerarchia DNS caching
ricorda le query effettuate (e le risposte!) un server può essere di più tipi (compatibili)
© A.Lioy (Politecnico di Torino, 2019-2020) 9
![Page 10: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/10.jpg)
Root nameserver i root NS mantengono le informazioni sui domini di primo
livello tredici root NS (logici):
A.ROOT-SERVERS.NET. . . . M.ROOT-SERVERS.NET. 10 USA, 2 Europa, 1 Giappone
... ma 1092 server fisici (mar-2020) grazie ad anycast nomi e mappa http://root-servers.org/ elenco testuale https://www.internic.net/domain/named.root
© A.Lioy (Politecnico di Torino, 2019-2020) 10
![Page 11: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/11.jpg)
Primary nameserver è il NS master di una zona è identificato tramite il record SOA è quello su cui l'amministratore della zona effettua le
modifiche
© A.Lioy (Politecnico di Torino, 2019-2020) 11
![Page 12: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/12.jpg)
Record SOA (Start Of Authority) formato:
nome [ TTL ] classe SOAorigine ; hostname del NSriferimento ; e-mail del gestoreaggiornamento ; scadenze varie
tipicamente classe è IN l’e-mail viene scritto con “.” al posto di “@” "aggiornamento" è espresso da cinque interi (racchiusi tra
parentesi tonde) che indicano intervalli di tempo in secondi
© A.Lioy (Politecnico di Torino, 2019-2020) 12
![Page 13: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/13.jpg)
Campo aggiornamento di SOA serial
numero di versione del file refresh
controllo del serial (al reboot dei secondari) retry
tempo prima di riprovare un trasferimento fallito expire
scadenza dei dati minimum
valore di default per il TTL di tutti i dati
© A.Lioy (Politecnico di Torino, 2019-2020) 13
![Page 14: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/14.jpg)
Esempio di SOA il campo serial deve aumentare ad ogni modifica si suggerisce il formato YYYYMMDDNN che permette 100
modifiche al giorno fino al 4294: dovrebbe essere sufficienti :-)
polito.it. IN SOAns.polito.it ; hostname del NSroot.ns.polito.it ; e-mail del gestore
( 1997020305; serial86400 ; refresh (1 day)3600 ; retry transfer (1 hour)604800 ; expire (1 week)172800 ) ; minimum TTL (2 days)
© A.Lioy (Politecnico di Torino, 2019-2020) 14
![Page 15: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/15.jpg)
Secondary nameserver mantiene copia a sola lettura dei dati presi da uno o più NS
primari è obbligatorio che ogni primario abbia almeno un
secondario (consigliati due secondari, di cui almeno uno off-site)
aggiornamento tra primario e secondari: nessun meccanismo immediato automatico aggiornamento automatico alla scadenza della tabella possibile aggiornamento manuale (push o pull) da parte dei
sistemisti
© A.Lioy (Politecnico di Torino, 2019-2020) 15
![Page 16: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/16.jpg)
Forwarder nameserver è un NS che effettua le query per conto di un altro NS (o di
un client) che non può (o non vuole) agganciarsi direttamente al DNS
in pratica, è un DNS-proxy
forwarder NS
DNS client
local NS
DNS
© A.Lioy (Politecnico di Torino, 2019-2020) 16
![Page 17: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/17.jpg)
Caching nameserver non mantiene nessun tipo di dati usato solo per le sue funzionalità di caching, come NS
locale fittizio per diminuire il carico di rete
DNSclient
DNS
cachingNS
cache
nuova query
cachedquery
© A.Lioy (Politecnico di Torino, 2019-2020) 17
![Page 18: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/18.jpg)
Esempio: risoluzione di www.polito.it Q) nslookup www.polito.it. a.root-servers.net
A) tutti i NS di "it." (tra cui dns.nic.it) Q) nslookup www.polito.it. dns.nic.it.
A) i tre NS di "polito.it." (tra cui giove.polito.it) Q) nslookup www.polito.it. giove.polito.it.
Procedura non ripetuta fino a scadenza della cache
Server: giove.polito.itAddress: 130.192.3.24#53
www.polito.it canonical name = webfront-01.polito.it.Name: webfront-01.polito.itAddress: 130.192.181.193
© A.Lioy (Politecnico di Torino, 2019-2020) 18
![Page 19: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/19.jpg)
Authoritative o no? le risposte ad una query DNS sono marcate authoritative
quando sono ottenute direttamente dal server che è SOA per l’informazione richiesta
risposte non-authoritative tutte le volte che sono ottenute tramite una cache (l’informazione reale potrebbe anche essere diversa)
© A.Lioy (Politecnico di Torino, 2019-2020) 19
![Page 20: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/20.jpg)
Prestazioni del DNS le query DNS costituiscono:
carico di rete carico per i server DNS ritardo di avvio per le applicazioni (maggiore latenza)
in particolare attenzione a come si organizzano i NS per la propria Intranet: soluzione 1) primary aziendale gestito in outsourcing dall’ISP,
query continue in rete soluzione 2) primary all’ISP, caching NS in azienda soluzione 3) primary all’ISP, secondary in azienda soluzione 4) primary in azienda, secondary all’ISP
© A.Lioy (Politecnico di Torino, 2019-2020) 20
![Page 21: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/21.jpg)
AS112 molte (troppe!) query effettuate per risolvere i nomi dei nodi
delle reti "private" (RFC-1918) 10.0.0.0/8 172.16.0.0/12 (ossia 172.16.*.* … 172.31.*.*) 169.254.0.0/16 192.168.0.0/16
configurare il local NS come authoritative per tali reti oppure seguire le indicazioni del progetto AS112:
https://www.as112.net/ NS anycast in 92.175.48.0/24 e 2620:4f:8000::/48
RFC-7534 "AS112 Nameserver Operations"RFC-7535 "AS112 Redirection Using DNAME"RFC-6305 "I'm Being Attacked by PRISONER.IANA.ORG!"
© A.Lioy (Politecnico di Torino, 2019-2020) 21
![Page 22: DNS (Domain Name System)lioy/01nbe/dns.pdf · 2 days ago · DNS (Domain Name System) ogni gestore di una zona mantiene il DB dei propri record sul proprio nameserver (NS) possibilmente](https://reader030.fdocuments.us/reader030/viewer/2022011817/5e817544746032771b547df7/html5/thumbnails/22.jpg)
Server "paranoici" circa 10% degli indirizzi usati sono illegali alcuni server applicativi fanno una doppia query al DNS per
verificare l'identità dei client prima di accettarne le richieste
serverapplicativo
DNS
(1.Q) PTR ( 192.168.1.1 )?
(1.R) alfa.nasa.gov(2.Q) A ( alfa.nasa.gov )?
(2.R) 192.168.1.1
192.168.1.1
© A.Lioy (Politecnico di Torino, 2019-2020) 22