vodkone.estri.net

  • Increase font size
  • Default font size
  • Decrease font size
Home DNS Server ReteFaiX3 - Realizzare un DNS Server (Tutorial)

ReteFaiX3 - Realizzare un DNS Server (Tutorial)

Print
 
Schema rete DNS
Titolo:ReteFaiX3 - DNS server
Sistema:Ubuntu 9.04 server edition
Pacchetti:bind9, bind9utils
Contenuto:Brevi accenni teorici
 Insallazione di un DNS server
 Configurazione del servizio DNS

Teoria

Se avete seguito le parti precedenti della guida, avete una rete con un server ed un client collegati fisicamente tra loro mediante apparati appositi, probabilemente switch.
Quando collegate un qualsiasi device, sia esso server o client, che sia configurato per ottenere automaticamente un indirizzo IP, questo potrà scambiare dati con gli altri device presenti sulla rete. Allo stato attuale qualsiasi attività dobbiate fare dovete far riferimento agli oggetti tramite il loro indirizzo IP. Fino a qui tutto bene, il server è uno solo, ma quando i device saranno molti, come fare a tenere il passo con la distribuzione degli indirizzi? Ad ogni riavvio un server potrebbe aver cambiato indirizzo, se per qualsiasi motivo un client facesse accesso ad una risorsa presente sul server, dovreste cambiare la configurazione di detto client.
Per ovviare a questa problematica, andremo oggi ad installare e configurare il servizio DNS.

L'acronimo per esteso equivale a "Domain Name System".
Questo servizio, che si basa sul protocollo omonimo, di fatto è un database che tiene traccia dell'associazione Nome Dispositivo - Indirizzo IP e permette di reperire, tramite il protocollo DNS, le informazioni in esso contenute.
Ad esempio nel nostro caso nel database ci sarà l'accoppiata ServerUno - 192.168.1.1, Client di prova - 192.168.1.100.
Configurando opportunamente i dispositivi in modo che facciano riferimento al server DNS, sarà possibile accedere ai vari dispositivi utilizzando il loro nome host.
Vedremo in seguito come configurare il dhcp server in modo che assegni automaticamente anche l'indirizzo del DNS server insieme all'indirizzo dinamico.

Pratica

Dopo una veloce infarinatura, procediamo con l'installazione del servizio DNS server. Per praticità e convenienza economica procederemo con l'installazione sullo stesso server ove risiede il DHCP. Questi servizi, infatti, hanno poche pretese in termini di occupazione di spazio, di occupazione di memoria, di occupazione processore, pertanto possono convivere tranquillamente senza pestarsi i piedi.

Se partissimo da zero con l'installazione di un server ubuntu, potremmo scegliere direttamente in fase di installazione il ruolo "DNS Server". Avendo invece saltato quella configurazione sul nostro ServerUno, andremo a fare gli stessi passi in modalità amanuense.

Cominciamo lanciando il seguente comando (ovviamente dopo aver fatto logon con l'utenza creata durante l'installazione, chevvelodicoaffà!):

tasksel --list-tasks

che vi permetterà di controllare quali ruoli sono installati per questo server.

Proseguiamo eseguendo:

tasksel --task-packages dns-server

che vi mostrerà l'elenco dei pacchetti che sarebbero stati installati automaticamente se avessimo selezionato il ruolo DNS Server

Procediamo ora con l'installazione vera e propria eseguendo:

sudo tasksel install dns-server

inserite la vostra password ed attendete che sia ultimato il procedimento.

Digitando il comando:

netstat -tanp

vedrete che il vostro server è in ascolto sulla porta 53, indicante che il vostro servizio è attivo. Questa, infatti, è la porta tcp attraverso la quale viaggia il protocollo per interrogare il DNS.

Procediamo ora con la configurazione.
Innanzitutto dobbiamo configurare la zona dns primaria - quella che diventerà di fatto la zona autoritativa per il nostro dominio -, in fase di installazione del server avevo scelto come nome di dominio mioDominio (che fantasia!).
Bind9 usa il file named.conf per le configurazioni basilari del servizio ed include in fondo ad esso il file named.conf.local appositamente pensato per ospitare le configurazioni individuali.
Andiamo quindi a modificare questo file digitando:

