DNS mit bind9: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(30 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==DNS-Allgemeines==
+
*[[bind9 Installation und Kontrolle]]
Jeder mit dem Internet verbundene Rechner besitzt eine IP­Adresse, über die er weltweit erreichbar
+
*[[Hauptkonfiguration von bind9]]
ist. Den meisten Menschen fällt es schwer, sich IP­Adressen zu merken. Aus diesem Grund werden
+
*[[Zonendatei von bind9]]
sprechende Namen wie z.B. www.xinux.com vergeben. Vor dem Aufbau einer Verbindung müssen
 
diese Namen in IP­Adressen umgewandelt werden, was heute die DNS­Server erledigen.
 
 
 
In der Anfangszeit des Internet wurde hierfür eine große Hosts­Datei verwendet. Diese wurde zentral
 
gepflegt und musste von den Systemadministratoren regelmäßig aktualisiert werden. Mit der
 
zunehmenden Größe des Internets wurde diese Administration immer umständlicher, und ein neues
 
System musste her. An Stelle einer Datei sollte eine Datenbank verwendet werden. Diese sollte
 
allerdings nicht zentral auf einem Rechner liegen, sondern verteilt auf allen Rechnern des damaligen
 
Internet. Jeder Administrator sollte für die Namensgebung seiner eigenen Rechner verantwortlich
 
sein und für die Namensauflösung der anderen Computer auf die Datenbanken der anderen
 
Administratoren zugreifen.
 
Um unterscheiden zu können, welche Rechnernamen lokal und welche Rechnernamen zu einem
 
anderen Administrator gehören, wurde das Domänenkonzept eingeführt. Hierzu wird ein
 
hierarchisch geordneter Baum verwendet, mit dessen Hilfe der richtige Datenbankserver schnell
 
gefunden werden kann. Der Rechnername wird dabei nach rechts durch den entsprechenden Pfad im
 
Baum erweitert.
 
 
 
 
 
==Installation bind9==
 
BIND 9 wird mit dem Befehl apt-get install bind9  installiert. Durch die Verwendung
 
von apt­get werden damit auch abhängige Pakete mitinstalliert.Während der Installation legt das
 
System die benötigten Dateien an und startet den Dienst.
 
*root@erde:/ > /etc/init.d/bind9 start
 
*root@erde:/ > /etc/init.d bind9 stop
 
*root@erde:/ > /etc/init.d/bind9 restart
 
 
 
 
 
==Konfiguration von bind9==
 
===Hauptkonfiguration===
 
Standardmäßig ist die Konfiguration von bind9 auf mehrere Dateien aufgeteilt:
 
*/etc/bind/named.conf
 
*/etc/bind/named.conf.locale
 
*/etc/bind/named.conf.options
 
*/etc/bind/named.conf.default-zones
 
Man kann aber nach belieben auch nur die hauptdatei '''named.conf''' benutzen.
 
 
 
Eine Zusammengelegte named.conf sieht so aus:
 
options {
 
        directory "/var/lib/bind";
 
        // forwarders { 0.0.0.0; };
 
        auth-nxdomain no;    # conform to RFC1035
 
        listen-on { any; };
 
};
 
 
// prime the server with knowledge of the root servers
 
zone "." {
 
        type hint;
 
        file "/etc/bind/db.root";
 
};
 
 
// be authoritative for the localhost forward and reverse zones, and for
 
// broadcast zones as per RFC 1912
 
 
zone "localhost" {
 
        type master;
 
        file "/etc/bind/db.local";
 
};
 
 
zone "127.in-addr.arpa" {
 
        type master;
 
        file "/etc/bind/db.127";
 
};
 
 
zone "0.in-addr.arpa" {
 
        type master;
 
        file "/etc/bind/db.0";
 
};
 
 
zone "255.in-addr.arpa" {
 
        type master;
 
        file "/etc/bind/db.255";
 
};
 
 
zone "vulkan.int" {
 
        type master;
 
        file "vulkan.int";
 
        notify no;
 
};
 
 
zone "81.168.192.in-addr.arpa" {
 
        type master;
 
        file "81.168.192.in-addr.arpa";
 
        allow-transfer { 192.168.249.121 };
 
};
 
 
 
Am unteren Ende beschreiben wir die neue Zone für die unser Nameserver verantwortlich ist.
 
 
 
===Zonen Datei===
 
Die Zonendatei enthält die Informationen zu den Adressen, und sieht folgendermaßen aus:
 
$TTL 300        ; 5 minutes
 
@                      IN SOA  ns.vulkan.int. technik.xunix.de. (
 
                                2011090204 ; serial
 
                                14400      ; refresh (4 hours)
 
                                3600      ; retry (1 hour)
 
                                3600000    ; expire (5 weeks 6 days 16 hours)
 
                                86400      ; minimum (1 day)
 
                                )
 
                        NS      ns.vulkan.int.
 
ns.vulkan.int.          IN      A      192.168.81.21
 
===Sekundärer Nameserver===
 
Um Ausfallsicherheit zu gewährleisten, kann es sinnvoll sein, mehrere DNS-Server zu betreiben.
 
 
 
Dazu muss man in der '''named.conf''' des sekundären Nameservers die Zone die man Spiegeln will mit folgender Konfiguration hinzufügen:
 
zone "vulkan.int" {
 
      type slave;
 
      file "vulkan.int";
 
      masters { 192.168.81.21; };
 
};
 
;Update
 
Der Sekundäre Server refreshed dann wie im SOA-Record seine Zonendateien über seinen Master. Dieses Verhalten ist von default her aktiv, wobei der Slave-Server nur von seinem Master ein Update erlaubt.
 
====Notify====
 
Notify ermöglicht dem primären Nameserver dem sekundären Server mitzuteilen das sich möglicherweise Dateien geändert haben, woraufhin dieser ein Update verlangt. Dieses Verhalten ist von default her aktiv, wobei Master-Server nur ihren Slaves notify schicken, und Slaves nur notifys von ihren Mastern akzeptieren.
 
 
 
Dazu muss in der Zonen-Datei der Sekundäre Nameserver in den NS-Records eingetragen werden:
 
$TTL 300        ; 5 minutes
 
@                      IN SOA  ns.vulkan.int. technik.xunix.de. (
 
                                2011090604 ; serial
 
                                14400      ; refresh (4 hours)
 
                                3600      ; retry (1 hour)
 
                                3600000    ; expire (5 weeks 6 days 16 hours)
 
                                86400      ; minimum (1 day)
 
                                )
 
                                IN      NS      ns.vulkan.int.
 
                                '''IN      NS      tunesien.alpha.quadrant.'''   
 
ns.vulkan.int.                  IN      A      192.168.81.21
 
www                            IN      A      192.168.81.43
 
 
 
===Forward Zone===
 
Damit in diesem Beispiel unser Primärer Domain Server den Sekundären findet und auch noch im rest des Netzwerkes die Rechner kennt müssen wir eine Forward Zone einrichten die zurück auf unseren Top-Level-Domain Name-Server zeigt:
 
zone "alpha.quadrant" {
 
        type forward;
 
        forwarders { 192.168.240.21; };
 
};
 
 
 
 
 
==DNS Auflösungsüberprüfung==
 
host und dig.
 
Diese Tools ermöglichen es, Informationen von DNS­Servern abzufragen.
 
Das einfachere der beiden Programme ist host. Eine simple Anfrage wird mit
 
host www.heise.de ausgeführt. Als Ausgabe erhält man die IP­Adresse des WWW­Servers:
 
www.heise.de has address 193.99.144.85
 

Aktuelle Version vom 15. Februar 2023, 15:01 Uhr