Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

90
Lezione 7 Lezione 7 Sessione A Sessione A Servizi Internet di Servizi Internet di base: base: Domain Name System Domain Name System

Transcript of Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Page 1: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Lezione 7Lezione 7 Sessione A Sessione A

Servizi Internet di base:Servizi Internet di base:Domain Name SystemDomain Name System

Page 2: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Indice degli ArgomentiIndice degli Argomenti

Domain Name System

Piattaforme Hardware e Software

Page 3: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Nomi e IndirizziNomi e Indirizzi

Page 4: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Nomi e IndirizziNomi e Indirizzi

Page 5: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

ModelliModelli

Gli indirizzi IP sono difficili da ricordare: vanno bene per la comunicazione tra le macchineModello centralizzato: – agli albori di Internet l’associazione tra

indirizzo IP e nomi delle macchine era registrata nel file HOSTS.TXT mantenuto presso SRI-NIC (Arpanet)

traffico e sovraccarico del server centralecollisioni dei nomiconsistenza dei dati gestiti centralmente

Page 6: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Modelli Modelli

Modello distribuito: – all’inizio degli anni ‘80, l’aumento del numero

degli host ha reso indispensabile l’adozione di un modello di gestione distribuita denominato Domain Name System

Page 7: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

FunzionamentoFunzionamento

Page 8: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

FunzionamentoFunzionamento

Page 9: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DNSDNS

ad ogni risorsa TCP/IP può essere assegnato un nome simbolico

Sono necessari:– un metodo per associare al nome simbolico di

una macchina l’indirizzo (o gli indirizzi) IP: risoluzione diretta

– l un metodo per associare ad un indirizzo IP il nome simbolico della macchina: risoluzione inversa

Page 10: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DNSDNS

Domain Name System (DNS)

definito presso ISI - USC 1984 – RFC 882, RFC 883, RFC 973 (obsolete) – RFC 1034, RFC 1035, RFC 1123, RFC 1537,

RFC 1912

Page 11: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Caratteristiche PrincipaliCaratteristiche Principali

database distribuito– basato sul modello client/server

tre componenti principali:– spazio dei nomi e informazioni associate (Resource

Record - RR)– nameserver (application server che mantiene i dati)– resolver (client per l’interrogazione del nameserver)

accesso veloce ai dati (database in memoria centrale e meccanismo di caching)

Page 12: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Lo Spazio dei NomiLo Spazio dei Nomi

lo spazio dei nomi è organizzato secondo un modello gerarchico:– il database del DNS ha una struttura logica

“ad albero rovesciato”– ciascun nodo dell’albero rappresenta un

dominio– ogni dominio può essere suddiviso in altri

domini: sottodomini– ogni nodo ha una etichetta che lo identifica

rispetto al padre

Page 13: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Lo Spazio dei NomiLo Spazio dei Nomi

La radice dell'albero è unica, e la sua etichetta è vuota. In certi casi si indica anche come “.”

struttura dello spazio dei nomi:– domini generali (gTLD)– domini nazionali (ccTLD)– domini per la risoluzione inversa (arpa)

Page 14: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

L’Albero dei nomiL’Albero dei nomi

Page 15: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

L’Albero dei nomiL’Albero dei nomi

il domain name si esprime con le etichette dal nodo a “ “ (root), separate da “.” (punto). – Es: e.c.a, h.g.f.d.b

un nome a dominio assoluto è detto anche “fully-qualified domain name” o FQDN

il ”Distributed Information Tree” (albero dei nomi) definisce una gerarchia dei nomi che rende ogni nome a dominio completamente qualificato univoco in tutto l’albero

Page 16: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Gerarchia dei nomiGerarchia dei nomi

Page 17: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Gerarchia dei nomiGerarchia dei nomi

per dominio si intende il sottoalbero che inizia dal nodo con il nome a dominio in questionedi solito, le foglie rappresentano il nome a dominio di un hostai nodi sono associate le informazioni relative a quel nome a dominio (RR)– entry di host– entry strutturali

Page 18: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Internet Domain Name SystemInternet Domain Name Systemlo spazio dei nomi di Internet, per “tradizione” (rfc1591), è strutturato secondo un modello misto organizzazionale/geograficoi Top-Level-Domain sonodomini generali “storici” di tipo organizzazionale (gTLD):– com: organizzazioni commerciali– edu: università e ricerca USA– gov: organizzazioni governative USA– mil: organizzazioni militari USA– net: provider, centri di interesse per l’Internet, ..– org: organizzazioni non governative– int: organizzazioni internazionali, trattati, ...

