:: DJBDNS |
Nome del pacchetto: | djbdns | |
Sito di riferimento: | http://cr.yp.to/djbdns.html | |
Autore: | D. J. Bernstein | |
Versione presentata: | v. 1.05 | |
Categoria port: | DNS |
:: Descrizione del pacchetto | |||||||||||||||||||||||||||||||||||||||
Djbdns è stato sviluppato da Dan Bernstein per poter rimpiazzare e/o integrare il più ben noto software BIND.
E' composto da una serie di programmi ognuno dei quali offre funzionalità differenti a seconda delle necessità.
|
:: Installazione | ||||||
Installiamo il pacchetto dalla lista dei ports del nostro sistema con i comandi:
E l'installazione è completata. A questo punto, data la grande modularità di questo pacchetto è necessario scegliere i moduli da installare stando ovviamente attenti a non far girare degli applicativi che utilizzino lo stesso tipo e numero di porta sullo stesso indirizzo ip. tinydns tinydns è un server dns (porta udp 53) che si limita a rispondere alle query mediante l'utilizzo del solo proprio database. Per installarlo basta semplicemente digitare:
Con il primo comando si crea un utente chiamato tinydns che verrà usato dallo stesso programma durante il suo funzionamento. Mentre con il secondo viene creata la struttura delle directory necessarie al funzionamento del software stesso. E' bene notare che: - tinydns e dnslog sono i nomi degli utenti usati rispettivamente dai programmi tinydns e multilog; - /usr/local/service/tinydns è la directory dove si vuole installare il server dns; - mentre 1.2.3.4 è l'indirizzo di rete del computer locale da dove si vuole che il server accetti le chiamate. dnscache dnscache è un software (porta udp 53) in grado di risolvere e memorizzare i risultati delle query ricevute. Per installarlo basta semplicemente digitare:
Con il primo comando si crea un utente chiamato dnscache che verrà usato dallo stesso programma durante il suo funzionamento. Mentre con il secondo viene creata la struttura delle directory necessarie al funzionamento del software stesso. E' bene notare che: - dnscache e dnslog sono i nomi degli utenti usati rispettivamente dai programmi dnscache e multilog; - /usr/local/service/dnscache è la directory dove si vuole installare il server dns; - mentre 1.2.3.4 è l'indirizzo di rete del computer locale da dove si vuole che il server accetti le chiamate. axfrdns axfrdns è un programma (porta tcp 53) che consente il trasferimento di determinati domini contenuti nel file data di tinydns. E' quindi necessario aver precedentemente installato e configurato tinydns. Per installarlo basta semplicemente digitare:
Con il primo comando si crea un utente chiamato axfrdns che verrà usato dallo stesso programma durante il suo funzionamento. Mentre con il secondo viene creata la struttura delle directory necessarie al funzionamento del software stesso. E' bene notare che: - axfrdns e dnslog sono i nomi degli utenti usati rispettivamente dai programmi axfrdns e multilog; - /usr/local/service/dnscache è la directory dove si vuole installare il server dns; - /usr/local/service/tinydns è la directory dove è stato installato tinydns e da dove verranno prelevati i dati; - mentre 1.2.3.4 è l'indirizzo di rete del computer locale da dove si vuole che il server accetti le chiamate. daemontools Una volta creata la struttura delle directory dove sono collocati i dati dei vari programmi basterà semplicemente richiamare l'utility svscan con la seguente sintassi:
Svscan si occuperà di controllare che ciascuno dei software installati nella directory /usr/local/service sia sempre funzionante. In caso contrario tenterà di riavviarlo. Per fare in modo che l'avvio di tutto questo avvenga in modo automatico è necessario compiere i seguenti passi:
Da notare che lo script andrà poi personalizzato a seconda delle directory dove si sono installati e configurati gli applicativi che si vogliono far girare sul proprio computer. |
:: Configurazione | |||||||||||||||||||||||||||||||||||||||||||
Questo programma, così come gli altri compresi nel
pacchetto djbdns, una volta installati presentano una gerarchia
delle directory molto simile. Brevemente possiamo sintetizzarla
in questo modo:
Passiamo ora ad illustrare il significato di ciascuno di questi files: run* contengono i comandi che svscan deve eseguire per poter avviare tinydns e multilog; current* archivia tutti i messaggi di log elaborati dal programma multilog; ROOT* generalmente ha la stringa "/usr/local/service/tinydns/root" perchè indica al server dns dove trovare il database del o dei domini; IP indica a tinydns da quale indirizzo ip del computer locale ricevere le query. Il suo valore di default è 0.0.0.0 e stà ad indicare tutti gli indirizzi ip disponibili. E' comunque possibile modificarlo ed assegnare un solo indirizzo; data.cdb versione compilata del file data; data database dei domini utilizzati dal server dns. * (generalmente non vanno modificati) Per poter inserire nel file data le informazioni necessarie a far funzionare correttamente il server dns è necessario seguire un preciso formato, qui di seguito sintetizzato:
Per poter chiarire meglio ciò appena illustrato qui di seguito viene riportato un esempio:>
dnscache E' bene ricordare che dnscache pur non essendo un server dns vero e proprio, ne imita molto il comportamento in quanto accetta le query dai client abilitati e provvede ad interrogare i server dns appropriati. Al termine di questa routine provvederà poi, se abilitato, alla memorizzazione del risultato al fine di evitare inutili e ridondanti interrogazioni.
run* contengono i comandi che svscan deve eseguire per poter avviare dnscache e multilog; current* archivia tutti i messaggi di log elaborati dal programma multilog; ROOT* generalmente ha la stringa "/usr/local/service/dnscache/root" perchè in essa sono contenuti i parametri di risoluzione delle query; IP e IPSEND indicano a cachedns da quale indirizzo ip del computer locale ricevere le query. Il suo valore di default è 0.0.0.0 e stà ad indicare tutti gli indirizzi ip disponibili. E' comunque possibile modificarlo ed assegnare un solo indirizzo; CACHESIZE imposta il limite, in bytes, della cache impiegata per archiviare i risultati delle query; DATALIMIT imdica il limite massimo di memoria utilizzabile da dnscache; le directory ip e server contengono i files che permettono rispettivamente di autorizzare determinati indirizzi ip di possibili client e tenere traccia dei server da contattare per la risoluzione delle query a determinati domini. * (generalmente non vanno modificati) Per indicare ad esempio che solamente i client con indirizzo ip 1.2.3.* possono interrogare il dns cache è necessario eseguire il seguente comando:
Nella directory /usr/local/service/dnscache/root/servers è presente un file @ nel quale sono indicati gli indirizzi ip dei root server da contattare nel caso in cui non sia diversamente specificato. Nel caso in cui invece si voglia abbinare uno o più servers ad un determinato dominio (ad esempio rete.dom) è sufficente compiere i seguenti passi:
axfrdns La gerarchia delle directory in axfrdns è la seguente:
run* contengono i comandi che svscan deve eseguire per poter avviare axfrdns e multilog; current* archivia tutti i messaggi di log elaborati dal programma multilog; ROOT* generalmente ha la stringa "/usr/local/service/dnscache/root" perchè in essa sono contenuti i parametri di risoluzione delle query; IP e IPSEND indicano a cachedns da quale indirizzo ip del computer locale ricevere le query. Il suo valore di default è 0.0.0.0 e stà ad indicare tutti gli indirizzi ip disponibili. E' comunque possibile modificarlo ed assegnare un solo indirizzo; tcp.cdb versione compilata del file tcp; tcp database degli host abilitate al trasferimento di zona di determinati domini; * (generalmente non vanno modificati) La sintassi del file tcp è molto simile a quella usata per configurare il pacchetto ucspi-tcp:
con la prima riga si nega il trasferimento di zona dei due domini al computer con indirizzo 1.2.3.4 mentre con la seconda si autorizza tutti i client della 1.2.3.*; ma in entrambi i casi solo per i domini specificati. |
|||||||||||||||||||||||||||||||||||||||||||
:: Tools | |||||||||
axfr-get
oppure in alternativa:
dove rete.dom è il dominio di cui si vuole effettuare il trasferimento; dove data è il nome del file sul quale salvare il risultato; dove data.tmp è il file provvisorio creato. La differenza tra i due comandi è che il primo utilizza l'indirizzo del server dns indicato dalla direttiva nameserver contenuta del file /etc/resolv.conf mentre il secondo interroga direttamente il server dns all'indirizzo 1.2.3.4. Questa utility si collega al server autoritativo per il dominio specificato alla porta tcp 53 ed effettua, se autorizzato, il prelievo dei dati. Se il file data esiste già axfr-get confronta i numeri seriali ed effettua il trasferimento solo se quello fornito dal server dns è maggiore di quello presente nel file data. dnsfilter dnsfilter è una utility che una volta avviata attende l'immissione da parte dell'utente di una serie di indirizzi ip che provvederà immediatamente alla conversione in nomi dns qualificati. Per interrompere l'immissione dei dati basterà semplicemente premere i tasti Ctrl+c. dnsip dnsip è una utility che converte il nome fornito nella riga di comando nel rispettivo indirizzo ip. La sintassi è la seguente:
dove server.rete.dom è il nome del computer di cui si vuole conoscere l'indirizzo di rete. dnsipq Il comportamento di dnsipq è molto simile a quello di dnsip se non per il fatto che oltre a fornire l'indirizzo di rete visualizza anche il nome qualificato. La sintassi è la seguente:
dove server.rete.dom è il nome del computer di cui si vuole conoscere l'indirizzo di rete. dnsname dnsname visualizza il nome qualificato dell'indirizzo di rete fornito. Nel caso in cui vengano forniti più indirizzi il programma si limiterà a compiere tale operazione per ognuno dei valori impartiti. La sintassi è la seguente:
dove 1.2.3.4 è l'indirizzo o gli indirizzi di cui si vuole conoscere il rispettivo nome qualificato. dnsmx dnsmx ricerca i record mail exchange per un determinato dominio. La sintassi è la seguente:
dove rete.dom è il dominio od il nome del computer per il quale ricercare record di tipo mx. Se inesistente qualsiasi record di questo tipo, dnsmx scrive il risultato simulando il comportamente di un qualsiasi MTA. dnstxt dnstxt ricerca record di tipo txt associati ad un determinato host. La sintassi è la seguente:
dove server.rete.dom è il nome del computer per il quale ricercare record di tipo txt. dnsqr dnsqr effettua delle query ricorsive per estrapolare da un determinato dominio tutti i records di un certo tipo. La sintassi è la seguente:
dove tipo è il tipo di record da ricercare e puo essere: a, any, soa, ns, aaaa, mx, cname, ptr, hinfo, rp, sig, key, axfr; dove server.rete.dom è il nome del dominio dal quale estrapolare il tipo di informazione richiesta. dnsq dnsq effettua delle query non ricorsive ad un determinato server dns per estrapolare da un determinato dominio tutti i records di un certo tipo. La sintassi è la seguente:
dove tipo è il tipo di record da ricercare e puo essere: a, any, soa, ns, aaaa, mx, cname, ptr, hinfo, rp, sig, key, axfr; dove rete.dom è il nome del dominio dal quale estrapolare il tipo di informazione richiesta; dove server.rete.dom è il nome del server dns da interrogare. |
[ Pagina principale ] |