## DNS (Domain Name Service)

Domain Name Service (DNS) is an Internet service that maps IP addresses and fully qualified domain names (FQDN) to one another. In this way, DNS alleviates the need to remember IP addresses. Computers that run DNS are called name servers. Ubuntu ships with BIND (Berkley Internet Naming Daemon), the most common program used for maintaining a name server on 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.

The file named `/etc/bind/db.root` describes the root name servers in the world. The servers change over time, so the `/etc/bind/db.root` file must be maintained now and then.

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