Πως να ρυθμίσω το δικό μου dns server με τη δική μου στατική ip.
Επειδή ένας φίλος χρειάστηκε να σετάρει το δικό του dns server χρησιμοποιώντας τη στατική ip του και επειδή εγκατέστησε το UBUNTU στο server,
του ρύθμισα λοιπόν το server.
Οπότε ακολουθούν οι παρακάτω οδηγίες για οποιοδήποτε τυχόν χρειαστεί να κάνει το ίδιο.
Το domain εδω είναι my-domain.gr εσείς αντικαταστήστε το με το δικό σας.
Οι παρακάτω ρυθμίσεις ισχύουν για το Ubuntu, στο slackware, slackel, salix κάνουμε τα ίδια στα αντίστοιχα αρχεία.
Οι οδηγίες είναι απλές και όχι με τη σωστή τεχνική ορολογία για να καταλαβαίνουν όλοι.
Τα παρακάτω δουλεύουν και φυσικά κάποιος άλλος μπορεί να χρησιμοποιήσει διαφορετικές ρυθμίσεις.
Υποτίθεται ότι στον registrar έχουμε κατοχυρώσει το domain name έχουμε δημιουργήσει ένα εξυπηρετητή ονοματοδοσίας Π.Χ. ns0.my-domain.gr δίνοντάς του την στατική ip μας x1.x2.x3.x4
Μπορούμε να ορίσουμε και δεύτερο με την ίδια σταtική ip ns1.my-domain.gr
Κατόπιν στο domain name που έχουμε κατοχυρώσει στο παράδειγμα my-domain.gr βάζουμε σαν Εξυπηρετητές Ονοματοδοσίας (nameservers) τον ns0.my-domain.gr και ns1.my-domain.gr
Και θα πρέπει να περάσουν από μερικές ώρες έως και 48 ώρες για να ενημερωθούν οι nameservers servers με το ip μας που αντιστοιχεί στο ns0.my-domain.gr.
Δηλαδή εάν αλλάξετε τους nameservers του domain σας, η μετάβαση στο νέο server φιλοξενίας θα ολοκληρωθεί μέσα σε περίπου 3 με 48 ώρες, ανάλογα με την εταιρία που σας παρέχει τη σύνδεση του Internet.
Δηλαδή κάνοντας dig από οποιοδήποτε pc δεν θα σας βρει το domain σας αν πρώτα δεν ενημερωθούν οι nameservers σε όλο το κόσμο.
Τα παρακάτω τα κάνουμε στο δικό μας server αν τον τρέχουμε από το σπίτι και έχουμε static ip ή αφού πρώτα κάνουμε login με ssh στο server που έχουμε στην ταδε εταιρία.
Εδώ σαν παράδειγμα χρησιμοποιούμε το domain my-domain.gr. Εσεις βάλτε το δικό σας, το οποίο πρώτα το έχετε κατοχυρώσει.
H στατική ip είναι x1.x2.x3.x4. αντικαταστήστε τα x1.x2.x3.x4 με την στατική ip σας.
Η ip των nameservers της εταιρίας είναι k1.k2.k3.k4 και m1.m2.m3.m4
Οπου παρακάτω υπάρχει x1,x2,x3,x4 , κ1,κ2,κ3,κ4, m1,m2,m3,m4 θα βάζετε τους αντίστοιχους αριθμούς.
UBUNTU
==============================================
Α. το αρχείο /etc/bind/named.conf.local πρέπει να είναι: // Για το slackware το αρχείο είναι /etc/named.conf
//
// Do any local configuration here
//
zone "my-domain.gr." IN {
type master;
file "/etc/bind/db.my-domain.gr"; // Για το slackware βάζουμε "/var/named/caching-example/db.my-domain.gr"
};
zone "x4.x3.x2.in-addr.arpa" {
type master;
file "/etc/bind/rev.x4.x3.x2.in-addr.arpa"; // Για το slackware βάζουμε "/var/named/caching-example/rev.x4.x3.x2.in-addr.arpa"
};
=============================================
Β. το αρχείο /etc/bind/named.conf.options πρέπει να είναι: // Για το slackware τα παρακάτω τα βάζουμε στο παραπάνω αρχείο /etc/named.conf
options {
directory "/var/cache/bind"; // Για το slackware βάζουμε directory "/var/named";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
notify no;
forward only;
forwarders { k1.k2.k3.k4; m1.m2.m3.m4; }; // εδώ βάζουμε τους name servers που μας έχει δώσει η εταιρία που τρέχει ο server.
};
===============================================
Γ. το αρχείο /etc/resolv.conf // το ίδιο για το slackware
search my-domain.gr
nameserver x1.x2.x3.x4
nameserver k1.k2.k3.k4
nameserver m1.m2.m3.m4
========================
Δ. το αρχείο /etc/bind/db.my-domain.gr πρέπει να είναι: // Για το slackware το αρχείο είναι "/var/named/caching-example/db.my-domain.gr"
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns0.my-domain.gr. my-domain.gr. (
2006081401
28800
3600
604800
38400
)
IN NS ns0
IN NS ns1
my-domain.gr. IN A x1.x2.x3.x4
my-domain.gr. IN MX 10 mail.my-domain.gr.
ns0 IN A x1.x2.x3.x4
ns1 IN A x1.x2.x3.x4
www IN A x1.x2.x3.x4
mail IN A x1.x2.x3.x4
==============================
Ε. το αρχείο /etc/bind/rev.x4.x3.x2.in-addr.arpa πρέπει να είναι: // Για το slackware το αρχείο είναι "/var/named/caching-example/rev.x4.x3.x2.in-addr.arpa"
$TTL 1D
@ IN SOA ns0.my-domain.gr. admin.my-domain.gr. (
2006081401;
28800;
604800;
604800;
86400
)
IN NS ns0.my-domain.gr.
x4 IN PTR my-domain.gr
============================
To x4 θα είναι είναι το ίδιο με το τελευταίο νούμερο από το static ip (x1.x2.x3.x4)
Ζ. Τεστάρουμε το server
named-checkzone -d x4.x3.x2.in-addr.arpa /etc/bind/rev.x4.x3.x2.in-addr.arpa // Για το slackware το αρχείο είναι "/var/named/caching-example/rev.x4.x3.x2.in-addr.arpa"
OUTPUT:
loading "x4.x3.x2.in-addr.arpa" from "/etc/bind/rev.x4.x3.x2.in-addr.arpa" class "IN"
zone x4.x3.x2.in-addr.arpa/IN: loaded serial 2006081401
OK
===================================
named-checkzone -d my-domain.gr /etc/bind/db.my-domain.gr // Για το slackware το αρχείο είναι "/var/named/caching-example/db.my-domain.gr"
OUTPUT:
loading "my-domain.gr" from "/etc/bind/db.my-domain.gr" class "IN"
zone my-domain.gr/IN: loaded serial 2006081401
OK
==============================
Η. Κάνουμε restart το bind
/etc/init.d/bind9 restart // Για το slackware /etc/rc.d/rc.bind restart ή για το slackel "service restart bind"
Οι παρακάτω εντολές από το ssh shell θα πρέπει να μας δώσουν: (εννοείται ότι αντί x1.x2.x3.x4 θα υπάρχουν οι αριθμοί της στατικής ip μας.
======================
djemos[~]$ nslookup my-domain.gr
Server: 192.168.1.254
Address: 192.168.1.254#53
Non-authoritative answer:
Name: my-domain.gr
Address: x1.x2.x3.x4
=======================
nslookup www.my-domain.gr
Server: 192.168.1.254
Address: 192.168.1.254#53
Non-authoritative answer:
Name: www.my-domain.gr
Address: x1.x2.x3.x4
========================
djemos[~]$ nslookup mail.my-domain.gr
Server: 192.168.1.254
Address: 192.168.1.254#53
Non-authoritative answer:
Name: mail.my-domain.gr
Address: x1.x2.x3.x4
====================
dig www.my-domain.gr
; <<>> DiG 9.7.0-P1 <<>> www.my-domain.gr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29213
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.my-domain.gr. IN A
;; ANSWER SECTION:
www.my-domain.gr. 604800 IN A x1.x2.x3.x4
;; AUTHORITY SECTION:
my-domain.gr. 604800 IN NS ns0.my-domain.gr.
my-domain.gr. 604800 IN NS ns1.my-domain.gr.
;; ADDITIONAL SECTION:
ns0.my-domain.gr. 604800 IN A x1.x2.x3.x4
ns1.my-domain.gr. 604800 IN A x1.x2.x3.x4
;; Query time: 8 msec
;; SERVER: x1.x2.x3.x4#53(x1.x2.x3.x4)
;; WHEN: Fri Jun 1 09:46:43 2012
;; MSG SIZE rcvd: 120
- Συνδεθείτε ή εγγραφείτε για να σχολιάσετε
Σχόλια
Μπραβο Δημητρη και το χρειαζομουνα ενα τετοιο tutorial, για να μου θυμηζει ξεχασμενα πραματα. :)
Ένας DNS server έχει ενδιαφέρον ακόμα και αν τον κάνουμε τοπικά χωρίς καν να τον ταυτίσουμε με nameservers. Λογικά προσφέρει και παραπάνω ανωνυμία.
Οι registrars οι εταιρίες δηλαδή που κατοχυρώνουμε τα domain names δεν δέχονται δημιουργία dns server με δυναμικό ip μόνο με στατικό. Το να τον στήσεις τοπικά δεν συμφέρει οικονομικά αφού μόνο το ρεύμα που θα καταναλώνει το pc σε ένα έτος είναι όσο και το κόστος που πληρώνεις στην εταιρία. Άσε που μια σπιτική σύνδεση θα "γονατίζει" αν συνδεθούν πολλοί χρήστες. Είναι ωφέλιμο για dedicated ή VPS servers και για developing ή επαγγελματική χρήση.
Εννοούσα DNS Proxy Server σε στυλ Dnsmasq. (Όχι ότι υπάρχει και κάποια διαφορά στις επιδόσεις.)