Davanti ad un problema il matematico cerca di ricondurlo ad una formula matematica, il fisico cerca di risalire al fenomeno fisico che lo ha prodotto, l'informatico spegne e riaccende.

— Anonimo

Rispondi al commento

DNS dinamico & DHCP (2)

http://www.stenoweb.it/files/blog/ddns.png Dopo aver visto come configurare un semplice servizio di caching DNS con Bind9 (Berkley Internet Name Daemon Version 9) e Ubuntu (la versione LTS, Hardy Heron 8.04), vediamo qualcosa di più utile nella configurazione di una LAN aziendale. Configuriamo il DNS come master per il nostro dominio per fare in modo che oltre al caching dei nomi esterni, risolva anche i nomi host della rete locale.

Cosa abbiamo

Nel nostro dominio stenoit.com supponiamo di aver questi quattro host a cui vogliamo associare un IP fisso:

Ruolo IP nome host Alias
DNS Server 192.168.1.1 dns
Mail Server 192.168.1.2 mail pop3 smtp
Web Server 192.168.1.3 web www
Workstation 192.168.1.10 wks01

Notiamo che il Mail server ha due “alias” (canonical name, CNAME) e il web server uno (www). In questo modo possiamo avere, semplicemente, più nomi riferiti allo stesso IP.

Configuriamo le “Zones”

Ubuntu (a dire il vero in tradizione Debian) installa un file di configurazione (/etc/named.conf) che, se non in casi particolari, non ha bisogno di essere modificato. Tutte le nostre personalizzazioni le facciamo su di un apposito file secondario:

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

Aggiungiamo la definizione di zona per l'associazione IP->host del nostro dominio:
zone “stenoit.com” IN {
type master;
file “/etc/bind/zones/stenoit.com.db”;
};

e la sua corrispondente “reverse zone” che serve per l'associazione “contraria” host->IP. Per maggiori informazioni su come funziona un DNS vi rimando ad una documentazione più dettagliata:
zone “1.168.192.in-addr.arpa” {
type master;
file “/etc/bind/zones/1.168.192.in-addr.arpa”;
};

Creazione records DNS

Ora che abbiamo i due file a disposizione non ci resta che “popolarli” con i mappaggi host->IP nel file /etc/bind/zones/stenoit.com.db e l'inverso (il famigerato “reverse”) IP->Host in /etc/bind/zones/1.168.192.in-addr.arpa.
sudo mkdir /etc/bind/zones
sudo nano /etc/bind/zones/stenoit.com.db

Ecco cosa andremo ad inserire, con qualche piccola spiegazione:
stenoit.com. IN SOA dns.stenoit.com. admin.stenoit.com. (
2009260401 ; numero di serie
8H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)

  • Il “.” extra alla fine dei nomi host è importante, indica che il nome scritto è completo. Omettendolo verrebbe automaticamente aggionto il nome dominio in coda.
  • I parametri settano quando i record DNS spirano ecc.
  • “admin.stenoit.com” non è un nome host, ma l'indirizzo di posta (admin@stenoit.com) dell'amministratore.
  • Il numero di serie è importante, per evitare conseguenze indesiderate deve essere sempre aggiornato ad ogni modifica manuale della tabella dei records. Una buona abitudine è adottare un formato anno-mese-giorno-progressivo (AAAAMMGGSS).

Andiamo avanti:

stenoit.com.       IN   NS         dns.stenoit.com.
stenoit.com. IN MX 10 mail.stenoit.com.

pop3 IN CNAME mail.stenoit.com.
smtp IN CNAME mail.stenoit.com.
www IN CNAME web.stenoit.com.

localhost IN A 127.0.0.1

dns IN A 192.168.1.1
mail IN A 192.168.1.2
web IN A 192.168.1.3

wks01 IN A 192.168.1.10

  • NS indica che “dns” è il Name Server di “stenoit.com”
  • MX che “mail” è il mail server del dominio (10 è la priorità, possono essere definiti più mail servers)
  • i “CNAME” definiscono gli alias. Ad esempio “web” e “www” indicano lo stesso host.
Ora occupiamoci del “reverse”:
sudo nano /etc/bind/zones/1.168.192.in-addr.arpa

In questo file dobbiamo definire l'equivalenza inversa IP->Host.
@ IN SOA dns.stenoit.com. admin.stenoit.com. (
2009042601 ; serial
8H ; refresh
4H ; retry
4W ; expire
1D ; minimum
)

IN NS dns.stenoit.com.

1 IN PTR dns.stenoit.com.
2 IN PTR mail.stenoit.com.
3 IN PTR web.stenoit.com.

10 IN PTR wks01.stenoit.com.

Riavvio del servizio

Ora non ci resta che riavviare il servizio.

sudo /etc/init.d/bind9 restart

e testare che tutto funzioni:
dig web.stenoit.com

Se ci sono problemi controllare il file di LOG, a volte basta sbagliare un nonnulla per far si che Bind diventi capriccioso e rifiuti di avviarsi.

Il nostro DNS è pronto e funzionante. In una moderna installazione mancano però ancora un paio di tasselli importanti: il DHCP per assegnare automaticamente l'indirizzo IP a chi ne fa richiesta e il conseguente aggiornamento automatico delle tabelle DNS. Lo vedremo nel proseguo.

Bye.

Rispondi

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.