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 }; ]
Scarica

DNS041029 - Dipartimento di Matematica e Informatica