domini nazionali, rappresentati dai codici ISO 3166 di 2 lettere (ccTLD)il dominio arpanuovi domini in corso di definizione: .info, …

Page 19: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Internet Domain Name SystemInternet Domain Name System

Page 20: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

L’albero della Risoluzione InversaL’albero della Risoluzione Inversa

Page 21: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Delega di AutoritàDelega di Autorità

Il DNS permette a organizzazioni dotate di un proprio dominio di:– amministrare la relazione nomi-indirizzi del proprio dominio in

maniera autonoma ed indipendente– definire le regole di naming all’interno del proprio dominio– delegare ad altri la gestione degli eventuali domini figli (sotto-

domini)– risolvere i nomi fuori del proprio dominio accedendo alle

informazioni gestite da altre organizzazioni

la decentralizzazione della responsabilità amministrativa è ottenuta attraverso il meccanismo della delegail gestore del dominio “.” è InterNIC (per conto dello IANA/ICANN), che delega l’autorità per la gestione dei TLD

Page 22: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

LA ZONALA ZONA

le informazioni sono mantenute nei nameserverun nameserver mantiene i dati di un sottoinsieme dello spazio dei nomi: la zonaogni zona può essere un sottodominio completo, cioè comprendere vari domini su una porzione dell’albero non disgiuntaun nameserver può gestire più zone disgiunteil dominio padre contiene solo puntatori alla sorgente dei dati dei suoi sottodominiciascuna zona contiene i nomi a dominio e i dati appartenenti ad certo dominio, esclusi i nomi e i dati dei sottodomini delegati ad altri

Page 23: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

NameserverNameserver

la struttura gerarchica dello spazio dei nomi si riflette nella relazione tra i nameserveril meccanismo della delega di autorità si basa sui seguenti principi:– ogni nameserver di un dominio, per essere conosciuto nel DNS,

deve essere stato registrato dal nameserver del dominio di livello superiore. Questo crea la delega

– una volta delegata l'autorità su una zona il nameserver “padre” perde ogni possibilità di modificare le informazioni dei domini contenuti nella zona delegata

– i nameserver delegati possono essere più d'uno (è consigliato averne almeno due, in alcuni casi è addirittura obbligatorio), ma uno solo è quello che possiede la vera autorità perché gestisce i files contenenti le informazioni

Page 24: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

ParentingParenting

Dipende da varie considerazioni:– necessità di definire sottodomini per partizionare uno

spazio dei nomi piatto e molto esteso– necessità di distinguere l’affiliazione delle macchine di

un dominio– necessità di distribuire la gestione

quanti sottodomini definire?

quando delegarne la gestione?

che nome assegnare ai sottodomini?

Page 25: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

ParentingParenting

Attenzione alla corretta gestione del meccanismo della delega per garantire la risoluzione dei nomi per tutto il dominio!!

Page 26: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Root-ServerRoot-Server

root-server sono i nameserver della “.“ (radice).sono essenziali al funzionamento del DNS perchè: contengono le informazioni sui Top-Level-Domain e sui relativi nameserver ai quali ne delegano la gestionecontengono le informazioni per la risoluzione inversa (risoluzione indirizzo-nome)ogni nameserver deve conoscere nomi ed indirizzi dei root-serverla lista aggiornata dei root-server è mantenuta da InterNIC– ftp://ftp.rs.internic.net/domain/named.root– ftp://ftp.nic.it/pub/DNS/named.root

Page 27: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Nameserver AutoritativoNameserver Autoritativo

un nameserver si definisce autoritativo quando è “in possesso dei dati” per una determinata zona dell’albero dei nomiper un dominio vi possono essere più nameserver autoritativi– per avere una maggiore affidabilità è fortemente

consigliato averne più di uno, localizzati in modo da ridurre il rischio di interruzione del servizio DNS

i nameserver autoritativi si dividono in:– primari– secondari

Page 28: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Nameserver Primari e SecondariNameserver Primari e Secondari

un nameserver si definisce primario quando possiede i file delle informazioni (“file di zona”) e pertanto in ogni zona vi sarà un solo nameserver primarioun nameserver si definisce secondario quando acquisisce, dal nameserver primario, i dati relativi alla zona mediante una procedura automatica denominata “zone-transfer”i parametri che regolano il funzionamento della procedura sono contenuti in uno specifico record del nameserver primario (record SOA)è necessario valutare attentamente il numero e la dislocazione dei nameserver secondari in modo da ridurre il più possibile il rischio che problemi di connessione possano impedire la risoluzione dei nomi di un dominio

