Creare una zona in BIND (Primary Master Only)

Prima di leggere questo post assicuratevi di aver configurato correttamente BIND come spiegato nel tutorial Configurare il DNSServer BIND per supportare DNSSec.

È venuto adesso il momento di creare la zona per il nostro dominio. Per effettuare ciò è necessario aggiungerla al file named.conf.local.
Dovremmo aggiugnere una cosa del tipo:

zone "lucafrosini.eu" {
	type master;
	file "/var/lib/bind/lucafrosini.eu";
};

In questo tutorial non spiegherò come configurare bind per gestire Caching Server, Primary Master Server, Secondary Master Server, Stealth Servers. Se ne avete bisogno trovate dei buoni tutorial alle seguenti pagine:
http://wiki.ubuntu-it.org/Server/Dns
https://help.ubuntu.com/community/BIND9ServerHowto
http://www.cyberciti.biz/faq/unix-linux-bind-named-configuring-tsig/

Se avete bisogno di Primary e Secondary Master trovate questo articolo esteso qui:
Creare una zona in BIND (Primary and Secondary Master)

La mia scelta è stata quella di creare il file lucafrosini.eu nella directory /var/lib/bind. Uso questo percorso per avere un configurazione speculare sul Secondary Master, che non dia problemi di diritti in scrittura ad apparmor. Per adesso fidatevi, ma sicuramente estenderò la guida per configurare il Secondary Master.

Create quindi il file lucafrosini.eu nella directory /var/lib/bind/.
~$ sudo touch /var/lib/bind/lucafrosini.eu

I permessi del file della zona saranno essere del tipo:
~$ ls -la /var/lib/bind/lucafrosini.eu
-rw-r--r-- 1 root root 0 nov 18 10:17 lucafrosini.eu

A questo punto occorre editare il file per configurare la zona:
~$ sudo nano /var/lib/bind/lucafrosini.eu

;
; BIND data file for lucafrosini.eu
;
$TTL 	3600
@       IN      SOA     ns1.lucafrosini.eu. (
		2013111501	; serial, YYYYMMDDSS where SS is the serial
		7200		; refresh
		540		; retry
		604800		; expire
		86400 )		; minimum
;
@       IN      NS      ns1.lucafrosini.eu.
ns1	IN	A	146.48.85.137

Vi dico subito che questa configurazione non funziona perchè BIND non accetta un solo NAMESERVER autoritativo.

Con il comando named-checkzone zonename filename è possibile controllare la validità di una zona.
~$ named-checkzone lucafrosini.eu /var/lib/bind/lucafrosini.eu
dns_rdata_fromtext: lucafrosini.eu:10: near eol: unexpected end of input
zone lucafrosini.eu/IN: loading from master file lucafrosini.eu failed: unexpected end of input
zone lucafrosini.eu/IN: not loaded due to errors.
Tra l’altro il messaggio di errore è criptico e cercando in rete non si riesce subito a trovare la soluzione, motivo per il quale ho voluto mettere questa avvertenza.

N.B. Per ovviare a tale errore ho dovuto aggiungere ns2.lucafrosini.eu. È chiaro che così non ha senso perchè dovrebbe stare su un macchina diversa configurata come Secondary Master.
Correggiamo quindi la zona in

;
; BIND data file for lucafrosini.eu
;
$TTL 	3600
@       IN      SOA     ns1.lucafrosini.eu. ns2.lucafrosini.eu. (
		2013111501	; serial, todays date + todays serial #
		7200		; refresh
		540		; retry
		604800		; expire
		86400 )		; minimum
;
@       IN      NS      ns1.lucafrosini.eu.
@	IN      NS      ns2.lucafrosini.eu.
ns1	IN	A	146.48.85.137
ns2     IN      A       146.48.85.137

Se controlliamo adesso la zona avremo:
~$ named-checkzone lucafrosini.eu /var/lib/bind/lucafrosini.eu
zone lucafrosini.eu/IN: loaded serial 2013111501
OK

Aggiungete a vostro piacimento i record relativi alla vostra zona.
Non è scopo di questo articolo spiegare i tipi di record DNS.
Un buona guida introduttiva ai tipi di record DNS (esclusi quelli DNSSEC) è https://support.google.com/a/answer/48090?hl=it
Un elenco esaustivo dei record DNS invece potete trovarlo al seguente link http://it.wikipedia.org/wiki/Tipi_di_record_DNS

Adesso non ci resta che firmare la nostra zona e quindi aggiungere i record DNSSEC.
Per sapere come continua la lettura con il tutorial Aggiungere i record DNSSEC in una zona in BIND.

2 thoughts on “Creare una zona in BIND (Primary Master Only)

Comments are closed.