sudo vi /etc/bind/named.conf.local

oppure

sudo nano /etc/bind/named.conf.local

ed inserendo le seguenti righe in fondo ad esso:

zone “mioDominio” IN {
type master;
file “/var/lib/bind/db.mioDominio”;
};

Così facendo abbiamo definito la zona associata al nostro dominio specificando in quale file devono essere contenute le informazioni del db del DNS.

Oltre a fare la ricerca dei nomi, il servizio DNS effettua le ricerche dette di reverse lookup ovvero partendo da un indirizzo IP segnala quale sia il nome host. Per far sì che funzioni anche questa parte del servizio bisogna aggiungere la zona di reverse sempre all'interno del file named.conf.local.
Aggiungiamo quindi in fondo al file le seguenti righe:

zone “1.168.192.in-addr.arpa” {
type master;
file “/var/lib/bind/db.1-168-192.in-addr.arpa”;
};

Così facendo abbiamo creato la zona di reverse lookup per la nostra subnet 192.168.1.0/24.
Definite le zone andiamo a popolare i database; digitiamo:

sudo vi /var/lib/bind/db.mioDominio

oppure

sudo nano /var/lib/bind/db.mioDominio

ed inseriamo le seguenti righe:

mioDominio. IN SOA serverUno.mioDominio. administrator.mioDominio. (
2009062501 ; numero di serie
12H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)

Abbiamo appena inserito il record principale (State Of Authority) della zona, che indica quale sia il dns di riferimento per la zona (serverUno.mioDominio), quale la mail di riferimento (nel mio caso administrator@mioDominio) e quali i parametri di aggiornamento dei record all'interno del db.
Importante: il numero di serie per praticità equivale alla data di ultima modifica e viene inserito nel formato "AAAAMMGGnn", dove nn e' un progressivo numerico a due cifre che permette di differenziare le variazioni avvenute nella stessa giornata.
Questo dato va modificato ogni qual volta viene aggiornato manualmente il file db del DNS. Altra considerazione importante: ogni FQN (Fully qualified name), ovvero ogni nome nella forma nome.dominio deve essere terminato da un punto, quindi ogni qual volta faremo riferimento ad esempio al server dns della nostra zona DNS all'interno dei file di configurazione dovremo scrivere: dns.mioDominio. e non dns.mioDominio (ora metto il punto di fine frase, non di fine FQN).
Procediamo con l'inserimento dopo il record SOA degli altri record, inserendo:

mioDominio. IN NS serverUno.mioDominio.
mioDominio. IN MX 10 serverDue.mioDominio.
mioDominio. IN MX 20 serverTre.mioDominio.

serverUno IN A 192.168.1.1
serverDue IN A 192.168.1.2
serverTre IN A 192.168.1.3

dns IN CNAME serverUno.mioDominio.
mail IN CNAME serverDue.mioDominio.
smtp IN CNAME serverDue.mioDominio.

Così facendo abbiamo inserito il record NS (Name Server) che identifica il domain server autoritativo, cioè il DNS che stiamo configurando, i record MX (Mail eXchange) usati per identificare i server di posta con la relativa priorità (il principale è quello col numero più basso), i record A (Address) che identificano delle associazioni Nome - Indirizzo e dei record CNAME (Canonical NAME) che aggiungono degli alias ai server già inseriti. Nel nostro caso il server dns risponderà sia al nome dns.mioDominio, sia a ServerUno.mioDominio.

Adesso proseguiamo configurando il file della zona di reverse digitando:

sudo vi /var/lib/bind/db.1-168-192.in-addr.arpa

oppure

sudo nano /etc/bind/db.1-168-192.in-addr.arpa

ed inserendo le seguenti righe di configurazione:

1.168.192.in-addr.arpa. IN SOA serverUno.mioDominio. administrator.mioDominio. (
2009062501 ; numero di serie
12H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)

1.168.192.in-addr.arpa. IN NS serverUno.mioDominio.

1 IN PTR serverUno.mioDominio.
2 IN PTR serverDue.mioDominio.

