Repository 32bit  Forum
Repository 64bit  Wiki

Djbdns on Slackware: l'alternativa al BIND: differenze tra le versioni

Da Slacky.eu.
 
(Introduzione)
Riga 1: Riga 1:
[[Category:Networking]]
[[Category:Networking]]
= Introduzione =
= Introduzione =
  +
Mi è capitato di dover utilizzare su di sistema con distribuzione 9.0 Djbdns, programma alter alternativo al BIND
  +
scritto dal noto Daniel J. Bernstein. Mi sono un pò documentato e ho inizialmente pensato che gestire questo programma
  +
come dns server fosse complesso ( i DNS in genere lo sono, almeno per me!).
  +
In realtà la complessità di questo programma è dovuta alla poca documentazione e alla sua scarsa diffusione,
  +
ma in realtà il suo funzionamento è abbastanza semplice specie per chi ha dimestichezza con i programmi del noto
  +
Daniel J. Bernstein, come Qmail e daemontools ad esempio.
  +
E' vero, rispetto al Bind manca di molte features, e la sua licenza non è GPL (un limite non da poco), ma chi volesse
  +
utilizzarlo potrebbe puntare su di un aspetto non secondario, la sicurezza. Sul sito ufficiale trovate una pagina
  +
"The djbdns security guarantee" dove DJB offre in maniera esplicita 500$ a chi gli segnala dei bugs di sicurezza del programma,
  +
citto testualmente:
  +
http://cr.yp.to/djbdns/guarantee.html
  +
  +
"I offer $500 to the first person to publicly report a verifiable security hole in the latest version of djbdns."
  +
  +
Questo sembra essere un buon motivo, anche se in realtà credo che molto dipenda dalle abitudini e dalle necessità di chi
  +
attiva il servizio, il quale sceglie il programma che meglio conosce o che meglio si adatta alla situazione che deve affrontare.
  +
In realtà alla fine della configurazione, mi sono accorto che questo programma è abbastanza semplice
  +
(almeno per un uso standard) e molto leggero per il sistema, inoltre abbinandolo a daemontools abbiamo la sicurezza che in
  +
caso di caduta, il servizio venga rilanciato.
  +
  +
Un pò al pari di Qmail, altro prodotto famoso di DJB, djbdns si caratterizza per un'archetettura strutturale completamente
  +
diversa al BIND, che con un solo demone e alcuni file di configurazione fa tutto. Qui invece, come per lo stesso Qmail,
  +
abbiamo diversi programmi, ognuno per una funzione specifica.
  +
Prima di iniziare mi sono letto l'HOWTO pubblicato da Luca Morettoni
  +
  +
http://morettoni.net/docs/djbdns.html
  +
  +
indispensabile per capèirne il funzionamento, da cui ho tratto alcuni spunti per scrivere questo breve documento.
  +
  +
Il mio interesse era semplificare al minimo i passaggi e quindi la documentazione necessaria per arrivare a raggiungere
  +
il mio obbiettivo, ovvero quello di impostare un resolver per una rete locale che fosse anche autoritativo su di un dominio
  +
interno (zona). Autoritativo per una zona, come sappiamo, significa essere il responsabile della risoluzione finale degli host
  +
per quel dominio.
  +
Quindi il compito è duplice il primo forse più semplice del secondo, prevede un pò più di conoscenze teoriche sull'utilizzo dei DNS.
  +
Per far funzionare il tutto nella maniera più coretta, le risorse necessarie sono rappresentate da due pacchetti:
  +
'''djbdns''' e '''daemontools''' reperibili su
  +
http://cr.yp.to/djbdns.html
  +
http://cr.yp.to/daemontools.html
  +
  +
Daemontoools è necessario per l'avvio e la gestione del demone, consente di monitorarlo e di averlo sempre attivo.
  +
L'uso di daemontools è già descritto in questo breve documento che trovate su
  +
http://www.sistemistiindipendenti.org/modules/news/article.php?storyid=47
  +
== Installare daemontools ==
== Installare daemontools ==
  +
L'istallazione di daemontools è semplice dopo aver scompattato il pacchetto basta eseguire
  +
  +
root@box:/usr/src/admin/daemontools-0.76# ./package/install
  +
  +
