Domain Name System DNS is a name resolution protocol. It converts host names to IP addresses and vice-versa Seminario per il corso di Reti di calcolatori e sicurezza corso di laurea specialistica in Economia Informatica Docente Prof. Stefano Bistarelli Studente Bruno Marien AA2004/05 Esercizi e seminari • Scoprire per quali messaggi DNS usa la porta 53 e il TCP (invece che l’UDP) • Seminario su configurazioni del DNS • Seminario su DNSSEC (due persone) dopo che abbiamo fatto crittografia (novembre) – www.dnssec.net From: "Stefano Bistarelli" <[email protected]> To: "Bruno" <[email protected]> Date: Tue, 12 Oct 2004 12:48:16 +0200 Devi parlare di quello non fatto a lezione. Le slide fino alla 15 devono essere solo 1 slide di introduzione. Mi pare ancora molto nebuloso. Fai vedere configurazione di resolver (su window e linux) e del nameserver (su linux e se vuoi su window2000) parla anche del dynamic update dns e differenze con dhcp Quindi: 1. Introduzione (appena più di 1 slide) 2. La configurazione – – del resolver e del nameserver 3. Dynamic Update DNS e DHCP 1. Introduzione: la scatola nera • Uomo chiede alla macchina: linguaggio ‘umano’, hostname mnemonico. • Macchina fornisce hostname ad un servizio chiamato resolver • Resolver restituisce l’indirizzo IP • Macchina esegue il sevizio richiesto utilizzando l’indirizzo IP Schema del DNS L’organizzazine dei nomi di dominio – concetti chiave DNS è un database gerarchico e distribuito che contiene record di risorse con diversi campi 1. Resolver (client): query (forward e inverse) 2. Name Server (locale, assoluti, root, cache) 3. Concetto di ‘Zona’!! (non è dominio) 4. Resource Record: campi (owner, Type, Class, TTL, Data) I tipi RR più comuni Type= Name Value A Hostname Indirizzo IP (Adress) relay1.bar.foo.com 145.37.93.126 NS Dominio (Name Server) foo.com Hostname server nomi assoluti (FQD) CNAME Alias dns.foo.com relay1.bar.foo.com (Canonical name) MX (RFC 974) (Mail eXchange) Hostname canonico Alias Hostname server posta mail.bar.foo.com Altri tipi meno comuni o emergenti HINFO Host PTR Indirizzo IP Nome di dominio (FQD) (Pointer) SOA Inizio di una zona di autorità (Start of a Zone Authority NAPTR (Cfr. RFC 3403) A6 (Cfr. RFC 3596) CPU o SO Hostname Name authority pointer Indirizzo IPv6 Vocabolario • • • • • • Resolver e nameserver Nameserver assoluto primario Nameserver assoluto secondario Nameserver cache / forwarder File di configurazione File di zona 2. La configurazione del DNS 2.1. La configurazione del resolver La configurazione del Resolver 2.1.1. Windows • Start > Pannello di controllo > Connessioni di rete > LAN > Generale > Protocollo internet (TCP/IP) > Generale – Scelta: automatica o manuale (fornito dall’amministratore di rete / ISP; preferito, alternativo) – > Avanzate, DNS (lista, suffissi e limitazione della risolutizione dei nomi per nomi non qualificati) Configurazione DNS > Resolver > Windows Il resolver • I processi in corso: svchost.exe • Dove risiede? Lo scopriamo con: Start > Panello di Controllo > Strumenti di amministrazione >Servizi > Client DNS [dx proprietà] • Attivarlo (avvio di Windows): C:\Windows\System32\svchost.exe –k NetworkService (netsvcs per DHCP) Configurazione DNS > Resolver > Windows > processo La configurazione del Resolver 2.1.2. Linux • File /etc/resolv.conf dice quali nameserver devono essere usati dal resolver domain alei.it nameserver 172.18.9.1 nameserver 172.2.0.1 search alei.com alei.org alei.net options timeout 3 options attempts 3 Configurazione DNS > Resolver > Linux > etc/resolv.conf Esempio domain alei.it /* identifica il nome del dominio a cui appartiene la propria macchina e il server dns.alei.it */ nameserver 172.18.9.1 /* Indirizzo IP del DNS primario */ nameserver 172.2.0.1 /* Indirizzo IP di un eventuale DNS secondario */ search alei.com alei.org alei.net /* elenca domini che vengono aggiunti a nomi di host per ricerche DNS. Può generare traffico inutile e ritardi */ options timeout 3 options attempts 3 Configurazione DNS > Resolver > Linux > Esempio Vedere il contenuto del resolver locale (cache) • Ipconfig /displaydns • Ipconfig /flushdns (pulisce la cache) • (Ipconfig /all) Configurazione DNS > Resolver > Ipconfig 2. La configurazione del DNS 2.2. La configurazione del nameserver Configurazione del Name Server 2.2.1. Linux 1. Il file etc/named.conf – – – Cache / forwarding nameserver Nameserver assoluto Altri parametri 2. I file di zona in var/named/zones/ 3. Aggiornamenti 4. Controllo Configurazione DNS > Nameserver > Linux 2.2.1.1. /etc/named.conf • /etc/named.conf (BIND 8 e superiori) contiene i parametri di configurazione organizzato in sessioni: – affermazioni {...} e – commenti /*...*/ // # • Sicurezza: bind gira come root. Usare un utente con minor privilegi e mettere bind in un chroot, un ambiente in cui il processo può lavorare con una propria directory root, per esempio: /var/named/ quindi: /var/named/etc/named.conf; /var/named/var/run/named.pid; var/named/zones/; var/named/zones/slave/ Comando di partenza: named –t /var/named –c /etc/named.conf Configurazione DNS > Nameserver > Linux > named.conf Un primo esempio acl "reteaz" {172.18.9.0/28; 10.0.0.0/8;}; options {directory "/var/named"; pid-file "named.pid"; allow-query {“reteaz"; };}; zone "." { type hint; file "root.hint"; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; notify no;}; Configurazione DNS > Nameserver > Linux > named.conf Sezioni di named.conf: acl acl: access control list (nome simbolico per una lista di indirizzi IP). Predefinito: none, any, localhost, localnets. acl “fidati” {172.18.9.0/28; 131.13.3.3;}; // fidati: rete interna meno sottozona e altra rete acl “secondari” {172.18.22.5; 131.13.3.5;}; // secondari: due host, nameserver assoluti secondari acl “diffidati” {155.111.222.0/24;}; // diffidati: rete intera sospetta Configurazione DNS > Nameserver > Linux > named.conf > acl Sezioni di named.conf: options options: fornisce informazioni globali sul server e valori di default di altre sezioni (es. directory dei file). Esempio options {blackhole {diffidati;}; allow-query {any;}; allow-recursion {fidati;}; allow-transfer {secondari;}; } Configurazione DNS > Nameserver > Linux > named.conf > options Altri parametri: forwarders {172.18.9.22;}; forward {first | only;}; controlla il comportamento di forwarders: first: inoltrare prima di risolvere in proprio only : solo inoltrare, non risolvere in propio Configurazione DNS > Nameserver > Linux > named.conf > options notify {yes | no | explicit;} listen-on {10.0.1.1;}; Specifica l’interfaccia di rete sulla quale il programma è in attesa di query (qui interfaccia della rete interna). Default: tutte le interfaccie. statistics-file Specifica un posto per i file statistici. Default: /var/named/named.stats Configurazione DNS > Nameserver > Linux > named.conf > options Sezioni di named.conf: zone zone: diversi tipi di file di configurazione: – – – – zona assoluto primario: type master zona assoluto secondario: type slave root: type hint cache, intermedio, inoltro: type stub, type forward, type delegationonly Configurazione DNS > Nameserver > Linux > named.conf > zone L’importanza del nome della zona nella voce zone “nomedellazona” {....} nel file named.conf per i file di zona: @ (valore di default) $ ORIGIN (valore di default) nomi non assoluti (non finiscono con un punto!!!) Dopo il nome della zona si può anche inserire la classe della zona che di solito è IN e viene spesso ommesso Esempio: zone “esempio.com” IN {type master; file “esempio.com.db”; }; Configurazione DNS > Nameserver > Linux > named.conf > zone Altre opzioni per zone: allow-query allow-transfer allow-update file masters notify zone-statistics Configurazione DNS > Nameserver > Linux > named.conf > zone named.conf per solo cache /* file di configurazione per solo cache */ acl "reteaz" {172.18.9.0/28; 10.0.0.0/8;}; options {directory "/var/named"; pid-file "named.pid"; allow-query {“reteaz"; };}; zone "." {type hint; file "root.hint"; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; notify no;}; Configurazione DNS > Nameserver > Linux > named.conf > cache named.conf per assoluto /* Server assoluto è simile al cache, ma aggiunge delle zone */ options {directory "/var/named"; pid-file "named.pid"; allow-query {any;}; recursion no;}; Configurazione DNS > Nameserver > Linux > named.conf > assoluto zone "." { type hint; file "root.hint"; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; notify no;}; zone "localhost" { type master; file "localhost.db"; }; Configurazione DNS > Nameserver > Linux > named.conf > assoluto /*zona associazione laureati in economia informatica per cui è il server assoluto primario*/ zone "alei.it" {type master; file “alei.it.db"; allow-transfer {172.18.22.5; 131.13.3.5;};}; /*zona associazione laureati in economia ambientale per cui è un server assoluto secondario*/ zone "aleam.it" {type slave; file “aleam.it.bk"; masters {172.18.9.32;};}; /* zona inversa per alei.it*/ zone “9.18.172.in-addr.arpa" {type master; file “alei.it.rev"; notify no;}; Configurazione DNS > Nameserver > Linux > named.conf > assoluto Altre sezioni in named.conf controls: usato per definire canali di controllo per rndc (più avanti). key: definisce chiavi da usare per autenticazione e autorizzazione trusted-keys: definisce chiavi per DNSSEC logging: specifica di cosa il server tiene traccia (logging) e dove memorizza queste informazioni. Una sola volta per named.conf Configurazione DNS > Nameserver > Linux > named.conf > altro server: opzioni di configurazione per singoli server (esempio più avanti con aggiornamento) include “nomefile” permette di includere informazioni sensibili (per esempio chiavi) contenuti in file separati con accesso ristretto (percorso assoluto) view: definisce delle viste (diverse a secondo del server o indirizzi IP: sicurezza) Configurazione DNS > Nameserver > Linux > named.conf > altro 2.2.1.2. I file di zona • root.hint file con le definizioni dei root nameserver • file con le definizioni locali (localhost.db) • Costruiamo insieme – alei.it.db file per risoluzione diretta – alei.it.rev (localhost.rev è analogo) file per risoluzione inversa (reverse) • aleam.it.bk è ottenuto tramite zone-transfer Configurazione DNS > Nameserver > Linux > File di zona var/named/root.hint • file con le definizioni dei root nameserver • scaricare dalla rete: ftp://ftp.rs.internic.net/domain/named.root ftp://ftp.nic.it/pub/DNS/named.root • qualche volta chiamato named.root o db.root Configurazione DNS > Nameserver > Linux > File di zona > root ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOTConfigurazione DNS > Nameserver > Linux > File di zona > root var/named/alei.it.db alei.it. 86400 IN SOA alei.it. master.alei.it ( 2004102601 ; numero di serie 21600 ; refresh per slave 6 ore anche 6H 3600 ; retry 10 min anche 10M 3600000 ; expire slave 1000 ore anche 41D o 6W 900 ) ; min neg caching (max 3 ore) • Ogni zona ha esattamente un record soa: indica che i dati sono assoluti per la zona • Il nome di dominio in cima è proprietario di questo SOA • Valori in SOA: nome del nameserver assoluto; email amministratore, numero di serie da incrementare dopo ogni cambiamento, parametri per il tempo Configurazione DNS > Nameserver > Linux > File di zona > alei.it alei.it. 43200 IN alei.it. IN IN services IN services IN NS NS NS NS NS ns.tecweb.unich.it. ns.alei.aruba.com. ns.free.ac.be. s.alei.it. b2b.bald.biz. • I record NS indicano il nome (non indirizzo IP) dei diversi nameserver assoluti della zona (uno primario e almeno uno secondario, disolocati,...) non va mai riferito ad un RR di tipo CNAME • notate le ‘omissioni’ in riga 2, 3 e 4; nomi assoluti e relativi (services è una sottozona) • services (services.alei.it) è una sottozona di alei.it con un proprio nameserver assoluto su s.alei.it. e b2b.bald.biz. Configurazione DNS > Nameserver > Linux > File di zona > alei.it ns.tecweb.unich.it.IN A 172.18.9.12 ns.alei.aruba.com. IN A 122.15.15.3 ns.free.ac.be. IN A 131.13.3.5 s.alei.it. IN A 172.18.9.55 b2b.bald.biz. IN A 187.12.50.67 Configurazione DNS > Nameserver > Linux > File di zona > alei.it www 43200 IN ftp IN pop IN smpt IN @ IN CNAME fabio.alei.it. CNAME ftp.alei.it. CNAME mail.alei.it CNAME mail.alei.it MX 0 mail.alei.it. 50 rescue.alei.it. 10 bruno.alei.it. Configurazione DNS > Nameserver > Linux > File di zona > alei.it localhost mail ftp ftp rescue bruno fabio claudia marianna stefano s.alei.it. IN IN IN IN IN IN IN IN IN IN IN A A A A A A A A A A A 127.0.0.1 172.18.9.7 172.18.9.22 172.18.9.21 131.22.14.1 172.18.9.1 172.18.9.2 172.18.9.3 172.18.9.4 172.18.9.5 172.18.55.2 quest’ultimo è un ‘glue’RR perché il server che cerchiamo sta nel sottodominio di alei.it Configurazione DNS > Nameserver > Linux > File di zona > alei.it scorciatoie $ORIGIN alei.it. $TTL 86400; 24 ore default TTL per RR @ IN SOA alei.it. master.alei.it ( 2004101801 ; numero di serie 21600 ; refresh 6 ore 3600 ; retry 10 min 3600000 ; expire 1000 ore 900 ) ; negative caching ; max 3 ore NS ns.tecweb.unich.it. Configurazione DNS > Nameserver > Linux > File di zona $GENERATE è una direttiva per la generazione automatica di insiemi di RR (A, CNAME, NS e PTR) che differiscono tra loro soltanto per un numero progressivo $TTL 3H $ORIGIN alei.it. $GENERATE 10-30/2 PC$ CNAME PC$.membri equivale a inserire in un file di zona: PC10.alei.it. 10800 IN CNAME PC10.membri.alei.it. PC12.alei.it. 10800 IN CNAME PC12.membri.alei.it. ... PC30.alei.it. 10800 IN CNAME PC30.membri.alei.it. Configurazione DNS > Nameserver > Linux > File di zona /var/named/localhost.rev $TTL 86400 ; $ORIGIN 0.0.127.IN-ADDR.ARPA. @ IN SOA localhost. root.localhost. ( 2004102200 ; Serial 3h ; Refresh 15 ; Retry 1w ; Expire 3h ) ; Minimum IN NS localhost. 1 IN PTR localhost. Configurazione DNS > Nameserver > Linux > File di zona > localhost.rev var/named/alei.it.rev $TTL 1d $ORIGIN 9.18.172.in-addr.arpa. @ IN SAO alei.it. master.alei.it ( 2004010301 86400 3600 864000 86400 ) alei.it. 43200 IN NS ns.tecweb.unich.it. alei.it. IN NS ns.alei.aruba.com. IN NS ns.free.ac.be. 21 IN PTR ftp.alei.it. 7 IN PTR mail.alei.it. 22 IN PTR ftp.alei.it. 1 IN PTR bruno.alei.it. 2 IN PTR fabio.alei.it. 3 IN PTR claudia.alei.it. 4 IN PTR marianna.alei.it. 5 IN PTR stefano.alei.it. Configurazione DNS > Nameserver > Linux > File di zona > alei.it.rev 2.2.1.3. Aggiornamento Distinguere: • aggiornamento named.conf: amministratore • aggiornamento file di zona assoluto primario: – manuale – dinamico: allow-update • aggiornamento file di zona assoluto secondario: notify; allow-notify, zone-transfer: axfer e ixfer • aggiornamento della cache: TTL Configurazione DNS > Nameserver > Linux > Aggiornamento Aggiornare primario • Master zonefile: manuale (amministratore di zona), numero seriale • Aggiornamento dinamico (default: disattivato) zone “alei.it” {type master; file “alei.it.db”; allow-update {172.18.22.5;};}; Configurazione DNS > Nameserver > Linux > Aggiornamento Notify (RFC 1996) è un meccanismo che permette ad un nameserver primario di dare un avviso ai nameserver secondari (NS oppure also-notify) dei cambiamenti apportati ai file di zona. Il secondario verficherà il numero di serie: se diverso inizia il trasferimento. options { notify yes_or_no | explicit; }; Configurazione DNS > Nameserver > Linux > Aggiornamento Transaction SIGnatures (TSIG) per la comunicazione sicura tra server, usando delle chiavi: zone transfer, notify, messaggi di query recursive, dynamic update (non solo in base a indirizzo IP, ma anche con una chiave). key host1-host2. {algorithm hmac-md5; secret "La/E5CjG9O+os1jq0a2jdA==";}; /* da inserire nel named.conf di host1 e host2 */ server 10.1.2.3 {keys {host1-host2.;};}; /* nel named.conf di host1 con 10.1.2.3 indirizzo IP dell’host2 e analogo per il contrario */ allow-update {key host1-host2. ;}; /* uso di chiavi oltre indirizzi IP in affermazioni di tipo ‘allow-qualcosa’ Configurazione DNS > Nameserver > Linux > Aggiornamento Meccanismo dell’aggiornamento dinamico • RFC 2136: aggiungere, modificare, cancellare RR o insiemi di RR nel file assoluto primario • Cambiamenti registrati in file alei.it.db.jnl • Server periodicamente (15’) scarica (dump) il contenuto completo della zona aggiornata sul file di zona • Server che riparte rilegge file .jnl e incorpora tutti gli aggiornamenti posteriori all’ultimo dump • Cambiamenti da trasferimenti incrementali di zona in ingresso trattati nello stesso modo • Non aggiornare manualmente! Configurazione DNS > Nameserver > Linux > Aggiornamento Attenzione non cambiare manualmente /etc/named.conf o i file di zona se si usa Bind Configuration Tool: ogni cambiamento manuale verrà sovrascritto la volta successiva che viene usato Bind Configuration Tool Configurazione DNS > Nameserver > Linux > Aggiornamento Aggiornare secondario • Slave nameserver: aggiornamento periodico dal master: zone-transfer • Options {min-refresh-time, maxrefresh-time, min-retry-time, maxretry-time} • QTYPE = AXFR (Full zone transfer) • QTYPE = * • Incremental Zone Transfer (IXFR – RFC 1995) Formato Messaggi DNS Configurazione DNS > Nameserver > Linux > Aggiornamento • BIND prevede Incremental Zone Transfers (IXFR): il server secondario scarica solo le parti aggiornate della zona sul server primario. Disponibile solo quando si usa l’aggiornamento dinamico per cambiare record nei file di zona assoluti primari. • Il trasferimento di zona standard (AXFR) prevede un trasferimento della zona intera tra primario e secondario, anche per cambiamenti / aggiornamenti minimi. Questo può richiedere molte risorse. Configurazione DNS > Nameserver > Linux > Aggiornamento Limitare i trasferimenti di zona Restrizioni sul zone-transfer (per primario e secondario), tutto o singola zona options {allow-transfer {172.18.9.1;};}; zone “alei.it” {type master; file “alei.it.db”; allow-transfer {172.18.22.5; 131.13.3.5};}; zone “aleam.it” {type slave; file “aleam.it.bk”; masters {172.18.9.32;}; allow-transfer {none;};}; Configurazione DNS > Nameserver > Linux > Aggiornamento 2.2.1.4. Controllo della configurazione • named-checkconf [-t directory] [filename] controlla la sintassi di named.conf • named-checkzone [-dq] [-c class] zone [filename] controlla sintassi e consistenza di un file di zona assoluto primario Configurazione DNS > Nameserver > Linux > Controllo • rndc, remote name daemon control permette all’amministratore del sistema di controllare le operazioni di un nameserver controls {inet 127.0.0.1 allow { localhost; }; keys { rndc_key; };}; key rndc_key { algorithm "hmac-md5"; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGU gZm9yIGEgd29tYW4K";}; Configurazione DNS > Nameserver > Linux > Controllo 2.2.1.5. Avviare DNS in Linux • Per avviare DNS /etc/rc.d/init.d/named start • Per riavviare DNS /etc/rc.d/init.d/named restart • Per fermare DNS /etc/rc.d/init.d/named stop • Per far partire DNS al boot di Linux Aggiungere il commando per avviare DNS a /etc/rc.d/rc.local Configurazione DNS > Nameserver > Linux > Avvio DNS Kill con DNS in Linux • kill – SIGHUP Il server legge named.conf e ricarica i dati – SIGTERM Il server pulisce tutto e si ferma – SIGINT Il server pulisce tutto e si ferma Configurazione DNS > Nameserver > Linux > Processo 2.2.1.6. Controllo DNS Strumenti per la diagnostica di DNS: • nslookup (interrogazione interattiva e non) • dig (domain information groper) • host • ping Configurazione DNS > Nameserver > Linux > Interrogazione Dig • è incluso nella distribuzione di BIND • non è interattivo; si utilizza da linea di comando • permette di fare interrogazioni complesse ed a qualsiasi nameserver • è dotato di aiuto in linea dig dig dig dig dig dig dig -h dns.iit.cnr.it iit.cnr.it mx -x 146.48.96.3 @nameserver.cnr.it cnr.it @192.168.1.1 foo.it axfr @nameserver.cnr.it cnr.it +nssearch Configurazione DNS > Nameserver > Linux > Interrogazione > dig dig nic.it any ; <<>> DiG 9.2.3 <<>> nic.it any ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6280 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;nic.it. ;; ANSWER SECTION: nic.it. nic.it. nic.it. nic.it. IN 69303 69303 69303 69303 IN IN IN IN NS NS NS NS ANY itgeo.mix-it.net. nameserver.cnr.it. dns.nic.it. dns2.nic.it. Configurazione DNS > Nameserver > Linux > Interrogazione > dig ;; AUTHORITY SECTION: nic.it. nic.it. nameserver.cnr.it. nic.it. nic.it. ;; ADDITIONAL SECTION: dns.nic.it. dns.nic.it. itgeo.mix-it.net. nameserver.cnr.it. ;; ;; ;; ;; 69303 69303 IN IN NS NS itgeo.mix-it.net. 69303 69303 IN IN NS NS dns.nic.it. dns2.nic.it. 71690 71722 67445 68882 IN IN IN IN A AAAA A A 193.205.245.5 2001:760:600:1::5 217.29.76.5 194.119.192.34 Query time: 41 msec SERVER: 193.205.245.81#53(193.205.245.81) WHEN: Thu Apr 29 16:16:13 2004 MSG SIZE rcvd: 252 Configurazione DNS > Nameserver > Linux > Interrogazione > dig dig @dns.nic.it nic.it any ; <<>> DiG 9.2.3 <<>> nic.it @dns.nic.it any ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17425 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 6 ;; QUESTION SECTION: ;nic.it. ;; ANSWER SECTION: nic.it. 86400 hostmaster.nic.it. nic.it. 86400 nic.it. 86400 nic.it. 86400 nic.it. 86400 nic.it. 900 nic.it. 604800 IN ANY IN SOA dns.nic.it. 2004042700 86400 1800 604800 86400 IN NS dns.nic.it. IN NS dns2.nic.it. IN NS itgeo.mix-it.net. IN NS nameserver.cnr.it. IN MX 10 relay.nic.it. IN PTR P\$NIC.A\$GARR.C\$IT.X400. Configurazione DNS > Nameserver > Linux > Interrogazione > dig ;; ADDITIONAL SECTION: dns.nic.it. dns.nic.it. dns2.nic.it. itgeo.mix-it.net. nameserver.cnr.it. relay.nic.it. ;; ;; ;; ;; 86400 86400 86400 83523 83522 900 IN IN IN IN IN IN A AAAA A A A A 193.205.245.5 2001:760:600:1::5 193.205.245.8 217.29.76.5 194.119.192.34 193.205.245.4 Query time: 5 msec SERVER: 193.205.245.5#53(dns.nic.it) WHEN: Thu Apr 29 16:23:23 2004 MSG SIZE rcvd: 333 Configurazione DNS > Nameserver > Linux > Interrogazione > dig L’installazione del Name Server 2.2.2. Windows 2000 • Istallazione DNS: Pannello di Controllo > Agguingi/Rimuovi Programmi > Aggiungi/Rimuovi Componenti Windows > Servizi Network >Domain Name System Configurazione DNS > Nameserver > Windows > Installazione Caratteristiche • architettura Multi-master (aggiornamenti su qualsiasi DNS server, non necessariamente sul primario) nel caso di integrazione con Active Directory • replica dei dati mediante Active Directory service • supporto di Dynamic DNS (DDNS: RFC2136) • supporto di zone transfer incrementale (IXFR: RFA1995) • permessi di accesso per ogni oggetto gestito dal DNS Configurazione DNS > Nameserver > Windows > Caratteristiche Configurazione • Creare un server (forward, inverse) • Sempre con RR • Scegliere primario, secondario o Active Directory • Aggiornamento dinamico sicuro e monitoraggio Configurazione DNS > Nameserver > Windows > Configurazione Configurazione iniziale Configurazione DNS > Nameserver > Windows > Configurazione iniziale Creazione della zona Configurazione DNS > Nameserver > Windows > Creazione zona Configurazione DNS > Nameserver > Windows > Creazione zona Configurazione DNS > Nameserver > Windows > Creazione zona Configurazione DNS > Nameserver > Windows > Creazione zona Configurazione DNS > Nameserver > Windows > Creazione zona Aggiunta di un host Configurazione DNS > Nameserver > Windows > Aggiunta host Configurazione DNS > Nameserver > Windows > Aggiunta host Proprietà server Configurazione DNS > Nameserver > Windows > Proprietà Configurazione DNS > Nameserver > Windows > Proprietà Configurazione DNS > Nameserver > Windows > Proprietà Monitorare il Nameserver 3. DHCP e Dynamic Update DNS Dynamic Host Configuration Protocol - RFC 2131 • Protocollo TCP/IP client-server. Consente la configurazione dinamica tramite lease degli indirizzi IP host. • Server DHCP gestisce in modo centralizzato gli indirizzi IP utilizzati nella rete. • Lease. periodo di tempo durante il quale un client DHCP può utilizzare una configurazione di indirizzo IP assegnata dinamicamente su richiesta durante il processo di avvio in rete. DHCP: come funziona • Client: DHCP discover message (datagram UDP porta 67) in broadcast (255.255.255.255) con indirizzo sorgente (0.0.0.0) • Server DHCP: DHCP offer message • Client: sceglie fra le offerte, messaggio di richiesta DHCP • Server: messaggio ACK DHCP • Client: uso della configurazione con l’indirizzo IP temporaneo assegnato con possibilità di rinnovo DHCP: pro e contra • +: Comodità • -: mobilità mobile IP Dynamic Update DNS • != Zone transfer o refreshing automatico (server secondario) • RFC 2136 • UPDATE: aggiunta o eliminazione dinamica RR / insiemi di RR dal file di zona assoluto primario attraverso messaggi DNS update (modifica messaggi DNS semplici): request & reply Appendice: configurazione standard named.conf options { directory "/var/named"; notify no; allow-transfer { none; }; listen-on { 10.10.10.10; }; }; logging { channel named-default { syslog local1; severity info; }; category default { named-default; }; category lame-servers { null; }; }; zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa"{ type master; file "named.local"; }; zone "10.10.10.in-addr.arpa"{ type master; file "reverse.zone"; }; zone "yourDomain.net"{ type master; file "foward.zone"; }; Appendice: configurazione standard zona forward $TTL 1d $ORIGIN yourDomain.net. @ IN SOA ns1.yourDomain.net. root.yourDomain.net. ( 2004010302 86400 3600 864000 86400 ) @ IN NS ns1.yourDomain.net. @ IN NS ns2.yourDomain.net. ns1 IN A 10.10.10.10 ns2 IN A 10.10.10.11 ; ;============================================================== ; ; Comment out if you don't have Mail Exchangers ; @ IN MX 0 mx01.yourDomain.net. @ IN MX 10 mx02.yourDomain.net. mx01 IN A 10.10.10.12 mx02 IN A 10.10.10.13 ; ;=============================================================== ; ; Comment out if you don't have Web Servers @ IN A 10.10.10.14 www IN A 10.10.10.14 ; ; Other addrerss on your network requireing name resolution server1 IN A 10.10.10.15 server2 IN A 10.10.10.16 printer1 IN A 10.10.10.17 microwave1 IN A 10.10.10.18 ; ;=============================================================== ; ; CNAME Section ; mail IN CNAME mx01.yourDomain.net. smtp IN CNAME mx02.yourDomain.net. ; The FTP & WWW servers are ths same machine ftp IN CNAME www.yourDomain.net. ; ;=============================================================== Appendice: configurazione standard zona reverse $TTL 1d $ORIGIN 10.10.10.in-addr.arpa. @ IN SOA ns1.yourDomain.net. root.yourDomain.net. ( 2004010301 86400 3600 864000 86400 ) IN NS ns1.yourDomain.net. IN NS ns2.yourDomain.net. ; ;=============================================================== ; ; Pointer Records -- Point to records you have in ; your forward zone file. ; 10 IN PTR ns1.yourDomain.net. 11 IN PTR ns2.yourDomain.net. 12 IN PTR mx01.yourDomain.net. 13 IN PTR mx02.yourDomain.net. 14 IN PTR www.yourDomain.net. 15 IN PTR server1.yourDomain.net. 16 IN PTR server2.yourDomain.net. 17 IN PTR printer1.yourDomain.net. 18 IN PTR microwave1.yourDomain.net. ; ;=============================================================== Appendice: options options { [ version version_string; ] [ directory path_name; ] [ named-xfer path_name; ] [ tkey-domain domainname; ] [ tkey-dhkey key_name key_tag; ] [ dump-file path_name; ] [ memstatistics-file path_name; ] [ pid-file path_name; ] [ statistics-file path_name; ] [ zone-statistics yes_or_no; ] [ auth-nxdomain yes_or_no; ] [ deallocate-on-exit yes_or_no; ] [ dialup dialup_option; ] [ fake-iquery yes_or_no; ] [ fetch-glue yes_or_no; ] [ has-old-clients yes_or_no; ] [ host-statistics yes_or_no; ] [ minimal-responses yes_or_no; ] [ multiple-cnames yes_or_no; ] [ notify yes_or_no | explicit; ] [ recursion yes_or_no; ] [ rfc2308-type1 yes_or_no; ] [ use-id-pool yes_or_no; ] [ maintain-ixfr-base yes_or_no; ] [ forward ( only | first ); ] [ forwarders { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ] [ check-names ( master | slave | response )( warn | fail | ignore ); ] [ allow-notify { address_match_list }; ] [ allow-query { address_match_list }; ] [ allow-transfer { address_match_list }; ] [ allow-recursion { address_match_list }; ] [ allow-v6-synthesis { address_match_list }; ] [ blackhole { address_match_list }; ] [ listen-on [ port ip_port ] { address_match_list }; ] [ listen-on-v6 [ port ip_port ] { address_match_list }; ] [ query-source [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ] [ query-source-v6 [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ] [ max-transfer-time-in number; ] [ max-transfer-time-out number; ] [ max-transfer-idle-in number; ] [ max-transfer-idle-out number; ] [ tcp-clients number; ] [ recursive-clients number; ] [ serial-query-rate number; ] [ serial-queries number; ] [ transfer-format ( one-answer | many-answers ); ] [ transfers-in number; ] [ transfers-out number; ] [ transfers-per-ns number; ] [ transfer-source (ip4_addr | *) [port ip_port] ; ] [ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ] [ notify-source (ip4_addr | *) [port ip_port] ; ] [ also-notify { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ] [ max-ixfr-log-size number; ] [ coresize size_spec ; ] [ datasize size_spec ; ] [ files size_spec ; ] [ stacksize size_spec ; ] [ cleaning-interval number; ] [ heartbeat-interval number; ] [ interface-interval number; ] [ statistics-interval number; ] [ topology { address_match_list }; ]