In questo articolo, imparerai quanto è facile e veloce avere il tuo server DNS di risoluzione cache (non associato), così come un server DNS autorevole / master (nsd) in esecuzione localmente sulla tua istanza di OpenBSD Vultr.
Per l'installazione di OpenBSD, consultare il seguente articolo: Installazione di OpenBSD 5.5 a 64 bit . Basta essere sicuri di usare invece la nuova immagine ISO 5.6.
Mentre nsd era disponibile anche nella versione precedente, non associato era collegato alla build per la versione 5.6. A partire dalla versione 5.7, BIND verrà completamente rimosso dal sistema di base (e disponibile tramite porte).
Unbound
Per risolvere il DNS, le persone generalmente usano le impostazioni predefinite fornite dal loro distributore / fornitore o un servizio di Google (DNS pubblico) e OpenDNS. Mentre quelli di solito vanno bene, l'esecuzione da soli ti dà più controllo, prestazioni migliori (una volta compilata la tua cache), migliore privacy, ecc. È molto facile ottenere la tua configurazione DNS di risoluzione su OpenBSD.
-
Abilita il servizio:
sudo rcctl enable unbound
-
Inizia il servizio:
sudo rcctl start unbound
-
Per renderlo attivo, inserisci quanto segue /etc/resolv.conf
(ed elimina qualsiasi altra voce nameserver
):
nameserver 127.0.0.1
Ora puoi provarlo:
dig google.com
Stiamo cercando le seguenti due righe:
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
Il server utilizzato era localhost
, che è quello che volevamo. Il tempo di query è di 35 secondi con un avvio a freddo. Proviamo lo stesso dig
comando ancora una volta:
;; Query time: 1 msec
A questo punto, la memorizzazione nella cache funziona e possiamo continuare con il server nsd autorevole.
NSD
A differenza di non associato, nsd è un server DNS autorevole, che viene utilizzato per servire le proprie zone. Un server in genere non è sufficiente, quindi è possibile creare un'altra istanza Vultr come server secondario in un'altra posizione, per ridondanza.
Poiché la configurazione del servizio primario / secondario (sebbene non difficile) non rientra nell'ambito di questo articolo, mostreremo come servire una singola zona di dominio.
-
Per prima cosa modifichiamo il /var/nsd/etc/nsd.conf
file. Ecco un esempio completo:
server:
hide-version: yes
ip-address: 108.xx.xxx.xx
remote-control:
control-enable: yes
zone:
name: "example.com"
zonefile: "example.com.zone"
Nota: sostituire 108.xx.xxx.xx
con l'indirizzo IP dell'istanza e example.com
con il proprio dominio.
-
I file di zona vanno nella /var/nsd/zones
directory. Ecco un /var/nsd/zones/example.com.zone
file di zona breve :
$ORIGIN example.com.
$TTL 86400
@ 3600 SOA a.ns.example.com. hostmaster.example.com. (
2014110502 ; serial
1800 ; refresh
7200 ; retry
1209600 ; expire
3600 ) ; negative
NS a.ns.example.com.
NS b.ns.example.com.
MX 0 mail.example.com.
a.ns A 108.xx.xxx.xx
b.ns A 108.xx.xxx.xx
mail A 108.xx.xxx.xx
-
Ora possiamo abilitare e avviare il servizio:
sudo rcctl enable nsd
sudo rcctl start nsd
Ora dovresti avere sia il tuo server DNS di cache / risoluzione, sia un server autorevole.
La sintassi della zona BIND e i dettagli sull'esecuzione del proprio master sono un po 'fuori dallo scopo di questa breve guida e lasciati come esercizio al lettore. Divertiti con OpenBSD!