In pratica daemontools fa partire in modalità "respawn" dall'inttab il programma '''svscanboot''' (per tutti i run level),
  +
il quale a sua volta esegue e controlla il programma '''svscan'''. Quest'ultimo analizza il contenuto della directory /service,
  +
che viene creata anch'essa sul sistema all'atto dell'installazione di daemontools, e grazie al programma supervise potrà
  +
controllare i processi che abbiamo deciso di monitorare e li rieseguirà nel caso in cui questi non dovessero più essere in esecuzione.
  +
Ovviamente il fatto di utilizzare l'inittab è legato al fatto che '''init''' il padre di tutti i processi, riavvia in automatico tutti i processi
  +
che sono sotto il suo diretto controllo
  +
  +
SV:123456:respawn:/command/svscanboot
  +
  +
Questo programma controlla ogni 5 secondi le directory (link simbolici alle directory radice dei programmi da monitorare)
  +
contenute in /service che contengono, a loro volta, i file di configurazione per eseguire i vari servizi.
  +
Appena svscan trova una nuova directory e quindi un nuovo servizio da gestire, '''svscan''' lancia un nuovo processo,
  +
supervice. Ogni demone supervice esegue il servizio cui è associato e lo fa ripartire nel caos in cui questo terminasse
  +
in modo imprevisto.
  +
== Installare Djbdns ==
== Installare Djbdns ==
  +
L'installazione di djbdns non è complessa, ma al pari della sua configurazione, molto diversa dal bind.
  +
cd /usr/src
  +
tar zxvf djbdns-1.05.tar.gz
  +
  +
make - compila
  +
make setup check - installa
  +
  +
Gli eseguibili vengono installati in /usr/local/bin
  +
  +
root@box:/service# which tinydns
  +
/usrlocal/bin/tinydns
  +
tinydns tinydns-conf tinydns-data tinydns-edit tinydns-get
  +
  +
L'uso del servizio si basa sostanzialmente su due di questi eseguibili:
  +
  +
* dnscache: è un DNS cache server che consente la risoluzione di domini esterni effettuandone la cache sul sistema
  +
* tinydns: è il DNS vero e proprio con cui poter gestire le zone di un dominio.
  +
  +
Il nostro obbiettivo preveda come prima cosa l'installazione di un resolver (dns cache server) in grado di fornire il servizio
  +
per i client della rete locale. Per prima cosa abbiamo installato e configurato dnscache, il programma che nel pacchetto
  +
consente di abilitare questo servizio
  +
= Installazione di Dnscache =
= Installazione di Dnscache =
= Installazione di Tinydns =
= Installazione di Tinydns =

Versione delle 21:21, 9 nov 2006

Indice

Introduzione

Mi è capitato di dover utilizzare su di sistema con distribuzione 9.0 Djbdns, programma alter alternativo al BIND scritto dal noto Daniel J. Bernstein. Mi sono un pò documentato e ho inizialmente pensato che gestire questo programma come dns server fosse complesso ( i DNS in genere lo sono, almeno per me!). In realtà la complessità di questo programma è dovuta alla poca documentazione e alla sua scarsa diffusione, ma in realtà il suo funzionamento è abbastanza semplice specie per chi ha dimestichezza con i programmi del noto Daniel J. Bernstein, come Qmail e daemontools ad esempio. E' vero, rispetto al Bind manca di molte features, e la sua licenza non è GPL (un limite non da poco), ma chi volesse utilizzarlo potrebbe puntare su di un aspetto non secondario, la sicurezza. Sul sito ufficiale trovate una pagina "The djbdns security guarantee" dove DJB offre in maniera esplicita 500$ a chi gli segnala dei bugs di sicurezza del programma, citto testualmente: http://cr.yp.to/djbdns/guarantee.html

"I offer $500 to the first person to publicly report a verifiable security hole in the latest version of djbdns."

Questo sembra essere un buon motivo, anche se in realtà credo che molto dipenda dalle abitudini e dalle necessità di chi attiva il servizio, il quale sceglie il programma che meglio conosce o che meglio si adatta alla situazione che deve affrontare. In realtà alla fine della configurazione, mi sono accorto che questo programma è abbastanza semplice (almeno per un uso standard) e molto leggero per il sistema, inoltre abbinandolo a daemontools abbiamo la sicurezza che in caso di caduta, il servizio venga rilanciato.

Un pò al pari di Qmail, altro prodotto famoso di DJB, djbdns si caratterizza per un'archetettura strutturale completamente diversa al BIND, che con un solo demone e alcuni file di configurazione fa tutto. Qui invece, come per lo stesso Qmail, abbiamo diversi programmi, ognuno per una funzione specifica. Prima di iniziare mi sono letto l'HOWTO pubblicato da Luca Morettoni

http://morettoni.net/docs/djbdns.html

indispensabile per capèirne il funzionamento, da cui ho tratto alcuni spunti per scrivere questo breve documento.

Il mio interesse era semplificare al minimo i passaggi e quindi la documentazione necessaria per arrivare a raggiungere il mio obbiettivo, ovvero quello di impostare un resolver per una rete locale che fosse anche autoritativo su di un dominio interno (zona). Autoritativo per una zona, come sappiamo, significa essere il responsabile della risoluzione finale degli host per quel dominio. Quindi il compito è duplice il primo forse più semplice del secondo, prevede un pò più di conoscenze teoriche sull'utilizzo dei DNS. Per far funzionare il tutto nella maniera più coretta, le risorse necessarie sono rappresentate da due pacchetti: djbdns e daemontools reperibili su http://cr.yp.to/djbdns.html http://cr.yp.to/daemontools.html

Daemontoools è necessario per l'avvio e la gestione del demone, consente di monitorarlo e di averlo sempre attivo. L'uso di daemontools è già descritto in questo breve documento che trovate su http://www.sistemistiindipendenti.org/modules/news/article.php?storyid=47

Installare daemontools

L'istallazione di daemontools è semplice dopo aver scompattato il pacchetto basta eseguire

root@box:/usr/src/admin/daemontools-0.76# ./package/install

In pratica daemontools fa partire in modalità "respawn" dall'inttab il programma svscanboot (per tutti i run level), il quale a sua volta esegue e controlla il programma svscan. Quest'ultimo analizza il contenuto della directory /service, che viene creata anch'essa sul sistema all'atto dell'installazione di daemontools, e grazie al programma supervise potrà controllare i processi che abbiamo deciso di monitorare e li rieseguirà nel caso in cui questi non dovessero più essere in esecuzione. Ovviamente il fatto di utilizzare l'inittab è legato al fatto che init il padre di tutti i processi, riavvia in automatico tutti i processi che sono sotto il suo diretto controllo

SV:123456:respawn:/command/svscanboot

Questo programma controlla ogni 5 secondi le directory (link simbolici alle directory radice dei programmi da monitorare) contenute in /service che contengono, a loro volta, i file di configurazione per eseguire i vari servizi. Appena svscan trova una nuova directory e quindi un nuovo servizio da gestire, svscan lancia un nuovo processo, supervice. Ogni demone supervice esegue il servizio cui è associato e lo fa ripartire nel caos in cui questo terminasse in modo imprevisto.

Installare Djbdns

L'installazione di djbdns non è complessa, ma al pari della sua configurazione, molto diversa dal bind.

cd /usr/src
tar zxvf djbdns-1.05.tar.gz
make - compila
make setup check - installa

Gli eseguibili vengono installati in /usr/local/bin

root@box:/service# which tinydns
/usrlocal/bin/tinydns
tinydns tinydns-conf tinydns-data tinydns-edit tinydns-get

L'uso del servizio si basa sostanzialmente su due di questi eseguibili:

  • dnscache: è un DNS cache server che consente la risoluzione di domini esterni effettuandone la cache sul sistema
  • tinydns: è il DNS vero e proprio con cui poter gestire le zone di un dominio.

Il nostro obbiettivo preveda come prima cosa l'installazione di un resolver (dns cache server) in grado di fornire il servizio per i client della rete locale. Per prima cosa abbiamo installato e configurato dnscache, il programma che nel pacchetto consente di abilitare questo servizio

Installazione di Dnscache

Installazione di Tinydns

Note

Note finali

Strumenti personali
Namespace

Varianti