Page 29: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

CacheCache

ogni nameserver mantiene copia di tutte le informazioni di cui è venuto a conoscenzatali informazioni sono utilizzate durante il processo di risoluzione dei nomile risposte date dal nameserver sulla base della cache sono “not authoritative”le informazioni nella cache di un nameserver rimangono valide per un tempo limitato (Time-To-Live, TTL)

Page 30: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Processo di RisoluzioneProcesso di Risoluzione

Il processo di risoluzione dei nomi a dominio è basato sul modello client/server:il nameserver (server) è un processo che ha il compito di fornire “risposte autoritative” ad interrogazioni sui nomi definiti nell’ambito dei domini per cui è autoritativo;il resolver (client) è invece utilizzato dalle applicazioni che hanno necessità di effettuare una risoluzione di nomi a dominio. Esso è costituito da un insieme di routine di libreria che sono in grado di colloquiare con i nameserver, interpretarne le risposte e restituire l’informazione al programma richiedente. E’ possibile configurare il default domain di appartenenza, la lista dei nameserver da interrogare e la search list in un apposito file di configurazione (es. file /etc/resolv.conf su Unix)

Page 31: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Processo di Risoluzione dei NomiProcesso di Risoluzione dei Nomi

Page 32: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Processo di Risoluzione dei NomiProcesso di Risoluzione dei Nomi

Se il nome desiderato non è nella zona (o nella cache) del NS interrogato, si innesca il processo di risoluzione dei nomiLa richiesta di risoluzione risale l’albero fino alla radice e lo ridiscende fino ad arrivare ad un NS autoritativo la cui zona contiene il nome in questione e quindi anche gli RRLa risposta, opportunamente salvata in tutti i cache intermedi, viene infine passata dal resolver all’utente che aveva effettuato la richiesta2 modalità di risoluzione dei nomi:– ricorsiva (il NS pensa a tutto)– iterativa (il resolver si rivolge direttamente ai vari NS della

catena)

Page 33: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Indice degli ArgomentiIndice degli Argomenti

Domain Name System

Piattaforme Hardware e Software

Page 34: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

PiattaformePiattaforme

hardware– disponibile su quasi tutte le attuali piattaforme

(PC, Macintosh, workstation, mainframe)

software– l prodotti di pubblico dominio (BIND per Unix e

WinNT/Win95, MIND/NonSequitur per MacOS)

– prodotti commerciali (MacDNS, QuickDNS Pro, distribuzione di Win 2000/2003)

Page 35: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

BIND (Berkeley Internet Name Domain)è l’implementazione di nameserver più diffusa su Internet

sviluppata per Unix BSD, ne esistono porting per molti altri ambienti

spesso ne è inclusa una implementazione nel software di corredo di piattaforme Unix– vi sono attualmente tre versioni:

la versione “storica” 4.x.y (l’ultima rilasciata è la 4.9.7)

la versione 8.x.y (l’ultima rilasciata è la 8.2.2-P7)

la versione 9.x.y, ancora in fase di evoluzione

Page 36: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DifferenzeDifferenze

File di configurazione– named.boot (4.x.y)

formato ormai in uso da anniconsente solo alcune “personalizzazioni” generali

