1 / 90

Lezione 7 Sessione A

Lezione 7 Sessione A. Servizi Internet di base: Domain Name System. Indice degli Argomenti. Domain Name System Piattaforme Hardware e Software. Nomi e Indirizzi. Nomi e Indirizzi. Modelli.

chiku
Download Presentation

Lezione 7 Sessione A

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Indice degli Argomenti • Domain Name System • Piattaforme Hardware e Software

  3. Nomi e Indirizzi

  4. Nomi e Indirizzi

  5. Modelli • Gli indirizzi IP sono difficili da ricordare: vanno bene per la comunicazione tra le macchine • Modello 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 centrale • collisioni dei nomi • consistenza dei dati gestiti centralmente

  6. 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

  7. Funzionamento

  8. Funzionamento

  9. DNS • 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

  10. DNS • 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

  11. Caratteristiche 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)

  12. Lo 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

  13. Lo 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)

  14. L’Albero dei nomi

  15. L’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

  16. Gerarchia dei nomi

  17. Gerarchia dei nomi • per dominiosi intende il sottoalbero che inizia dal nodo con il nome a dominio in questione • di solito, le foglie rappresentano il nome a dominio di un host • ai nodi sono associate le informazioni relative a quel nome a dominio (RR) • entry di host • entry strutturali

  18. Internet Domain Name System • lo spazio dei nomi di Internet, per “tradizione” (rfc1591), è strutturato secondo un modello misto organizzazionale/geografico • i Top-Level-Domain sono • domini 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 arpa • nuovi domini in corso di definizione: .info, …

  19. Internet Domain Name System

  20. L’albero della Risoluzione Inversa

  21. 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 delega • il gestore del dominio “.” è InterNIC (per conto dello IANA/ICANN), che delega l’autorità per la gestione dei TLD

  22. LA ZONA • le informazioni sono mantenute nei nameserver • un nameserver mantiene i dati di un sottoinsieme dello spazio dei nomi: la zona • ogni zonapuò essere un sottodominio completo, cioè comprendere vari domini su una porzione dell’albero non disgiunta • un nameserver può gestire più zone disgiunte • il dominio padre contiene solo puntatori alla sorgente dei dati dei suoi sottodomini • ciascuna zona contiene i nomi a dominio e i dati appartenenti ad certo dominio, esclusi i nomi e i dati dei sottodomini delegati ad altri

  23. Nameserver • la struttura gerarchica dello spazio dei nomi si riflette nella relazione tra i nameserver • il 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

  24. Parenting • 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?

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

  26. Root-Server • root-serversono 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 gestione • contengono le informazioni per la risoluzione inversa (risoluzione indirizzo-nome) • ogni nameserver deve conoscere nomi ed indirizzi dei root-server • la lista aggiornata dei root-server è mantenuta da InterNIC • ftp://ftp.rs.internic.net/domain/named.root • ftp://ftp.nic.it/pub/DNS/named.root

  27. Nameserver Autoritativo • un nameserver si definisce autoritativo quando è “in possesso dei dati” per una determinata zona dell’albero dei nomi • per 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

  28. Nameserver Primari e Secondari • un nameserver si definisce primarioquando possiede i file delle informazioni (“file di zona”) e pertanto in ogni zona vi sarà un solo nameserver primario • un nameserver si definisce secondarioquando 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

  29. Cache • ogni nameserver mantiene copia di tutte le informazioni di cui è venuto a conoscenza • tali informazioni sono utilizzate durante il processo di risoluzione dei nomi • le 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)

  30. Processo 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)

  31. Processo di Risoluzione dei Nomi

  32. Processo di Risoluzione dei Nomi • Se il nome desiderato non è nella zona (o nella cache) del NS interrogato, si innesca il processo di risoluzione dei nomi • La 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 RR • La risposta, opportunamente salvata in tutti i cache intermedi, viene infine passata dal resolver all’utente che aveva effettuato la richiesta • 2 modalità di risoluzione dei nomi: • ricorsiva (il NS pensa a tutto) • iterativa (il resolver si rivolge direttamente ai vari NS della catena)

  33. Indice degli Argomenti • Domain Name System • Piattaforme Hardware e Software

  34. Piattaforme • 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)

  35. 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

  36. Differenze • File di configurazione • named.boot (4.x.y) • formato ormai in uso da anni • consente 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.y • Rimangono inalterati i file delle singole zone

  37. Versione 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 zona • migliore 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 DNSSEC • supporto di WindowsNT • update dinamico (NSUPDATE) e incrementale (IXFR)

  38. Caratteristiche 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

  39. Differenze con 8.x.y • Nuove categorie di logging; il logging viene attivato solo dopo il parsing completo di named.conf • Assenza delle opzioni: $GENERATE, STATISTICSINTERVAL, TOPOLOGY, SORTLIST, RRSET-ORDER, CHECK-NAMES,MIN-ROOTS, process limits, file path, selective forwarding • Funzione di ‘resolver’ implementata da un processo demone (UDP/921) invece che da libresolv.a • unamed-xfer integrato in named • Sistema operativo WindowsNT non supportato

  40. Configurazione • File 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

  41. Installazione • Pacchetto Bind-8.4.2 • www.isc.org • Installazione • Configurazione con bindconf o redhat-config-bind

  42. Configurazione: redhat-config-bind

  43. Configurazione: zona diretta

  44. Configurazione: zona diretta • Nome — nome di dominio appena inserito nella finestra precedente. • Nome del file — nome del file di database del DNS, relativo a /var/named. È preimpostato sul nome di dominio con estensione .zone. • Contatto — indirizzo e-mail del contatto principale per la zona master. • Server di nomi primario (SOA) — specifica il nome di server primari per questo dominio. • Numero seriale — 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 slave per la zona ricevano i dati più aggiornati. Lo Strumento di configurazione Bind aumenta questo numero ogni volta che cambia la configurazione. Tale valore può anche essere aumentato manualmente, facendo clic sul pulsante Imposta accanto al valore Numero serial. • Impostazioni ora — comprende i valori TTL (Time to Live) Aggiorna, Riprova, Scadenza e Minimo memorizzati nel file database del DNS. Tutti i valori sono espressi in secondi. • Registrazione — aggiunge, modifica e cancella le risorse dei record Host, Alias e Server di nomi

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

  46. Configurazione: zona inversa

  47. Configurazione: zona inversa • Indirizzo IP — i primi tre ottetti appena inseriti nella finestra precedente. • Indirizzo IP inverso — non modificabile. Compilato in base all'indirizzo IP inserito. • Contatto — indirizzo e-mail del contatto principale per la zona master. • Nome del file — nome del file database del DNS nella directory /var/named. • Server di nomi primario (SOA) — specifica il nome di server primari per questo dominio. • Numero serial — 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 slave per la zona ricevano i dati più aggiornati. Lo Strumento di configurazione Bind aumenta questo numero ogni volta che cambia la configurazione. Tale valore può anche essere aumentato manualmente, facendo clic sul pulsante Imposta accanto al valore Numero serial. • Impostazioni ora — comprende i valori TTL (Time to Live) Refresh, Retry, Expire e Minimum memorizzati nel file database del DNS. • Server di nomi — aggiunge, modifica e cancella i server di nomi per la zona master inversa. È richiesto almeno un server di nomi. • Tabella degli indirizzi inversi — 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 aggiungere 192.168.10.1 nella Tabella degli indirizzi inversi con il nome host one.example.com. Il nome deve terminare con un (.) per indicare che si tratta di un nome di host completo

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

  49. Alcune Regole • tutto quello che si trova dopo il carattere “;” è un commento • il carattere “@” è sinonimo del dominio dichiarato nella istruzione primary/master del file named.boot/named.conf • il carattere “*” è una wildcard • tutti 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

  50. Named.Boot • il file named.boot è il file di configurazione principale per il funzionamento del processo nameserver nella versione 4.x.y • definisce 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 è attivo • definisce i domini per i quali il nameserver è autoritativo (primary e secondary) • definisce i riferimenti ai root nameserver (cache)

More Related