Così facendo abbiamo inserito i record PTR (PoinTeR) di reverse.
Ora possiamo verificare che quanto fatto fino ad ora funzioni realmente.
Riavviamo il servizio BIND9 eseguendo il comando:

sudo /etc/init.d/bind9 restart

Se tutto va come dovrebbe, dovremmo avere "OK" in risposta allo start del servizio. In caso contrario consiglio di controllare i log sotto /var/log/syslog, molto probabilmente avete commesso qualche piccolo errore o svista nella configurazione.
Accertiamoci che il server DNS del nostro server sia impostato su sè stesso eseguendo:

cat /etc/resolv.conf

se il nameserver impostato è corretto (192.168.1.1) allora possiamo proseguire digitando:

nslookup serverUno

se tutto fila liscio dovremmo ottenere di risposta l'indirizzo ovvero 192.168.1.1

Ora andiamo a testare il reverse lookup eseguendo:

nslookup 192.168.1.2

dovremmo avere in risposta 2.1.168.192.in-addr.arpa name serverDue.mioDominio
Come da figura qui sotto.

Termina qui l'installazione base del secondo servizio della nostra rete fai-da-te.
Vi lascio con qualche link e qualche suggerimento di ricerca per ulteriori approfondimenti o per eventuali errori non previsti.

Per approfondire:

Errori di configurazione DNS (EN)
Il servizio bind9 non parte (EN)
Il servizio dns non risolve i nomi (EN)



blog comments powered by Disqus
Last Updated on Saturday, 19 September 2009 22:34  


Banner top aggregator

Notizie dal mondo linux

lffl linux freedom
news dal mondo linux - ubuntu
  • Ufficiale: Meizu e Canonical annunciano il Meizu PRO 5 Ubuntu Edition

    Il produttore cinese Meizu in partnership con Canonical, celebre casa sviluppatrice della distro Linux Ubuntu, ha annunciato ufficialmente il Meizu PRO 5 Ubuntu Edition, come anticipatovi nei giorni scorsi.

    Il dispositivo rappresenta uno degli attuali top di gamma del mercato con un comparto hardware di altissimo profilo ed un design premium caratterizzato da una scocca in metallo.

    Continua a leggere...
  • Windows 10: tracce di Linux nell'ultima build?
    Secondo quanto riportato da alcuni utenti in rete, l'ultima build di Windows 10, il sistema operativo sviluppato da Microsoft, conterrebbe "tracce" di Linux.

    Nello specifico nei file di sistema della build 14251 di Windows 10 sono presenti LXCore.sys e LXss.sys.

    Continua a leggere...
  • MaruOS: Android si fonde con Debian in questa nuova "Convergence"
    Abbiamo parlato spesso della Convergence o Convergenza se vogliamo italianazzarlo, ovvero di quella funzionalità su cui sta puntando Canonical per rendere perfettamente adattabile e scalabile Ubuntu in base al dispositivo utilizzato che sia uno smartphone, un tablet o un PC.

    Di recente ha fatto la sua comparsa un nuovo competitor in questo settore. Stiamo parlando di MaruOS, un progetto che ambisce ad offrire un'alternativa a Convergence di Canonical e Continuum di Microsoft.

    Continua a leggere...
  • Aquaris M10 Tablet: finalmente arriva la Convergence di Ubuntu?
    Uno delle funzionalità più attese dagli utenti Ubuntu è sicuramente Convergence, profilo software che consente di passare dalla modalità "mobile" di un tablet o uno smartphone alla modalità Desktop semplicemente collegando il dispositivo stesso ad un monitor.

    Il nuovo tablet di Ubuntu, l'Aquaris M10, dovrebbe essere finalmente in grado di offrire tale funzionalità in maniera stabile e pienamente operativa.


    Continua a leggere...
  • Linus Torvalds annuncia la seconda RC di Linux Kernel 4.5
    Linus Torvalds ha annunciato la seconda release candidate del Linux Kernel 4.5 che apporta molteplici migliorie risultando, come dichiarato, un upgrade sicuramente maggiore rispetto alla prima release candidate.


    Continua a leggere...