Υπάρχουν πολλοί τρόποι για να ρυθμίσετε το BIND9. Κάποιες από τις πιο κοινές ρυθμίσεις είναι: ο εξυπηρετητής ονομάτων προσωρινής αποθήκευσης, ο κύριος master και ο δευτερεύων master.
-
Όταν είναι ρυθμισμένο ως εξυπηρετητής ονομάτων προσωρινής αποθήκευσης, το BIND9 θα βρίσκει την απάντηση σε ερωτήματα ονομάτων και θα θυμάται την απάντηση όταν ερωτάται ξανά για το όνομα.
-
As a primary master server BIND9 reads the data for a zone from a file on it's host and is authoritative for that zone.
-
In a secondary master configuration BIND9 gets the zone data from another nameserver authoritative for the zone.
Τα αρχεία ρυθμίσεων του DNS είναι αποθηκευμένα στον κατάλογο /etc/bind. Το κύριο αρχείο ρυθμίσεων είναι το /etc/bind/named.conf.
Η γραμμή include καθορίζει το όνομα του αρχείου που περιέχει τις επιλογές DNS. Η γραμμή directory στο αρχείο /etc/bind/named.conf.options λέει στο DNS πού να ψάξει για αρχεία. Όλα τα αρχεία που χρησιμοποιεί το BIND θα είναι σε σχετική τοποθεσία με αυτόν τον κατάλογο.
Το αρχείο με όνομα /etc/bind/db.root περιγράφει τους κεντρικούς (root) εξυπηρετητές ονομάτων σε όλο τον κόσμο. Οι εξυπηρετητές αλλάζουν με την πάροδο του χρόνου, οπότε το αρχείο /etc/bind/db.root πρέπει να συντηρείται ανά διαστήματα. Αυτό συνήθως γίνεται με ενημερώσεις του πακέτου bind9. Η ενότητα zone ορίζει έναν εξυπηρετητή master και είναι αποθηκευμένη σε ένα αρχείο που αναφέρεται στην επιλογή file.
It is possible to configure the same server to be a caching name server, primary master, and secondary master. A server can be the Start of Authority (SOA) for one zone, while providing secondary service for another zone. All the while providing caching services for hosts on the local LAN.
Η προεπιλεγμένη ρύθμιση είναι η εγκατάσταση να λειτουργεί ως εξυπηρετητής προσωρινής αποθήκευσης. Αυτό που χρειάζεται είναι απλά η προσθήκη των διευθύνσεων IP των εξυπηρετητών DNS του παρόχου (ISP) σας. Απλά αποσχολιάστε και επεξεργαστείτε τα ακόλουθα στο /etc/bind/named.conf.options:
forwarders {
1.2.3.4;
5.6.7.8;
};
|
|
|
Αντικαταστήστε τα 1.2.3.4 και 5.6.7.8 με τις διευθύνσεις IP των πραγματικών εξυπηρετητών ονομάτων. |
Τώρα επανεκκινήστε τον εξυπηρετητή DNS, για να ενεργοποιήσετε τις νέες ρυθμίσεις. Σε ένα τερματικό πληκτρολογήστε:
sudo /etc/init.d/bind9 restart
Δείτε το “dig” για πληροφορίες σχετικά με τον έλεγχο ενός εξυπηρετητή DNS προσωρινής αποθήκευσης.
Σε αυτή την ενότητα το BIND9 θα ρυθμιστεί ως ο Κύριος Master εξυπηρετητής για τον χώρο example.com. Απλά αντικαταστήστε το example.com με το FQDN (Πλήρως πιστοποιημένο όνομα τομέα) σας.
Για να προσθέσετε μια ζώνη DNS στο BIND9, μετατρέποντάς το σε έναν Κύριο Master εξυπηρετητή, το πρώτο βήμα είναι να επεξεργαστείτε το /etc/bind/named.conf.local:
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
Τώρα χρησιμοποιήστε ένα υπάρχον αρχείο ζώνης ως πρότυπο για να δημιουργήσετε το αρχείο /etc/bind/db.example.com:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Επεξεργαστείτε το νέο αρχείο ζώνης /etc/bind/db.example.com και αλλάξτε το localhost. με το FQDN του εξυπηρετητή σας, αφήνοντας την πρόσθετη "." στο τέλος. Αλλάξτε το 127.0.0.1 με την διεύθυνση IP του εξυπηρετητή ονομάτων και το root.localhost με μία έγκυρη διεύθυνση email, αλλά με "." αντί για το συνηθισμένο σύμβολο "@", ξανά αφήνοντας την "." στο τέλος.
Επίσης, δημιουργήστε μια καταγραφή A για το ns.example.com, τον εξυπηρετητή ονομάτων σε αυτό το παράδειγμα:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.example.com.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.168.1.10
Πρέπει να αυξάνετε τον σειριακό αριθμό κάθε φορά που κάνετε αλλαγές στο αρχείο ζώνης. Αν κάνετε πολλές αλλαγές πριν επανεκκινήσετε το BIND9, απλά αυξήστε τον σειριακό αριθμό μία φορά.
Τώρα, μπορείτε να προσθέσετε καταγραφές DNS στο κάτω μέρος του αρχείου ζώνης. Δείτε το “Κοινοί τύποι καταγραφών” για περισσότερες πληροφορίες.
|
|
|
Πολλοί διαχειριστές χρησιμοποιούν την τελευταία ημερομηνία επεξεργασίας ως τον σειριακό αριθμό μιας ζώνης, όπως 2007010100 που είναι της μορφής εεεεμμηησσ (όπου σσ είναι ο σειριακός αριθμός) |
Μόλις κάνετε κάποια αλλαγή στο αρχείο ζώνης, το BIND9 θα πρέπει να επανεκκινηθεί για να τεθούν σε ισχύ οι αλλαγές:
sudo /etc/init.d/bind9 restart
Τώρα που η ζώνη έχει ρυθμιστεί και επιλύει ονόματα σε διευθύνσεις IP, χρειάζεται επίσης και μία ζώνη Reverse. Μία ζώνη Reverse επιτρέπει στο DNS να επιλύει διευθύνσεις σε ονόματα.
Επεξεργαστείτε το /etc/bind/named.conf.local και προσθέστε τα ακόλουθα:
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
|
|
|
Αντικαταστήστε το 1.168.192 με τις πρώτες τρεις οκτάδες (octets) του δικτύου που χρησιμοποιείτε. Επίσης, ονομάστε το αρχείο ζώνης |
Τώρα δημιουργήστε το αρχείο /etc/bind/db.192:
sudo cp /etc/bind/db.127 /etc/bind/db.192
Μετά επεξεργαστείτε το /etc/bind/db.192 αλλάζοντας βασικά τις ίδιες επιλογές όπως στο /etc/bind/db.example.com:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.example.com.
Ο σειριακός αριθμός στην ζώνη Reverse πρέπει να αυξάνεται σε κάθε αλλαγή επίσης. Για κάθε καταγραφή A που ρυθμίζετε στο /etc/bind/db.example.com πρέπει να δημιουργείτε και μία καταγραφή PTR στο /etc/bind/db.192.
Αφού δημιουργήσετε το αρχείο ζώνης reverse, επανεκκινήστε το BIND9:
sudo /etc/init.d/bind9 restart
Μόλις ένας Κύριος Master εξυπηρετητής έχει ρυθμιστεί, ένας Δευτερεύων Master χρειάζεται για να διατηρηθεί η διαθεσιμότητα του χώρου σε περίπτωση που ο Κύριος εξυπηρετητής δεν είναι διαθέσιμος.
Πρώτα, στον Κύριο Master εξυπηρετητή, η μεταφορά ζωνών πρέπει να επιτραπεί. Προσθέστε την επιλογή allow-transfer στα παραδείγματα ζωνών Forward και Reverse στο /etc/bind/named.conf.local:
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer { 192.168.1.11; };
};
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
allow-transfer { 192.168.1.11; };
};
|
|
|
Αντικαταστήστε το 192.168.1.11 με την διεύθυνση IP του δευτερεύοντα εξυπηρετητή ονομάτων. |
Μετά, στον Δευτερεύοντα Master, εγκαταστήστε το πακέτο bind9 με τον ίδιο τρόπο όπως στον Κύριο. Μετά, επεξεργαστείτε το /etc/bind/named.conf.local και προσθέστε τις ακόλουθες γραμμές για τις ζώνες Forward και Reverse:
zone "example.com" {
type slave;
file "/var/cache/bind/db.example.com";
masters { 192.168.1.10; };
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters { 192.168.1.10; };
};
|
|
|
Αντικαταστήστε το 192.168.1.10 με τη διεύθυνση IP του πρωτεύοντος εξυπηρετητή ονομάτων. |
Επανεκκινήστε το BIND9 στον Δευτερεύοντα Master:
sudo /etc/init.d/bind9 restart
Στο /var/log/syslog θα πρέπει να δείτε κάτι παρόμοιο με το παρακάτω:
slave zone "example.com" (IN) loaded (serial 6) slave zone "100.18.172.in-addr.arpa" (IN) loaded (serial 3)
|
|
|
Σημείωση: Μια ζώνη μεταφέρεται μόνο εάν ο σειριακός αριθμός στον Κύριο είναι μεγαλύτερος από αυτόν στον Δευτερεύοντα εξυπηρετητή. |
|
|
|
The default directory for non-authoritative zone files is |

