DNS-Server Installation und Konfiguration unter CentOS

Aus netcup Wiki
Zur Navigation springen Zur Suche springen

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).


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.'