DNS: Finalmente la pratica

DNS Home Page

Dopo la fase teorica iniziamo a configurare il server DNS.

Per prima cosa installiamo ISC BIND. La procedura di installazione dipende molto dalla distribuzione linux che utilizzate. Nel caso di Ubuntu la riga di comando da dare è:

sudo apt-get install bind9

personalmente preferisco scaricare i sorgenti dal sito del demone http://www.isc.org/bind, e poi compilarli a manina. Completata l’installazione del software iniziamo a configurare il demone.

A seconda della modalità di installazione, ci troveremo con il file di configurazione di BIND già configurato. Addiamo a cercarlo col comando locate named.conf e poi editiamolo col nostro editor preferito.

Il file è diviso in sezioni e nella sua versione essenziale le sezioni che ci troviamo sono due. La prima è options ed è seguita da parentesi graffe ed una sfilza di parametri

In questa sezione è possibile settare i parametri di sicurezza, effettuare il tuning del server ed in generale impostare il modo in cui il nostro demone risponde alla richieste di risoluzione.

Per la sicurezza le direttive più importanti sono allow-query, allow-recursion e allow-transfer, che indicano le sottoreti per il quale il demone rispettivamente accetterà le richieste, risolverà richieste per il quale non è autoritativo e per il quale consentirà di scaricare le zone di cui è autoritativo. Per qutoritativo si intende le zone per il quale il nostro demone fa da DNS primario o secondario.

La seconda sezione essenziale del nostro file di configurazione è rappresentato da una sfilza di direttive zone con il quale si indica al nostro demone le zone che deve gestire e le informazioni per farlo.

Se il nostro server è solo un DNS resolver avrà solo la zona “.” che contiene i root name server, ovvero gli indirizzi del dns principali di Internet necessari a risolvere le nostre richieste. Altrimenti avremo altre direttive zone.

Riepilogando il named.conf essenziale deve essere più o meno cosi:

options {
/*
* Dice al demone di accettare le richieste locali e provenienti dalla rete locale
*/
allow-query {
127.0.0.1;
192.168.0.0/24;
};

/*
* Dice al demone di risolvere le richieste locali e provenienti dalla rete locale
*/
allow-recursion {
127.0.0.1;
192.168.0.0/24;
};

/*
* Dice al demone di permettere di trasferire le zone locali ai server presenti sulla rete locale
*/
allow-transfer {
192.168.0.0/24;
};
};

zone “.” {
type hint;
file “cache”;
};

A questa configurazione manca solo il file cache, che come detto contiene i dati per risolvere le richieste per le zone che non gestiamo col nostro server, ovvero senza questo file non potremo navigare in Internet usando il nostro DNS server.

Di seguito vi riporto un esempio di file cache, è possibile aggiornarlo in qualsiasi momento usando l’utility “dig” a corredo di BIND.

dig @<ip del dns del nostro provider> . ANY

ad esempio:

dig @199.7.83.42 . ANY

otterremo il seguente output:

; <<>> DiG 9.8.0-P1 <<>> @199.7.83.42 . ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55971
;; flags: qr aa rd; QUERY: 1, ANSWER: 21, AUTHORITY: 0, ADDITIONAL: 22
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;.                              IN      ANY

