DNS mit bind9: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 136: Zeile 136:
 
  };
 
  };
  
 +
===Berechtigungen und Einschränkungen====
 +
 +
*wenn der Nameserver einen anderen Nameserver nicht die root Nameserver befragen soll
 +
*kann man forwarders benutzen
 +
 +
forwarders
 +
 +
          forwarders {
 +
          213.133.98.96;
 +
          213.133.99.99;
 +
          213.133.100.100;
 +
          };
 +
 +
 +
 +
 +
*mit allow-query ist gemeint wer erlaubt ist anfragen zu stellen für Zonen für die der Nameserver selbst zuständig ist
 +
 +
  allow-query
 +
{ 0.0.0.0/0; };
 +
 +
 +
 +
*mit allow-recursion ist gemeint wer erlaubt ist anfragen zu stellen für die der Nameserver andere quellen befragen muss also die außerhalb seiner Zuständigkeit liegen
 +
allow-recursion    {
 +
                    2.2.2.2
 +
                  };
 +
 +
*ist gemeint wer erlaubt ist eine komplette Zone abzufragen also alle unter Domains die zur Verfügung stehen dies wird normal nur für den sekundären Nameserver gebraucht
 +
allow-transfer {
 +
                1.2.2.2;
 +
        };
  
 
==DNS Auflösungsüberprüfung==
 
==DNS Auflösungsüberprüfung==

Version vom 2. August 2016, 14:53 Uhr

DNS-Allgemeines

Jeder mit dem Internet verbundene Rechner besitzt eine IP­Adresse, über die er weltweit erreichbar ist. Den meisten Menschen fällt es schwer, sich IP­Adressen zu merken. Aus diesem Grund werden 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; };
};

Berechtigungen und Einschränkungen=

  • wenn der Nameserver einen anderen Nameserver nicht die root Nameserver befragen soll
  • kann man forwarders benutzen
forwarders

         forwarders {
          213.133.98.96;
          213.133.99.99;
          213.133.100.100;
         };



  • mit allow-query ist gemeint wer erlaubt ist anfragen zu stellen für Zonen für die der Nameserver selbst zuständig ist
 allow-query 
{ 0.0.0.0/0; };


  • mit allow-recursion ist gemeint wer erlaubt ist anfragen zu stellen für die der Nameserver andere quellen befragen muss also die außerhalb seiner Zuständigkeit liegen
allow-recursion     { 
                    2.2.2.2
                  };
  • ist gemeint wer erlaubt ist eine komplette Zone abzufragen also alle unter Domains die zur Verfügung stehen dies wird normal nur für den sekundären Nameserver gebraucht
allow-transfer {
                1.2.2.2;
        };

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