άδετος
nsd
Σε αυτό το άρθρο, θα μάθετε πόσο εύκολο και γρήγορο είναι να έχετε τον δικό σας διακομιστή DNS επίλυσης προσωρινής αποθήκευσης (χωρίς δέσμευση), καθώς και έναν έγκυρο/κύριο διακομιστή DNS (nsd) που εκτελείται τοπικά στη δική σας παρουσία OpenBSD Vultr.
Για την εγκατάσταση του OpenBSD, ανατρέξτε στο ακόλουθο άρθρο: Ρύθμιση του OpenBSD 5.5 64-bit . Απλώς φροντίστε να χρησιμοποιήσετε τη νεότερη εικόνα ISO 5,6.
Ενώ το nsd ήταν διαθέσιμο και στην προηγούμενη έκδοση, το unbound συνδέθηκε με την έκδοση για την έκδοση 5.6. Ξεκινώντας με την έκδοση 5.7, το BIND θα αφαιρεθεί εντελώς από το βασικό σύστημα (και θα είναι διαθέσιμο μέσω θυρών).
άδετος
Για την επίλυση του DNS, οι άνθρωποι χρησιμοποιούν γενικά προεπιλογές που παρέχονται από τη διανομή/πάροχό τους ή μια υπηρεσία από την Google (δημόσιο DNS) και το OpenDNS. Αν και είναι συνήθως εντάξει, η εκτέλεση του δικού σας σάς προσφέρει περισσότερο έλεγχο, καλύτερη απόδοση (αφού συμπληρώσετε τη δική σας προσωρινή μνήμη), καλύτερο απόρρητο κ.λπ. Είναι πολύ εύκολο να αποκτήσετε τη δική σας ρύθμιση DNS επίλυσης στο OpenBSD.
Ενεργοποιήστε την υπηρεσία:
sudo rcctl enable unbound
Ξεκινήστε την υπηρεσία:
sudo rcctl start unbound
Για να το κάνετε ενεργό, βάλτε τα εξής /etc/resolv.conf
(και διαγράψτε τυχόν άλλες nameserver
καταχωρήσεις):
nameserver 127.0.0.1
Τώρα μπορείτε να το δοκιμάσετε:
dig google.com
Αναζητούμε τις ακόλουθες δύο γραμμές:
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
Ο διακομιστής που χρησιμοποιήθηκε ήταν localhost
, αυτό που θέλαμε. Ο χρόνος ερωτήματος είναι 35 δευτερόλεπτα σε ψυχρή εκκίνηση. Ας δοκιμάσουμε την ίδια dig
εντολή άλλη μια φορά:
;; Query time: 1 msec
Σε αυτό το σημείο, η προσωρινή αποθήκευση λειτουργεί και μπορούμε να συνεχίσουμε με τον έγκυρο διακομιστή nsd.
nsd
Σε αντίθεση με το unbound, ο nsd είναι ένας έγκυρος διακομιστής DNS, ο οποίος χρησιμοποιείται για την εξυπηρέτηση των δικών σας ζωνών. Ένας διακομιστής γενικά δεν είναι αρκετός, επομένως μπορείτε να περιστρέψετε μια άλλη παρουσία του Vultr ως δευτερεύον διακομιστή σε άλλη τοποθεσία, για πλεονασμό.
Δεδομένου ότι η ρύθμιση της κύριας/δευτερεύουσας υπηρεσίας (αν και όχι δύσκολη) είναι λίγο έξω από το πεδίο εφαρμογής αυτού του άρθρου, θα δείξουμε πώς να εξυπηρετείτε μια ζώνη μεμονωμένου τομέα.
Πρώτα ας επεξεργαστούμε το /var/nsd/etc/nsd.conf
αρχείο. Εδώ είναι ένα πλήρες παράδειγμα:
server:
hide-version: yes
ip-address: 108.xx.xxx.xx
remote-control:
control-enable: yes
zone:
name: "example.com"
zonefile: "example.com.zone"
Σημείωση: Αντικαταστήστε 108.xx.xxx.xx
με τη διεύθυνση IP της παρουσίας σας και example.com
με τον δικό σας τομέα.
Τα αρχεία ζώνης πηγαίνουν στον /var/nsd/zones
κατάλογο. Εδώ είναι ένα σύντομο /var/nsd/zones/example.com.zone
αρχείο ζώνης:
$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
Μπορούμε τώρα να ενεργοποιήσουμε και να ξεκινήσουμε την υπηρεσία:
sudo rcctl enable nsd
sudo rcctl start nsd
Θα πρέπει τώρα να έχετε τόσο τον δικό σας διακομιστή DNS προσωρινής αποθήκευσης/επίλυσης, όσο και έναν έγκυρο διακομιστή.
Η σύνταξη ζώνης BIND και οι λεπτομέρειες σχετικά με την εκτέλεση του δικού σας master είναι λίγο εκτός πεδίου εφαρμογής αυτού του σύντομου οδηγού και αφήνονται ως άσκηση στον αναγνώστη. Απολαύστε το OpenBSD!