;; ANSWER SECTION:
.                       86400   IN      RRSIG   SOA 8 0 86400 20111226000000 20111218230000 55231 . duEUUZKl26fhVSFXMEbmBeyw0/zgAmCysEEv200TpeNm+38njDcYgCz9 +8EsUYcYz106YF9CFGDLfomDcGpCAnVMcJxjvSIXFGvh2kNtUPfOcEYR Owb/rSxHHEamNlqXqklKR99f4m49JQ6a72KvDCAuUZGcJvtWG7DpQ4LL bP0=
.                       518400  IN      RRSIG   NS 8 0 518400 20111226000000 20111218230000 55231 . b/dd8tC8g3/Y6n4pzFbjZNXVbVvDbdlGt3TslX2c2pcqBX1xcdfI7QVu AWYyQB91IlLXugbJKzF5GkdEuzwhf4sLy2WzJPHS4xZcioP+5qsbksgB k+4r7Fj7/qf/gjQJF7wX2pToP2LbsVcL/ik4vh4d0ho78iEktaC3Zgi1 2Hk=
.                       172800  IN      RRSIG   DNSKEY 8 0 172800 20111225000000 20111210000000 19036 . SVMoD1UJztM3xQogcXUqZCMkD2qHwzBTnJ0CE0cCOjAktNzrSuzdYF07 gSawB//VwH+56j5Hr6JE7UB+wMRZNS3G7AZKhbT9PbzIFt9TG68/M16R p5p93rW2QWatjWmdY7X1nI3mRwnyWPiFURSxGPX2ge47jpVYpqxh0FCl Qu6VyB4jI1wj2CpYkL1xSrVLfwgf8pPMJVJJ6c18JqE63ML5vZ3MHvib /+Nsk50FP1EemWSH3hzlnr/mLU9o1U2mIoFqK1skGo6Zagv5L3pBH0vW txVjGEP3WcOgNdWxwA/zNlEG0J3DmgVbyImvYFV4B+liT4rLUtFPeVtl 2VNyww==
.                       86400   IN      RRSIG   NSEC 8 0 86400 20111226000000 20111218230000 55231 . ssPs6+oFbOwCsfxwcY9WvWh36rqwHlXjRLt1/+DO8n5xkYs8h7VoNHI5 cA2N3N25UWA9NGhoGFHQXvNu+8g+4NAiG5jFHIk5TmBA2T3ogEQp82QL 2FiOdlW5aZxol1AbC46Sf8lZ3+1RnRdEmzOQjrDaqATph8hpEwT66/mD 87k=
.                       518400  IN      NS      a.root-servers.net.
.                       518400  IN      NS      b.root-servers.net.
.                       518400  IN      NS      c.root-servers.net.
.                       518400  IN      NS      d.root-servers.net.
.                       518400  IN      NS      e.root-servers.net.
.                       518400  IN      NS      f.root-servers.net.
.                       518400  IN      NS      g.root-servers.net.
.                       518400  IN      NS      h.root-servers.net.
.                       518400  IN      NS      i.root-servers.net.
.                       518400  IN      NS      j.root-servers.net.
.                       518400  IN      NS      k.root-servers.net.
.                       518400  IN      NS      l.root-servers.net.
.                       518400  IN      NS      m.root-servers.net.
.                       172800  IN      DNSKEY  256 3 8 AwEAAdNW7YIhcTdqXrzgZjJJ35VjAFT1ArvnhAzXDm7AuGxSQqmGBRmj JvBv0xS4gahB9mj6ekF0dVKoeZgLmNAjo8hj2JI7K281YTo2R5k3mKSc 4hOCP55hR22r5hIsPJoT19pv/VdZQfyTzZ96frQ16qRa9+/GSjzjtFfQ v16FwE7R
.                       172800  IN      DNSKEY  257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=
.                       86400   IN      NSEC    ac. NS SOA RRSIG NSEC DNSKEY
.                       86400   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2011121901 1800 900 604800 86400

;; ADDITIONAL SECTION:
a.root-servers.net.     518400  IN      A       198.41.0.4
b.root-servers.net.     518400  IN      A       192.228.79.201
c.root-servers.net.     518400  IN      A       192.33.4.12
d.root-servers.net.     518400  IN      A       128.8.10.90
e.root-servers.net.     518400  IN      A       192.203.230.10
f.root-servers.net.     518400  IN      A       192.5.5.241
g.root-servers.net.     518400  IN      A       192.112.36.4
h.root-servers.net.     518400  IN      A       128.63.2.53
i.root-servers.net.     518400  IN      A       192.36.148.17
j.root-servers.net.     518400  IN      A       192.58.128.30
k.root-servers.net.     518400  IN      A       193.0.14.129
l.root-servers.net.     518400  IN      A       199.7.83.42
m.root-servers.net.     518400  IN      A       202.12.27.33
a.root-servers.net.     518400  IN      AAAA    2001:503:ba3e::2:30
d.root-servers.net.     518400  IN      AAAA    2001:500:2d::d
f.root-servers.net.     518400  IN      AAAA    2001:500:2f::f
h.root-servers.net.     518400  IN      AAAA    2001:500:1::803f:235
i.root-servers.net.     518400  IN      AAAA    2001:7fe::53
j.root-servers.net.     518400  IN      AAAA    2001:503:c27::2:30
k.root-servers.net.     518400  IN      AAAA    2001:7fd::1
l.root-servers.net.     518400  IN      AAAA    2001:500:3::42
m.root-servers.net.     518400  IN      AAAA    2001:dc3::35

;; Query time: 115 msec
;; SERVER: 199.7.83.42#53(199.7.83.42)
;; WHEN: Tue Dec 20 04:34:09 2011
;; MSG SIZE  rcvd: 1951

Questo è praticamente il nostro file “cache”.

A questo punto riavviando il nostro demone, esso sarà in grado di gestire le richieste di risoluzione della nostra rete locale e permetterci di navigare senza problemi.

Scritto da

Share