Se sei un lettore abituale di Techglimpse, potresti aver letto i nostri articoli precedenti su DNS, i suoi tipi, come funziona, differenza tra server autorevoli e ricorsivi. Ti abbiamo anche mostrato come identificare l'indirizzo IP del server DNS configurato sulle tue macchine Windows e Linux e come analizzare la velocità di vari server DNS utilizzando lo strumento di benchmarking chiamato namebench. Oggi ti mostrerò come installare e configurare Bind sulle tue macchine basate su Linux.
Questo tutorial mostrerà la configurazione di base del server DNS utilizzando bind. Bind è un pacchetto gratuito che ti consente di configurare il server DNS. La configurazione di base di bind consumerà 200 MB della tua RAM e sarà pronta a configurarne di più quando il server entra in produzione (mentre aggiungi più zone e quando il server riceve più query).
Considera la configurazione di base come di seguito,
One machine for setting up the DNS server - I am going to call this machine as 10.180.8.115.
Esempio di dominio o zona:Techglimpse.com (10.180.3.74) per testare la configurazione
Authoritative Name server for techglimpse.com will be called as ns1.techglimpse.com
Sottodomini di esempio di techglimpse.com sono ftp, www, mail.
Scarica e installa Bind
Su macchine basate su Debian,
apt-get install bind9 dnsutils
Su macchine basate su CentOs/Fedora,
yum install bind dnsutils
Nota:Bind è il server DNS, mentre dnsutils contiene alcuni comandi relativi a DNS per il test e la risoluzione dei problemi. Ad esempio, scava.
Crea un file di zona per il dominio
Come ho detto prima, il nostro dominio di esempio sarà techglimpse.com. Quindi creeremo un file di zona per quel dominio. Per fare ciò, creiamo una directory in cui archiviare i file di zona.
cd /var/named mkdir -p zones/master cd zones/master/
Nota:la mia directory di collegamento è "/var/named", tuttavia questo potrebbe cambiare durante la configurazione. Ad esempio, /etc/named, /etc/bind ecc…
Ora è il momento di creare file di zona per techglimpse.com. La zona sarà denominata “db.techglimpse.com ” che conterrà record DNS come A, MX, CNAME ecc...
vi /var/named/zones/master/db.techglimpse.com
Incolla il codice sottostante,
; ; BIND data file for techglimpse.com ; $TTL 3h @ IN SOA ns1.techglimpse.com. admin.techglimpse.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 day ; @ IN NS ns1.techglimpse.com. techglimpse.com. IN MX 10 mail.techglimpse.com. techglimpse.com. IN A 10.180.3.74 ns1 IN A 10.180.3.74 www IN CNAME techglimpse.com. mail IN A 10.180.3.74 ftp IN CNAME techglimpse.com.
Nota:per configurare le zone, devi creare un file di zona simile per ogni dominio che desideri risolvere tramite il tuo server DNS. Apporta le modifiche necessarie al file della zona di esempio sopra.
Una rapida occhiata al file di zona:
* Record SOA – Si riferisce all'autorevole server dei nomi di techglimpse.com come ns1.techglimpse.com e admin.techglimpse.com si riferisce all'indirizzo email dell'amministratore del server DNS.
* NS Records:techglimpse.com ha un server dei nomi ns1.techglimpse.com. Normalmente, i domini avranno almeno due nameserver per l'alta disponibilità. A scopo dimostrativo, ho nominato solo un server dei nomi.
* MX (Mail Exchange):record di scambio di posta techglimpse.com.
* Record CNAME:nome canonico.
Ok! Qualunque cosa abbiamo fatto ora è per la mappatura da nome a indirizzo. Ora creiamo la mappatura tra indirizzo e nome.
Imposta indirizzo di mappatura nome:
Abbiamo configurato la risoluzione del server DNS sull'indirizzo IP quando il dominio viene interrogato. Ora, dovremmo dire al server di eseguire anche una ricerca inversa. Voglio dire, dall'IP al dominio.
vi /var/named/zones/master/db.10.180.3
Incolla il codice sottostante,
; ; BIND reverse data file for 3.180.10.in-addr.arpa ; $TTL 604800 3.180.10.in-addr.arpa. IN SOA ns1.techglimpse.com. admin.techglimpse.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 day ; 3.180.10.in-addr.arpa. IN NS ns1.techglimpse.com. 74.3.180.10.in-addr.arpa. IN PTR techglimpse.com.
Qui, 74.3.180.10 è l'indirizzo inverso di 10.180.3.74. Nota anche il nome del file.
* Record PTR:associa l'indirizzo IP al nome di dominio.
Configura named.conf per leggere i file di zona
Dovremmo configurare named.conf per fare riferimento ai file di zona appena creati.
/var/named/zones/master/db.techglimpse.com /var/named/zones/master/db.10.180.3
Nella mia macchina, named.conf si trova in /etc/. Tuttavia questo potrebbe cambiare sulla tua macchina; ad esempio:/etc/named/named.conf, /etc/bind/named.conf.
vi /etc/named.conf
Copia e incolla i testi sottostanti
zone "techglimpse.com" { type master; file "/var/named/zones/master/db.techglimpse.com"; };
zone “3.180.10.in-addr.arpa” {
type master;
file “/var/named/zones/master/db.10.180.3”;
};
Nota:apporta le modifiche necessarie per riflettere il dominio effettivo e le relative posizioni dei file di zona.
Verifica la correttezza del file di configurazione utilizzando il comando seguente.
named-checkconf
Controlla i file di zona per eventuali errori utilizzando il comando seguente
named-checkzone
Ad esempio
named-checkzone techglimpse.com /var/named/zones/master/db.techglimpse.com zone techglimpse.com/IN: loaded serial 1 OK
named-checkzone 3.180.10.in-addr.arpa /var/named/zones/master/db.10.180.3 zone 3.180.10.in-addr.arpa/IN: loaded serial 1 OK
Se il comando precedente risponde con lo stato OK, allora è bene procedere con i passaggi seguenti, altrimenti ricontrollare i file di configurazione per eventuali errori.
Avvia il server Bind
/etc/init.d/bind9 start
o
/etc/init.d/named start
Se ci sono degli errori, dovresti vederli mentre avvii i demoni named o bind9.
Verifica la configurazione
Se ricordi, ho suggerito di installare dnsutils, che installerà un comando chiamato 'dig'.
dig @10.180.8.115 techglimpse.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 techglimpse.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45562 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available
;; SEZIONE DELLA DOMANDA:
;techglimpse.com. IN UN
;; SEZIONE RISPOSTA:
techglimpse.com. 10800 IN A 10.180.3.74
;; SEZIONE AUTORITÀ:
techglimpse.com. 10800 IN NS ns1.techglimpse.com.
;; SEZIONE AGGIUNTIVA:
ns1.techglimpse.com. 10800 IN A 10.180.3.74
;; Tempo di interrogazione:2 msec
;; SERVER:10.180.8.115#53(10.180.8.115)
;; QUANDO:mar 15 ottobre 12:42:50 2013
;; MSG SIZE rcvd:83
Testare la risoluzione dell'IP per l'host,
dig @10.180.8.115 -x 10.180.3.74
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 -x 10.180.3.74 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47357 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available
;; SEZIONE DELLA DOMANDA:
;74.3.180.10.in-addr.arpa. IN PTR
;; SEZIONE RISPOSTA:
74.3.180.10.in-addr.arpa. 604800 IN PTR techglimpse.com.
;; SEZIONE AUTORITÀ:
3.180.10.in-addr.arpa. 604800 IN NS ns1.techglimpse.com.
;; SEZIONE AGGIUNTIVA:
ns1.techglimpse.com. 10800 IN A 10.180.3.74
;; Tempo di interrogazione:2 msec
;; SERVER:10.180.8.115#53(10.180.8.115)
;; QUANDO:mar 15 ottobre 12:44:30 2013
;; MSG SIZE rcvd:105
Nota:il primo argomento indica al comando dig di risolvere utilizzando il server DNS (10.180.8.115; che abbiamo installato ora) e il secondo argomento è il nome di dominio/IP in questione.
Questo è tutto. Hai configurato correttamente il Bind.
Leggi anche: Dovresti abilitare la ricorsione sul tuo DNS? È vulnerabile!
Leggi anche: Come nascondere il nome del software del server DNS e la sua versione? [Sicurezza DNS]
Leggi anche: Come abilitare la registrazione del server DNS BIND per monitorare le query e per la risoluzione dei problemi?