d omain n ame s ystem dns is a name resolution protocol. it converts host names to ip addresses and...
TRANSCRIPT
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 sicurezzacorso 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 IPSchema 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)
Type= Name Value
A(Adress)
Hostnamerelay1.bar.foo.com
Indirizzo IP145.37.93.126
NS(Name Server)
Dominiofoo.com
Hostname server nomi assoluti (FQD)dns.foo.com
CNAME(Canonical name)
Alias Hostname canonicorelay1.bar.foo.com
MX (RFC 974)
(Mail eXchange)
Alias Hostname server postamail.bar.foo.com
I tipi RR più comuni
HINFO Host CPU o SO
PTR(Pointer)
Indirizzo IP Nome di dominio (FQD)
SOA(Start of a Zone Authority
Inizio di una zona di autorità
NAPTR(Cfr. RFC 3403)
Name authority pointer
A6(Cfr. RFC 3596)
Hostname Indirizzo IPv6
Altri tipi meno comuni o emergenti
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 Resolver2.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 Resolver2.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
Esempiodomain 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 3options 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 Server2.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 esempioacl "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: aclacl: 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 reteacl “secondari” {172.18.22.5; 131.13.3.5;};
// secondari: due host, nameserver assoluti secondariacl “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).
Esempiooptions {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
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 delegation-only
Sezioni di named.conf: zone
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 DNSSEClogging: 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.ROOT-
Configurazione DNS > Nameserver > Linux > File di zona > root
var/named/alei.it.dbalei.it. 86400 IN SOA alei.it. master.alei.it (
2004102601 ; numero di serie21600 ; refresh per slave 6 ore anche 6H 3600 ; retry 10 min anche 10M3600000 ; expire slave 1000 ore anche 41D o
6W900 ) ; 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 NS ns.tecweb.unich.it.alei.it. IN NS ns.alei.aruba.com. IN NS ns.free.ac.be.services IN NS s.alei.it.services IN NS 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 CNAME fabio.alei.it.
ftp IN CNAME ftp.alei.it.
pop IN CNAME mail.alei.it
smpt IN CNAME mail.alei.it
@ IN MX 0 mail.alei.it.
50 rescue.alei.it.
10 bruno.alei.it.
Configurazione DNS > Nameserver > Linux > File di zona > alei.it
localhost IN A 127.0.0.1mail IN A 172.18.9.7ftp IN A 172.18.9.22ftp IN A 172.18.9.21rescue IN A 131.22.14.1bruno IN A 172.18.9.1fabio IN A 172.18.9.2claudia IN A 172.18.9.3marianna IN A 172.18.9.4stefano IN A 172.18.9.5s.alei.it. IN A 172.18.55.2quest’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 serie21600 ; refresh 6 ore3600 ; retry 10 min3600000 ; expire 1000 ore900 ) ; 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
$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.
var/named/alei.it.rev
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, max-refresh-time, min-retry-time, max-retry-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 nameservercontrols {inet 127.0.0.1 allow { localhost; }; keys { rndc_key; };};
key rndc_key { algorithm "hmac-md5";
secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";};
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 LinuxAggiungere 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 -h
dig dns.iit.cnr.it dig iit.cnr.it mx dig -x 146.48.96.3 dig @nameserver.cnr.it cnr.it dig @192.168.1.1 foo.it axfr dig @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. IN ANY
;; ANSWER SECTION:
nic.it. 69303 IN NS itgeo.mix-it.net.
nic.it. 69303 IN NS nameserver.cnr.it.
nic.it. 69303 IN NS dns.nic.it.
nic.it. 69303 IN NS dns2.nic.it.
Configurazione DNS > Nameserver > Linux > Interrogazione > dig
;; AUTHORITY SECTION:
nic.it. 69303 IN NS itgeo.mix-it.net.
nic.it. 69303 IN NS nameserver.cnr.it.
nic.it. 69303 IN NS dns.nic.it.
nic.it. 69303 IN NS dns2.nic.it.
;; ADDITIONAL SECTION:
dns.nic.it. 71690 IN A 193.205.245.5
dns.nic.it. 71722 IN AAAA 2001:760:600:1::5
itgeo.mix-it.net. 67445 IN A 217.29.76.5
nameserver.cnr.it. 68882 IN A 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. IN ANY
;; ANSWER SECTION:
nic.it. 86400 IN SOA dns.nic.it. hostmaster.nic.it. 2004042700 86400 1800 604800 86400
nic.it. 86400 IN NS dns.nic.it.
nic.it. 86400 IN NS dns2.nic.it.
nic.it. 86400 IN NS itgeo.mix-it.net.
nic.it. 86400 IN NS nameserver.cnr.it.
nic.it. 900 IN MX 10 relay.nic.it.
nic.it. 604800 IN PTR P\$NIC.A\$GARR.C\$IT.X400.
Configurazione DNS > Nameserver > Linux > Interrogazione > dig
;; ADDITIONAL SECTION:
dns.nic.it. 86400 IN A 193.205.245.5
dns.nic.it. 86400 IN AAAA 2001:760:600:1::5
dns2.nic.it. 86400 IN A 193.205.245.8
itgeo.mix-it.net. 83523 IN A 217.29.76.5
nameserver.cnr.it. 83522 IN A 194.119.192.34
relay.nic.it. 900 IN A 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 Server2.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.confoptions {
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.10ns2 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.12mx02 IN A 10.10.10.13;;===============================================================;
; Comment out if you don't have Web Servers@ IN A 10.10.10.14www IN A 10.10.10.14;; Other addrerss on your network requireing name resolutionserver1 IN A 10.10.10.15server2 IN A 10.10.10.16printer1 IN A 10.10.10.17microwave1 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 machineftp 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] ; ] [ notify-source-v6 (ip6_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 }; ]