– named.conf (8.x.y)nuovo formato (stile linguaggio c)funziona con IPv6 (http://www.6bone.net)consente una personalizzazione completa sia generale chezona per zona

Esiste una procedura perl (named-bootconf.pl) per la conversione dal formato 4.x.y al formato 8.x.yRimangono inalterati i file delle singole zone

Page 37: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Versione 8.x.yVersione 8.x.y

meccanismo del notify– permette l’aggiornamento quasi in tempo reale tra nameserver

primario e secondari

meccanismo di logging flessibile e personalizzabile, senza uso obbligato del logging del sistema (syslog)controllo degli accessi personalizzabile per zonamigliore ottimizzazione della memoria centrale– migliora notevolmente le prestazioni del servizio, specialmente

per implementazioni con molte zone attive sulla stessa macchina

numero max di zone incrementato a 4.294.967.295 (232 )supporto iniziale di DNSSECsupporto di WindowsNTupdate dinamico (NSUPDATE) e incrementale (IXFR)

Page 38: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Caratteristiche di BIND 9Caratteristiche di BIND 9

Miglioramento delle funzionalità di update dinamico

Supporto per zone di elevate dimensioni (.com)

Miglioramento funzionalità DNSSec/TSIG

Miglioramento funzionalità IXFR

RNDC - Remote Named Daemon Control

Page 39: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Differenze con 8.x.yDifferenze con 8.x.y

Nuove categorie di logging; il logging viene attivato solo dopo il parsing completo di named.confAssenza delle opzioni: $GENERATE, STATISTICSINTERVAL, TOPOLOGY, SORTLIST, RRSET-ORDER, CHECK-NAMES,MIN-ROOTS, process limits, file path, selective forwardingFunzione di ‘resolver’ implementata da un processo demone (UDP/921) invece che da libresolv.aunamed-xfer integrato in namedSistema operativo WindowsNT non supportato

Page 40: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

ConfigurazioneConfigurazione

File NecessariFile Necessari– il file named.boot/named.conf– il file named.local– il file named.root– i file per la risoluzione diretta– i file per la risoluzione inversa

Page 41: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

InstallazioneInstallazione

Pacchetto Bind-8.4.2Pacchetto Bind-8.4.2– www.isc.orgwww.isc.org

InstallazioneInstallazione

Configurazione con bindconf o redhat-Configurazione con bindconf o redhat-config-bindconfig-bind

Page 42: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Configurazione: redhat-config-bindConfigurazione: redhat-config-bind

Page 43: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Configurazione: zona direttaConfigurazione: zona diretta

Page 44: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Configurazione: zona direttaConfigurazione: zona direttaNomeNome — nome di dominio appena inserito nella finestra precedente. — nome di dominio appena inserito nella finestra precedente. Nome del fileNome del file — nome del file di database del DNS, relativo a /var/named. — nome del file di database del DNS, relativo a /var/named. È preimpostato sul nome di dominio con estensione .zone. È preimpostato sul nome di dominio con estensione .zone. ContattoContatto — indirizzo e-mail del contatto principale per la zona master. — indirizzo e-mail del contatto principale per la zona master. Server di nomi primario (SOA)Server di nomi primario (SOA) — specifica il nome di server primari per — specifica il nome di server primari per questo dominio. questo dominio. Numero serialeNumero seriale — numero seriale del file database del DNS. Questo valore — numero seriale del file database del DNS. Questo valore può essere aumentato ogni volta che il file viene modificato, in modo che i può essere aumentato ogni volta che il file viene modificato, in modo che i server di nomi slave per la zona ricevano i dati più aggiornati. Lo server di nomi slave per la zona ricevano i dati più aggiornati. Lo Strumento di configurazione BindStrumento di configurazione Bind aumenta questo numero ogni volta che aumenta questo numero ogni volta che cambia la configurazione. Tale valore può anche essere aumentato cambia la configurazione. Tale valore può anche essere aumentato manualmente, facendo clic sul pulsante manualmente, facendo clic sul pulsante ImpostaImposta accanto al valore accanto al valore Numero Numero serialserial. . Impostazioni oraImpostazioni ora — comprende i valori TTL (Time to Live) — comprende i valori TTL (Time to Live) AggiornaAggiorna, , RiprovaRiprova, , ScadenzaScadenza e e MinimoMinimo memorizzati nel file database del DNS. Tutti i memorizzati nel file database del DNS. Tutti i valori sono espressi in secondi. valori sono espressi in secondi. RegistrazioneRegistrazione — aggiunge, modifica e cancella le risorse dei record — aggiunge, modifica e cancella le risorse dei record HostHost, , AliasAlias e e Server di nomiServer di nomi

Page 45: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

File Creati: File Creati: named.conf e forward.example.com.zonenamed.conf e forward.example.com.zone

Page 46: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Configurazione: zona inversaConfigurazione: zona inversa

Page 47: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Configurazione: zona inversaConfigurazione: zona inversaIndirizzo IPIndirizzo IP — i primi tre ottetti appena inseriti nella finestra precedente. — i primi tre ottetti appena inseriti nella finestra precedente. Indirizzo IP inversoIndirizzo IP inverso — non modificabile. Compilato in base all'indirizzo IP inserito. — non modificabile. Compilato in base all'indirizzo IP inserito. ContattoContatto — indirizzo e-mail del contatto principale per la zona master. — indirizzo e-mail del contatto principale per la zona master. Nome del fileNome del file — nome del file database del DNS nella directory /var/named. — nome del file database del DNS nella directory /var/named. Server di nomi primario (SOA)Server di nomi primario (SOA) — specifica il nome di server primari per questo — specifica il nome di server primari per questo dominio. dominio. Numero serialNumero serial — numero seriale del file database del DNS. Questo valore può — numero seriale del file database del DNS. Questo valore può essere aumentato ogni volta che il file viene modificato, in modo che i server di nomi essere aumentato ogni volta che il file viene modificato, in modo che i server di nomi slave per la zona ricevano i dati più aggiornati. Lo slave per la zona ricevano i dati più aggiornati. Lo Strumento di configurazione Strumento di configurazione BindBind aumenta questo numero ogni volta che cambia la configurazione. Tale valore aumenta questo numero ogni volta che cambia la configurazione. Tale valore può anche essere aumentato manualmente, facendo clic sul pulsante può anche essere aumentato manualmente, facendo clic sul pulsante ImpostaImposta accanto al valore accanto al valore Numero serialNumero serial. . Impostazioni oraImpostazioni ora — comprende i valori TTL (Time to Live) — comprende i valori TTL (Time to Live) RefreshRefresh, , RetryRetry, , ExpireExpire e e MinimumMinimum memorizzati nel file database del DNS. memorizzati nel file database del DNS. Server di nomiServer di nomi — aggiunge, modifica e cancella i server di nomi per la zona master — aggiunge, modifica e cancella i server di nomi per la zona master inversa. È richiesto almeno un server di nomi. inversa. È richiesto almeno un server di nomi. Tabella degli indirizzi inversiTabella degli indirizzi inversi — lista degli indirizzi IP entro la zona master inversa e — lista degli indirizzi IP entro la zona master inversa e i nomi di host. Per esempio, per la zona master inversa 192.168.10, potete i nomi di host. Per esempio, per la zona master inversa 192.168.10, potete aggiungere 192.168.10.1 nella aggiungere 192.168.10.1 nella Tabella degli indirizzi inversiTabella degli indirizzi inversi con il nome host con il nome host one.example.com. Il nome deve terminare con un (.) per indicare che si tratta di un one.example.com. Il nome deve terminare con un (.) per indicare che si tratta di un nome di host completonome di host completo

Page 48: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

File Creati: File Creati: named.conf e 10.168.192.in-addr.arpa.zonenamed.conf e 10.168.192.in-addr.arpa.zone

Page 49: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Alcune RegoleAlcune Regole

tutto quello che si trova dopo il carattere “;” è un commentoil carattere “@” è sinonimo del dominio dichiarato nella istruzione primary/master del file named.boot/named.confil carattere “*” è una wildcardtutti i nomi degli host specificati in un RR (eccetto i PTR) possono essere scritti in notazione assoluta (con il punto “.” finale) oppure in notazione relativa (appende al nome della macchina quanto dichiarato nella istruzione primary/master del file named.boot/named.conf

Page 50: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Named.BootNamed.Boot

il file named.boot è il file di configurazione principale per il funzionamento del processo nameserver nella versione 4.x.ydefinisce la directory in cui si trovano gli altri file necessari al funzionamento del nameserver (directory)definisce l’ordine con cui verranno restituiti gli indirizzi delle singole macchine (sortlist)definisce quali sono i nameserver che possono prelevare le zone per cui il nameserver è autoritativo (xfernets)definisce l’interfaccia locale della macchina su cui il processo nameserver è attivodefinisce i domini per i quali il nameserver è autoritativo (primary e secondary)definisce i riferimenti ai root nameserver (cache)

Page 51: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Named.ConfNamed.Confil file named.conf è il file di configurazione principale per il funzionamento del processo nameserver nella versione 8.x.ydefinisce la directory in cui si trovano gli altri file necessari al funzionamento del nameserver (directory)definisce la raccolta dei dati statistici relativi al processo nameserver (statisticsinterval)definisce l’ordine con cui verranno restituiti gli indirizzi delle singole macchine (topology)definisce quali sono i nameserver che possono prelevare le zone per cui il nameserver è autoritativo (allow-transfer)definisce il livello e la distribuzione dei “log” prodotti dal processo nameserver senza dover necessariamente il syslog del sistema (logging/channel/category)definisce l’interfaccia locale della macchina su cui il processo nameserver è attivodefinisce i domini per i quali il nameserver è autoritativo (master e slave)definisce i riferimenti ai root nameserver (hint)

Page 52: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Esempio named.bootEsempio named.boot

Page 53: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Esempio named.confEsempio named.conf

Page 54: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Esempio named.confEsempio named.conf

Page 55: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

named.localnamed.local

Page 56: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

named.rootnamed.root

Page 57: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

I root serverI root server

La corrispondenza fra nomi e numeri è distribuita su numerosi La corrispondenza fra nomi e numeri è distribuita su numerosi computer, tuttavia il sistema DNS risiede tutto in soli 13 computer, i computer, tuttavia il sistema DNS risiede tutto in soli 13 computer, i nostri famosi root server. 10 di questi server si trovano nostri famosi root server. 10 di questi server si trovano negli Stati Uniti, 2 in Europa (Londra e Stoccolma) e uno a Tokio. negli Stati Uniti, 2 in Europa (Londra e Stoccolma) e uno a Tokio. Ecco la lista dei server, con relativo indirizzo IP: Ecco la lista dei server, con relativo indirizzo IP:

A.ROOT-SERVERS.NET. IP=198.41.0.4 A.ROOT-SERVERS.NET. IP=198.41.0.4 B.ROOT-SERVERS.NET. IP=128.9.0.107 B.ROOT-SERVERS.NET. IP=128.9.0.107 C.ROOT-SERVERS.NET. IP=192.33.4.12 C.ROOT-SERVERS.NET. IP=192.33.4.12 D.ROOT-SERVERS.NET. IP=128.8.10.90 D.ROOT-SERVERS.NET. IP=128.8.10.90 E.ROOT-SERVERS.NET. IP=192.203.230.10 E.ROOT-SERVERS.NET. IP=192.203.230.10 F.ROOT-SERVERS.NET. IP=192.5.5.241 F.ROOT-SERVERS.NET. IP=192.5.5.241 G.ROOT-SERVERS.NET. IP=192.112.36.4 G.ROOT-SERVERS.NET. IP=192.112.36.4 H.ROOT-SERVERS.NET. IP=128.63.2.53 H.ROOT-SERVERS.NET. IP=128.63.2.53 I.ROOT-SERVERS.NET. IP=192.36.148.17 I.ROOT-SERVERS.NET. IP=192.36.148.17 J.ROOT-SERVERS.NET. IP=198.41.0.10 J.ROOT-SERVERS.NET. IP=198.41.0.10 K.ROOT-SERVERS.NET. IP=193.0.14.129 K.ROOT-SERVERS.NET. IP=193.0.14.129 L.ROOT-SERVERS.NET. IP=198.32.64.12 L.ROOT-SERVERS.NET. IP=198.32.64.12 M.ROOT-SERVERS.NET. IP=202.12.27.33M.ROOT-SERVERS.NET. IP=202.12.27.33

Page 58: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

File per la risoluzione direttaFile per la risoluzione diretta

il file per la risoluzione diretta contiene i riferimenti necessari all’associazione tra i nomi delle macchine appartenenti ad una zona ed i loro indirizzi IPl’associazione è fatta mediante specifici record che descrivono le caratteristiche e le funzionalità del dominio e delle macchine che gli appartengonoI più importanti ed utilizzati sono:– SOA– NS– MX– A– CNAME– HINFO– TXT

Page 59: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DescrittoriDescrittori

Page 60: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record SOARecord SOA

il record SOA (Start Of Authority) definisce qual’è la macchina su cui è attivo il nameserver primario per il dominio ed alcuni “parametri di funzionamento” dei nameserver secondariLa sintassi con cui deve essere scritto è la seguente:

<dominio> IN SOA <host> <e-mail dns manager> (<numero progressivo> ;file Version<tempo in secondi> ;Refresh<tempo in secondi> ;Retry<tempo in secondi> ;Expire<tempo in secondi> ;Default

)

Page 61: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record SOARecord SOA

Page 62: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record SOARecord SOA

dominiodominio  classeclasse SOA  SOA servente_primarioservente_primario  contattocontatto (  (                                 numero_serialenumero_seriale                                 refreshrefresh                                 retryretry                                 expireexpire                                 minimumminimum )  ) dominiodominio: dominio di origine.: dominio di origine.classeclasse: classe di indirizzamento, rappresentata : classe di indirizzamento, rappresentata generalmente dalla sigla IN (generalmente dalla sigla IN (InternetInternet).).servente_primarioservente_primario:: il nome canonico dell'elaboratore che il nome canonico dell'elaboratore che svolge la funzione di servente DNS primario per il svolge la funzione di servente DNS primario per il dominio indicato all'inizio del record.dominio indicato all'inizio del record.contattocontatto: l'indirizzo di posta elettronica della persona : l'indirizzo di posta elettronica della persona responsabile per la gestione del servizio, sostituendo il responsabile per la gestione del servizio, sostituendo il simbolo @ con un punto.simbolo @ con un punto.

Page 63: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record SOARecord SOA

numero_serialenumero_seriale: il numero di serie per i server DNS : il numero di serie per i server DNS secondari che devono sapere quando i dati sono stati secondari che devono sapere quando i dati sono stati modificati. Il numero modificati. Il numero devedeve essere progressivo e può essere progressivo e può contenere al massimo 10 cifre numeriche.contenere al massimo 10 cifre numeriche.refreshrefresh: l'intervallo in secondi tra una verifica e la : l'intervallo in secondi tra una verifica e la successiva da parte di un server DNS secondario per successiva da parte di un server DNS secondario per determinare se i dati sono stati modificati.determinare se i dati sono stati modificati.retryretry: l'intervallo in secondi tra una tentativo fallito di : l'intervallo in secondi tra una tentativo fallito di accedere al server DNS e il successivo.accedere al server DNS e il successivo.expireexpire: durata massima di validità dei dati, espressa in : durata massima di validità dei dati, espressa in secondi, quando il server DNS secondario non riesce più secondi, quando il server DNS secondario non riesce più a raggiungere quello primario.a raggiungere quello primario.minimumminimum: il tempo predefinito di validità, espresso in : il tempo predefinito di validità, espresso in secondi, per gli altri record di risorsa.secondi, per gli altri record di risorsa.

Page 64: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record SOARecord SOA

Servono a definire i tempi che devono essere Servono a definire i tempi che devono essere considerati accettabili per la durata di una considerati accettabili per la durata di una richiesta gestita dal server, eventuali timeout per richiesta gestita dal server, eventuali timeout per l'attesa di risposte da altri server l'attesa di risposte da altri server

Il valore del campo Il valore del campo SerialSerial viene infatti utilizzatto viene infatti utilizzatto nella comunicazione con i server secondari per nella comunicazione con i server secondari per stabilire la presenza di eventuali aggiornamenti stabilire la presenza di eventuali aggiornamenti ed attivare eventuali trasferimenti per il nuovo ed attivare eventuali trasferimenti per il nuovo file di zona file di zona

Page 65: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record NSRecord NS

i record NS (NameServer) definiscono quali sono i nameserver autoritativi per il dominio (è fortemente consigliato averne almeno due per ogni dominio, in certi casi è obbligatorio)

l devono essere specificati sia il nameserver primario che tutti i nameserver secondari

Page 66: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record NSRecord NS

Page 67: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record MXRecord MX

l il record MX (Mail eXchanger) definisce qual’è il Mail eXchanger per il dominio o per la singola macchina

è possibile avere più record MX sia per il dominio che per una singola macchina

Page 68: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record MXRecord MX

Page 69: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record ARecord A

Page 70: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record HinfoRecord Hinfo

Page 71: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record TXTRecord TXT

Page 72: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record CNAMERecord CNAME

Page 73: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

File per la risoluzione inversaFile per la risoluzione inversa

il file per la risoluzione inversa contiene i riferimenti necessari all’associazione tra gli indirizzi IP delle macchine ed il loro nomel’associazione è fatta mediante specifici record che descrivono le caratteristiche e le funzionalità del dominio e delle macchine che gli appartengonoI più importanti ed utilizzati sono:– SOA– NS– PTR– CNAME

Page 74: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Record PTRRecord PTR

Page 75: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Interazione DNS e MAILInterazione DNS e MAIL

l’instradamento della posta su Internet si basa sulle interazioni tra mailer (MTA) SMTP e DNS

per ogni destinatario di un messaggio il mailer SMTP chiede al DNS la lista di RR di tipo MX per il nome a dominio specificato nella parte globale

i record MX costituiscono una lista ordinata, secondo la preferenza, di mailer (MTA) per il dominio (host) destinazione

Page 76: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Interazione DNS e MAILInterazione DNS e MAIL

Page 77: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Regole per la SicurezzaRegole per la Sicurezza

Alcune regole pratiche per migliorare il livello di sicurezza di un named:– restringere lo zone-transfer solo ai nameserver

secondari e verificare che tali restrizioni siano attivate anche su tutti gli altri nameserver autoritativi

– disabilitare la possibilità di effettuare update dinamici (nsupdate)

– disabilitare la ricorsione– eseguire named senza i privilegi di root (named -u

xxx)– nel caso di utilizzo di un firewall per proteggere una

rete, predisporre un nameserver esterno con le sole informazioni relative alle macchine visibili su Internet (es. www server, mail server, etc) e uno interno, utilizzabile solo dalle macchine locali, con le informazioni complete della zona.

Page 78: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

Utility di SupportoUtility di Supporto

Utility di supporto nella gestione di supporto nella gestione di un di un nameserver– nslookup– host– dig– dnswalk– ndc– nsupdate

Page 79: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

NslookupNslookup

è normalmente distribuito insieme al S.O. o alla distribuzione di BINDsi può utilizzare sia in modalità interattiva che tramite riga di comandodispone di aiuto in linea– nslookup

Default Server: dns.iat.cnr.itAddress: 146.48.65.3>> set q=any> www.iat.cnr.it> www.iat.cnr.it canonical name = soi.cnr.it

Page 80: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

NslookupNslookup

Page 81: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

HostHost

è incluso nella distribuzione di BIND ed è inoltre reperibile presso: ftp://ftp.nikhef.nl/pub/network/host.tar.Znon è interattivo: si utilizza da linea di comandopermette di fare interrogazioni complesse a qualsiasi nameserverè dotato di aiuto in linea– host– host -i 146.48.65.3– host -av cnr.it nameserver.cnr.it– host -avl cnr.it nameserver.cnr.it– host -t soa cnr.it– host -C cnr.it

Page 82: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

HostHost

Page 83: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DigDig

è incluso nella distribuzione di BINDnon è interattivo; si utilizza da linea di comandopermette di fare interrogazioni complesse ed a qualsiasi nameserverè dotato di aiuto in linea– dig -h– dig dns.iat.cnr.it– dig dns.iat.cnr.it mx– dig -x 146.48.65.3– dig @nameserver.cnr.it cnr.it

Page 84: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DigDig

Page 85: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DNSWalkDNSWalk

DNS debuggerEsegue il trasferimento di zona di un dominio e ne controlla la consistenza dei dati (record NS e MX che corrispondono a CNAME, catena di CNAME, mancanza della risoluzione inversa, ecc.)Riproduce sul file system la struttura del DNS per il dominio controllatoFa parte dei contrib del BIND (disponibile anche su http://www.visi.com/~barr/dnswalk/)Necessita del perl e di alcuni moduli addizionali (Net::DNS e IO::Socket). Le vecchie versioni di dnswalk necessitano anche di ‘dig’

Page 86: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DNSWalkDNSWalk

Effettua controlli su:– associazione tra record A e PTR– uso dei CNAME (es. CNAME definito verso un altro

CNAME)– uso dei record MX (MX definito verso CNAME o host

inesistenti)– presenza di un solo nameserver– utilizzo di caratteri non validi nei nomi a dominio (es:

‘_’ )– assenza del ‘.’ finale nei record PTR (125 IN PTR

host.cnr.it )

Page 87: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

DNSWalkDNSWalk

Page 88: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

NDCNDC

Page 89: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

NsupdateNsupdate

Page 90: Lezione 7 Sessione A Servizi Internet di base: Domain Name System.

BibliografiaBibliografiaDNS and BIND, 3rd Edition (Paul Albitz & Cricket Liu, September 1998)RFC 882 - Domain Names, Concepts and Facilities (P. Mockapetris, Sep 1983)RFC 883 - Domain Names, Implementation and Specification (P. M., Nov 1983)RFC 973 - Domain System Changes and Observations (P. M., Jan 1986)RFC 974 - Mail Routing and the Domain System (C. Partridge, Jan 1986)RFC 1034 - Domain Names, Concepts and Facilities (P. M., Nov 1987)RFC 1035 - Domain Names, Implementation and Specification (P. M., Nov 1987)RFC 1123 - Requirements for Internet Hosts, Application and Support (IETF, Oct 1989)RFC 1340 - Assigned Numbers (ISI, Jul 1992)RFC 1537 - Common DNS Data File Configuration Errors (P. Beertema, Oct 1993)RFC 1591 - Domain Name System Structure and Delegation (J. Postel, Mar 1994)RFC 1713 - Tools for DNS debugging (A. Romao, Nov 1994)RFC 1912 - Common DNS Operational and Configuration Errors (D. Barr, Feb 1996)RFC 2317 - Classless IN-ADDR.ARPA delegation (BSD - ISC, Mar 1998)