Amministrazione di reti di calcolatori - Massimo Bertozzi Domain Name System
Amministrazione di reti di calcolatori - Massimo Bertozzi motivazioni ✗ gestione servizi internet ✗ hosting o housing ✗ rete nascosta ✗ gestione servizi rete locale (posta,...) ✗ spesso fornito da terzi
Amministrazione di reti di calcolatori - Massimo Bertozzi cosa fornisce il DNS? ✗ risoluzione IP mnemonico ✗ database distribuito ✗ supporto posta elettronica ✗ protocollo per dialogare con altri DNS
Amministrazione di reti di calcolatori - Massimo Bertozzi struttura ✗ dominio internet ✗ ce.unipr.it ✗ non confondere con reti IP ✗ maiuscolo/minuscolo irrilevante ✗ albero di domini ✗ root ->. ✗ top level domain ✗.com ✗.edu ✗.it ✗...
Amministrazione di reti di calcolatori - Massimo Bertozzi struttura (2) ✗ un name server può essere: ✗ authorative - non-authorative ✗ master – slave (stub) ✗ caching - forwarder
Amministrazione di reti di calcolatori - Massimo Bertozzi authorative o non authorative ✗ database distribuito ✗ piú server ✗ informazione può viaggiare ✗ server che informa non necessariamente origine dei dati
Amministrazione di reti di calcolatori - Massimo Bertozzi tipologie differenti ✗ alcune tipologie ✗ master: sede dell'informazione ✗ slave: replica l'informazione ✗ stub: replica parte dell'informazione ✗ attenzione, differente da authorative
Amministrazione di reti di calcolatori - Massimo Bertozzi cache e ricorsione ✗ cache ✗ aumenta l'efficienza ✗ timeout ✗ in origine solo per domande corrette ✗ ricorsione ✗ il server si fa carico della domanda ✗ solo per server non oberati
Amministrazione di reti di calcolatori - Massimo Bertozzi funzionamento (esempio) ✗ il processo cambia a seconda della situazione cache ✗ macchina locale interroga proprio server ✗ server locale interroga root server (.) ✗ root server fornisce server per il TLD ✗ server locale interroga TLD ✗... ✗ risposta e dati server in cache del server locale
Amministrazione di reti di calcolatori - Massimo Bertozzi installazione ✗ rete: ✗ scegliere/ottenere nome di dominio ✗ definire i name server ✗ server ✗ installare sw (named) ✗ configurare ✗ impostare l'avvio al boot ✗ compilazione zone (solo master) ✗ client ✗ /etc/resolv.conf ✗ /etc/nsswitch.conf
Amministrazione di reti di calcolatori - Massimo Bertozzi named ✗ /etc/named o /etc/bind ✗ file principali ✗ named.conf (prima named.boot) ✗ file di hint ✗ file di zone (solo master)
Amministrazione di reti di calcolatori - Massimo Bertozzi named.conf ✗ cambiata la configurazione BIND4->BIND8 ✗ definisce ✗ opzioni generali ✗ struttura gerarchica ✗ inclusioni altri file ✗ ruolo ✗ tutte le direttive finiscono con ; ✗ vedi esempio
Amministrazione di reti di calcolatori - Massimo Bertozzi bind: opzioni globali ✗ directory di funzionamento ✗ politiche accesso e ricorsione ✗ forwarders ✗ log
Amministrazione di reti di calcolatori - Massimo Bertozzi bind: opzioni globali (esempio) options { directory "/var/cache/bind"; // notify yes; // solo per i master permette di informare gli slave recursion yes; // default, abilita la ricorsione allow-recursion { ; /24; /24;}; forwarders { ; ; ; }; // reduce log verbosity on issues outside our control logging { category lame-servers { null; }; // ignora category cname { default_syslog; }; // su syslog - info category default { default_debug; }; // in named.run };
Amministrazione di reti di calcolatori - Massimo Bertozzi zone ✗ permettono la gestione dei db dei domini ✗ obbligatorie ✗. ✗ loopback diretta e inversa ✗ broadcast
Amministrazione di reti di calcolatori - Massimo Bertozzi zone (2) ✗ tipi di zona, parametro type ✗ hint: per i server di root ✗ master: gestore primo del dominio ✗ slave: gestore di backup ✗ stub: concentratore ✗ alcune già di default ✗ database coinvolto ✗ opzioni
Amministrazione di reti di calcolatori - Massimo Bertozzi zone esempi zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; };
Amministrazione di reti di calcolatori - Massimo Bertozzi zone esempi (2) zone "amministrazione.unipr.it" { type master; file "/var/cache/bind/named.amm"; allow-transfer { ;}; }; zone "ce.unipr.it" { type slave; file "/var/cache/bind/named.ce"; masters { ;}; }; zone "unipr.it" { type stub; file "/var/cache/bind/named.unipr"; masters { ;}; };
Amministrazione di reti di calcolatori - Massimo Bertozzi risoluzione diretta e inversa ✗ non solo dominio->ip ✗ funzionamento gerarchico ✗ come effettuare ip->dominio? ✗ dominio virtuale.in-addr.arpa (o ip6.arpa) ✗ occorre gestirli ✗ una sola risoluzione inversa possibile
Amministrazione di reti di calcolatori - Massimo Bertozzi zone risoluzione inversa zone " in-addr.arpa" { type slave; file "/var/cache/bind/reversenamed.ce"; masters { ;}; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; };
Amministrazione di reti di calcolatori - Massimo Bertozzi database DNS ✗ sempre file ASCII ✗ sintassi ✗ [name] [ttl] [class] record_type data ✗ name: entità coinvolta (non necessario ripetere) ✗ ATT: se finisce con. è assoluta ✗ ttl: time to live -> cache ✗ class: tipologia di rete (IN->internet default) ✗ ; commento domino corrente ✗ () spezzare righe
Amministrazione di reti di calcolatori - Massimo Bertozzi tipi di record ✗ SOA: start of authority ✗ NS: name server ✗ A: indirizzo IPv4 ✗ AAAA: indirizzo Ipv6 ✗ DNAME: redirezione (IPv6) ✗ PTR: puntatore ✗ MX: mail exchanger ✗ CNAME: nome canonico ✗ LOC: coordinate host (!) ✗ RP: responsabile ✗ SRV: servizi ✗ TXT: testo libero ✗ HINFO: hw e so Non tutti obbligatori, dipendono dalle versioni di bind
Amministrazione di reti di calcolatori - Massimo Bertozzi direttive generali ✗ $ORIGIN: dominio di default ✗ $INCLUDE: inclusione altri file ✗ $TTL: default ttl ✗ $GENERATE: iteratore
Amministrazione di reti di calcolatori - Massimo Bertozzi SOA ✗ opzioni generali zona $ORIGIN unipr.it. ce IN SOA habana.cedi.unipr.it. postmaster.habana.cedi.unipr.it. ( ; s/n: modificarlo ogni volta ; Refresh: ogni quanto gli slave controllano 1800 ; Retry: dopo quanto riprovarci ; Expire: dopo quanto rinunciano all'auth ; Minimum: expire di default per srv non auth ) ; oppure tempo di vita risposte negative
Amministrazione di reti di calcolatori - Massimo Bertozzi NS ✗ server authorative IN NS habana.cedi.unipr.it IN NS server.fis.unipr.it IN NS caio.cce.unipr.it.
Amministrazione di reti di calcolatori - Massimo Bertozzi A e AAAA ✗ A => indirizzo IPv4 Largo IN A ✗ AAAA => indirizzo IPv6 host IN AAAA 2001:db8::1 Non usare AAAA per indirizzi IPv4, ovvero: Largo IN AAAA ::ffff:
Amministrazione di reti di calcolatori - Massimo Bertozzi PTR ✗ risoluzione inversa IPv4 e IPv6 $ORIGIN in-addr.arpa. 28 IN PTR Largo.ce.unipr.it. ✗ problema: come gestire le reti partizionate sotto al byte?
Amministrazione di reti di calcolatori - Massimo Bertozzi MX ✗ gestione posta elettronica ✗ permette di definire domini solo per la posta $ORIGIN ce.unipr.it. Largo IN A IN MX 0 foresto.ce.unipr.it IN MX 10 smtpbackup.ce.unipr.it
Amministrazione di reti di calcolatori - Massimo Bertozzi CNAME ✗ nomi aggiuntivi host $ORIGIN ce.unipr.it. WWW IN CNAME Doncarlos.ce.unipr.it. vislab IN CNAME Doncarlos.ce.unipr.it.... IN CNAME Doncarlos.ce.unipr.it. Doncarlos IN A
Amministrazione di reti di calcolatori - Massimo Bertozzi CNAME (2) ✗ utilizzato anche per gestione risoluzione inversa sottoreti $ORIGIN in-addr.arpa. 1 IN CNAME IN CNAME ; oppure $GENERATE 0-63 $ CNAME $ IN CNAME IN NS dnsserver.cliente1.com IN NS dnsserver.cliente2.org ✗ una ricerca per in-addr.arpa verrà reindirizzata su in-addr.arpa il cui server è dnsserver.cliente1.com
Amministrazione di reti di calcolatori - Massimo Bertozzi SRV ✗ risoluzione servizi ✗ adatto per bilanciamento accessi (se no CNAME) ✗ service.proto.domainname [ttl] IN SRV pri wt port target ✗ pri e wt sono utilizzati per bilanciare l'accesso su piú server ftp.tcp IN SRV ftp.ce.unipr.itftp.ce.unipr.it ssh.tcp IN SRV foresto.ce.unipr.it IN SRV aida.ce.unipr.it
Amministrazione di reti di calcolatori - Massimo Bertozzi TXT/HINFO ✗ commenti e informazioni hw/so ✗ si devono usare le “” Ecate IN TXT IN HINFO "Pentium2 400MHz" "Linux” IN A
Amministrazione di reti di calcolatori - Massimo Bertozzi collegamenti tra zone ✗ glue record ✗ solo per sottodomini $ORIGIN unipr.it. cedi IN NS habana.cedi.unipr.it. ; non basta! chi è cedi.unipr.it? habana.cedi IN A
Amministrazione di reti di calcolatori - Massimo Bertozzi (R)NDC ✗ permette controllo e gestione bind ✗ reload di zone ✗ dump richieste ✗ dump statistiche ✗...
Amministrazione di reti di calcolatori - Massimo Bertozzi aggiornamento zone ✗ modificare file ✗ aggiornare seriale! ✗ rndc reload ✗ se notify è disattivato va fatto anche per gli slave
Amministrazione di reti di calcolatori - Massimo Bertozzi DNS dinamico ✗ esigenza per indirizzi dinamici ✗ DHCP ✗ connessioni modem/ADSL ✗ soluzioni: ✗ predefinire IN A generici ✗ collegare DHCP e DNS
Amministrazione di reti di calcolatori - Massimo Bertozzi DDNS: passi 1. impostare crittografia tra server DHCP e DNS 2. configurare DNS server 3. configurare DHCP server 4. configurare client DHCP
Amministrazione di reti di calcolatori - Massimo Bertozzi DDNS: lato server ✗ parametro allow-update ✗ elenco host ✗ chiave ✗ entrambi ✗ dnskeygen -H 128 -h -n nome_chiave (B8) ✗ BIND9: update-policy ✗ controllo piú fine
Amministrazione di reti di calcolatori - Massimo Bertozzi DDNS: server DNS key dhcpsrv.ce.unipr.it. { algorithm HMAC-MD5; secret "... =="; }; // metterla in un file separato! zone "amm.unipr.it" { type master; file "named.amm"; allow-update { key dhcpsrv.ce.unipr.it.; };
Amministrazione di reti di calcolatori - Massimo Bertozzi DNS: server DHCP /etc/named.conf option ddns-update-style interim; key dhcpsrv.ce.unipr.it { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret “... ==”; }; zone amm.unipr.it. { primary ; key dhcpsrv.ce.unipr.it; };
Amministrazione di reti di calcolatori - Massimo Bertozzi DDNS: client DHCP ✗ anche il client va configurato ✗ deve fornire nome e dominio ✗ /etc/dhclient.conf ✗ opzioni *fqdn*
Amministrazione di reti di calcolatori - Massimo Bertozzi DDNS: conclusioni ✗ il server DNS sovrascrive i file di zona ✗ utilizzo dominio separato ✗ crittografia utilizzabile per master-slave
Amministrazione di reti di calcolatori - Massimo Bertozzi Distribuzione Carico ✗ approccio vero: utilizzo RR SRV ✗ si delega al client! ✗ possibilità multipli A o CNAME ✗ parametro rrset-order ✗ google: round robin su NS rrset-order { class IN type A name "host.example.com" order random; order cyclic; };
Amministrazione di reti di calcolatori - Massimo Bertozzi DNS: esempio