## DNS (Domain Name Service)

Il DNS (servizio dei nomi di dominio) è servizio Internet che mappa gli indirizzi IP e i "fully qualified domain name" (FQDN, in italiano anche nome di un host, ndT) l'un l'altro. In questo modo viene meno la necessità di ricordare gli indirizzi IP. I computer che eseguono DNS sono definiti server dei nomi. Ubuntu fornisce BIND (Berkley Internet Naming Daemon), il programma maggiormente utilizzato per mantenere un server dei nomi con GNU/Linux.

### Installazione

A un promt di terminale, inserire il seguente comando per installare dns:

    sudo apt-get install bind

### Configurazione

I file di configurazione di DNS sono memorizzati all'interno della directory `/etc/bind`. Il file di configurazione principale è `/etc/bind/named.conf`. Il contenuto del file di configurazione predefinito è mostrato di seguito:

    // Questo è il file di configurazione primario per server di nomi DNS BIND
    //
    // Leggere /usr/share/doc/bind/README.Debian per informazioni sulla
    // struttura dei file di configurazione di BIND in Debian per la versione 8.2.1
    // e successiva di BIND *PRIMA* di personalizzare questo file di configurazione.
    //

    include "/etc/bind/named.conf.options";

    // riduce la verbosità del registro su elementi fuori dal proprio controllo
    logging {
        category lame-servers { null; };
        category cname { null; };
    };

    // inizializza il server con la conoscenza dei server root
    zone "." {
            type hint;
            file "/etc/bind/db.root";
    };

    // è autoritativo per il localhost froward e le reverse zone
    // così come per le broadcast zone (RFC 1912)
    zone "localhost" {
            type master;
            file "/etc/bind/db.local";
    };

    zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
    };

    zone "0.in-addr.arpa" {
            type master;
            file "/etc/bind/db.0";
    };

    zone "255.in-addr.arpa" {
            type master;
            file "/etc/bind/db.255";
    };

    // aggiungere qui le definizioni di zona locale
    include "/etc/bind/named.conf.local";

La riga include specifica il nome del file che contiene le opzioni DNS. La riga directory nel file di opzioni indica a DNS dove cercare i file. Tutti i file utilizzati da BIND sono relativi a questa directory.

Il file `/etc/bind/db.root` descrive i server di nomi radice presenti nel mondo. I server cambiano nel tempo e conseguenza debbono essere aggiornati di tanto in tanto.

La sezione zone definisce un server master, memorizzato in un file menzionato nel campo "file". Ogni file di zona contiene tre record di risorse (RR, Resource Records): un SOA RR, un NS RR e un PTR RR. SOA sta per "Start Of Authority". Il simbolo "@" è una speciale notazione indicante l'origine. NS è il "Name Server RR". PTR è il "Domain Name Pointer". Per avviare il server DNS, eseguire il seguente comando a un prompt di terminale:

    sudo /etc/init.d/bind start

Per maggiori dettagli, fare riferimento alla documentazione presente nei riferimenti.

### Riferimenti

HOWTO di DNS

DHCP (Dynamic Host Configuration Protocol) |  | CUPS - Server di stampa