DNS-Server Installation und Konfiguration unter CentOS
Ein eigener DNS-Server hat viele Vorteile. Hier wird kurz beschrieben, wie man seinen eigenen DNS-Server installiert und verwaltet. Ich gehe davon aus, dass dein vServer mit CentOS läuft. Am Ende wirst du einen DNS-Server haben, mit dem du deine eigene TLD betreiben, (z.b. für dein LAN zu Hause .lan), ihn für deine eigene Domain verwenden, oder auch einfach nur den DNS-Cache löschen (nachdem du DNS-Änderungen vorgenommen hast und diese testen willst).
Inhaltsverzeichnis
Installation
Ich benutze den Paketmanager yum, um bind zu installieren
yum install bind caching-nameserver
Konfiugration
named.conf
Der Inhalt der /etc/named.conf sollte so aussehen:
options { listen-on port 53 { 127.0.0.1; die.ip.deines.servers-hier; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; allow-query-cache { any; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; view localhost_resolver { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.zones"; }; view any { recursion yes; include "/etc/named.zones"; };
Hier muss noch die IP deines vServers eingetragen werden (statt die.ip.deines.servers-hier):
listen-on port 53 { 127.0.0.1; die.ip.deines.servers-hier; };
named.zones
Da an zwei stellen hier die /etc/named.zones geladen wird, muss diese auch noch in /etc/ mit folgendem Inhalt erstellt werden.
zone "." IN {type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; }; }; zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; }; zone "lan" IN { type master; file "lan.zone"; allow-update { none; }; };
So werden alle anderen Domains korrekt aufgelöst und du hast eine eigene TLD (die aber nur in Verbindung mit deinem eigenen DNS-Server verwendbar ist) .lan Diese kannst du verwenden, wenn du z.b. deinen Computern zu Hause einen Hostnamen zuweisen willst (z.b. arbeitsrechner.lan).
Zonenfiles
Damit deine .lan Top-Level-Domain auch funktioniert muss noch ein Zonenfile erstellt werden. Dieses muss heißen:
/var/named/lan.zone
Dies sollte folgendes beinhalten:
TTL 60 @ IN SOA @ root ( yyyymmddnn ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS static.XXX.XXX.XXX.XXX.clients.your-server.de.
Bitte die Platzhalter für die IP deines Server ersetzen (XXX.XXX.XXX.XXX)
Hier muss die Serial angepasst werden: yyyy steht für das aktuelle Jahr mm steht für den aktuellen Monat dd steht für den heutigen Tag nn ist eine fortlaufende Nummer (falls an einem Tag mehrere Änderungen vorgenommen werden).
Nun will ich, dass die router.lan auf meinen Router (mit der IP 192.168.178.1) zeigt. Also füge ich folgenden Eintrag an das Ende der Datei hinzu:
router IN A 192.168.178.1
Ebenso kann man für andere Änderungen vorgehen.
Nach jeder Editierung muss die Serial erhöht werden.
Freigabe in der Firewall
Für die Benutzung muss lediglich der Port 53 im vServercontrolpanel freigegeben werden.
Benutzung
Nun muss nur noch die IP deines vServers in den Computern eigetragen werden, die deinen vServer verwenden sollen.
Löschung des Caches
Falls du an einer Domain änderung vorgenommen hast, du diese Änderungen aber sofort testen willst (und nicht erst nach 24 Stunden), kannst du den Cache deines DNS-Servers löschen, damit dieser sich die Informationen deiner Domain erneut von dem für deine Domain zuständigen Nameserver holt.
/usr/sbin/rndc flush
Eingesendet von Dmonik F.'