Benutzer-Werkzeuge

Webseiten-Werkzeuge


server:bind

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
server:bind [2007/05/20 17:40]
ewald Externe Links im Fließtext entfernt
server:bind [2011/12/08 20:44] (aktuell)
ewald Hinweise ergänzt
Zeile 1: Zeile 1:
-====== BIND unter Debian ​4.0 ======+====== BIND unter Debian ​6.0 ======
  
-BIND unter Debian ​4.0 als Primary und Secondary Nameserver einrichten:+BIND unter Debian ​6.0 als Primary und Secondary Nameserver einrichten:
  
 ===== Installation ===== ===== Installation =====
Zeile 13: Zeile 13:
   # /​etc/​init.d/​bind9 stop   # /​etc/​init.d/​bind9 stop
  
-  * Für chroot konfigurieren:​+  * Für chroot konfigurieren ​und IPv4 erzwingen (gibt sonst Fehlermeldungen,​ weil der Server keine IPv6-Adresse hat):
  
   # vi /​etc/​default/​bind9   # vi /​etc/​default/​bind9
-  OPTIONS="​-u bind -t /​var/​lib/​named"​+  OPTIONS="​-u bind -t /​var/​lib/​named ​-4"
  
   * Verzeichnisbaum anlegen:   * Verzeichnisbaum anlegen:
Zeile 33: Zeile 33:
  
   # cp -a /​var/​cache/​bind /​var/​lib/​named/​var/​cache   # cp -a /​var/​cache/​bind /​var/​lib/​named/​var/​cache
-  # cp -a /var/run/bind /​var/​lib/​named/​var/​run+  # cp -a /var/run/named /​var/​lib/​named/​var/​run
  
-  * Devices anlegen:+  * Notwendige ​Devices anlegen:
  
-  # mknod /​var/​lib/​named/​dev/​null c 1 3 
   # mknod /​var/​lib/​named/​dev/​random c 1 8   # mknod /​var/​lib/​named/​dev/​random c 1 8
   # chmod 666 /​var/​lib/​named/​dev/​null /​var/​lib/​named/​dev/​random   # chmod 666 /​var/​lib/​named/​dev/​null /​var/​lib/​named/​dev/​random
- 
-  * syslogd konfigurieren (''/​dev/​log''​ ist außer Reichweite):​ 
- 
-  # vi /​etc/​default/​syslogd 
-  SYSLOGD="​-a /​var/​lib/​named/​dev/​log"​ 
- 
-  * syslogd neu starten und überprüfen:​ 
- 
-  # /​etc/​init.d/​sysklogd restart 
-  # ps -Naf | grep syslogd 
-  [...] /​sbin/​syslogd -a /​var/​lib/​named/​dev/​log 
  
   * Nameserver wieder starten:   * Nameserver wieder starten:
Zeile 56: Zeile 44:
   # /​etc/​init.d/​bind9 start   # /​etc/​init.d/​bind9 start
  
-   * Lauffähigkeit überprüfen:​+  ​* Lauffähigkeit überprüfen:​
  
   # ps -Naf | grep named   # ps -Naf | grep named
   [...] /​usr/​sbin/​named -u bind -t /​var/​lib/​named   [...] /​usr/​sbin/​named -u bind -t /​var/​lib/​named
   # less /​var/​log/​daemon.log   # less /​var/​log/​daemon.log
-  [...] named[xxxx]:​ starting BIND 9.3.-u bind -t /​var/​lib/​named+  [...] named[xxxx]:​ starting BIND 9.7.-u bind -t /​var/​lib/​named ​-4
   [...]   [...]
   [...] named[xxxx]:​ running   [...] named[xxxx]:​ running
Zeile 68: Zeile 56:
     * [[http://​www.howtoforge.com/​howto_bind_chroot_debian|Bind-Chroot-Howto (Debian)]]     * [[http://​www.howtoforge.com/​howto_bind_chroot_debian|Bind-Chroot-Howto (Debian)]]
     * [[http://​oat.tao.ca/​node/​view/​150|BIND 9 chroot on Debian 3.0]]     * [[http://​oat.tao.ca/​node/​view/​150|BIND 9 chroot on Debian 3.0]]
 +  * Hinweise:
 +    * Bei älteren Versionen mussten auch ''/​dev/​null''​ und ''/​dev/​log''​ in der Chroot-Umgebung liegen. Der Syslog-Daemon musste umkonfiguriert werden, damit er ''/​dev/​log''​ in der Chroot-Umgebung berücksichtigte. Beides ist bei Debian 6.0 nicht mehr notwendig.
 +    * Bind kann ''/​dev/​random''​ auch von außerhalb der Chroot-Umgebung nutzen, es gibt dann eine Warning in der Daemon-Log-Datei.
  
 ===== Konfiguration ===== ===== Konfiguration =====
  
 +  * Globale Optionen:
 +    * Kein IPv6  (''​listen-on-v6''​).
 +    * Nur auf localhost und einer IP-Adresse horchen (''​listen-on port'',​ unnötig, wenn nur 1 IP-Adresse vorhanden).
 +    * Standardmäßig nur lokale Anfragen beantworten (''​allow-query''​ und ''​allow-recursion''​).
 +    * Standardmäßig keine Zonentransfers erlauben (''​allow-transfer''​).
 +
 +  # vi /​var/​lib/​named/​etc/​bind/​named.conf.options
 +  options {
 +  [...]
 +      listen-on port 53 { 127.0.0.1; 85.214.92.99;​ };
 +      listen-on-v6 { none; };
 +    ​
 +      allow-query { 127.0.0.1; };
 +      allow-recursion { 127.0.0.1; };
 +      allow-transfer { none; };
 +  };
 +
 +  * Konfiguration überprüfen:​
 +
 +  # named-checkconf -t /​var/​lib/​named
 +  # echo $?
 +  0
 +
 +  * Nameserver neu starten:
 +
 +  # /​etc/​init.d/​bind9 restart
 +
 +  * Lauffähigkeit und gebundene IP-Adressen überprüfen:​
 +
 +  # ps -Naf | grep named
 +  [...] /​usr/​sbin/​named -u bind -t /​var/​lib/​named
 +  # less /​var/​log/​daemon.log
 +  [...] named[xxxx]:​ starting BIND 9.7.3 -u bind -t /​var/​lib/​named -4
 +  [...]
 +  [...] named[xxxx]:​ listening on IPv4 interface lo, 127.0.0.1#​53
 +  [...] named[xxxx]:​ listening on IPv4 interface venet0:0, 85.214.235.82#​53
 +  [...]
 +  [...] named[xxxx]:​ running
 +
 +===== Zonendateien =====
 +
 +==== Konfiguration ====
 +
 +  * Verzeichnisse für Zonendateien erzeugen:
 +
 +  # mkdir /​var/​lib/​named/​etc/​bind/​primary
 +  # mkdir /​var/​lib/​named/​etc/​bind/​secondary
 +  # chown bind:bind /​var/​lib/​named/​etc/​bind/​secondary
 +
 +  * Zonendatei erzeugen:
 +
 +  # vi /​var/​lib/​named/​etc/​bind/​primary/​disorganized.de.zone
 +
 +  * Zonendatei überprüfen:​
 +
 +  # named-checkzone disorganized.de /​var/​lib/​named/​etc/​bind/​primary/​disorganized.de.zone
 +  zone disorganized.de/​IN:​ loaded serial 2006051700
 +  OK
 +
 +  * Zonendatei für Primary Nameserver in Konfiguration eintragen:
 +    * Anfragen von außen freischalten (''​allow-query''​).
 +    * Zonentransfers für Secondary Nameserver freischalten (''​allow-transfer''​).
 +    * Falls nötig, IP-Adresse für Notifications festlegen (''​notify-source'',​ z.B. wenn mehrere IP-Adressen konfiguriert sind).
 +
 +  # vi /​var/​lib/​named/​etc/​bind/​named.conf.local
 +  [...]
 +  zone "​disorganized.de"​ in {
 +      type master;
 +      file "/​etc/​bind/​primary/​disorganized.de.zone";​
 +      allow-query { any; };
 +      allow-transfer { 62.116.163.100;​ 62.116.162.121;​ };
 +      notify-source 85.214.92.99;​
 +  };
 +
 +  * Zonendatei für Secondary Nameserver in Konfiguration eintragen:
 +    * Primary Nameserver eintragen (''​masters''​).
 +    * Anfragen von außen freischalten (''​allow-query''​).
 +    * Falls nötig, IP-Adresse und Portnummer für Zonentransfers festlegen (''​transfer-source'',​ z.B. wegen Firewall).
 +
 +  # vi /​var/​lib/​named/​etc/​bind/​named.conf.local
 +  [...]
 +  zone "​disorganized.de"​ in {
 +      type slave;
 +      file "/​etc/​bind/​secondary/​disorganized.de.zone";​
 +      masters { a.b.c.d; };
 +      allow-query { any; };
 +      transfer-source 85.214.92.99 port 53;
 +  };
 +
 +  * Konfiguration überprüfen:​
 +
 +  # named-checkconf -t /​var/​lib/​named
 +  # echo $?
 +  0
 +
 +  * Nameserver neu starten:
 +
 +  # /​etc/​init.d/​bind9 restart
 +
 +  * Log-File überprüfen:​
 +
 +  # less /​var/​log/​daemon.log
 +
 +
 +==== Beispiel ====
 +
 +Hier ist ein Beispiel für eine primäre Zonendatei:
 +
 +  # vi /​var/​lib/​named/​etc/​bind/​primary/​disorganized.de.zone
 +  $TTL 1d
 +  @       ​IN ​     SOA ns hostmaster (
 +                      2006061200 ; serial
 +                      8h         ; refresh
 +                      2h         ; retry
 +                      1w         ; expiry
 +                      1d )       ; minimum
 +          IN      NS      ns
 +          IN      NS      ns10.schlundtech.de.
 +          IN      A       ​85.214.92.99
 +          IN      MX      10 mx
 +  ns      IN      A       ​85.214.92.99
 +  mx      IN      A       ​85.214.92.99
 +  www     ​IN ​     A       ​85.214.92.99
 +
 +===== Debug-Logging =====
 +
 +So wird Debug-Logging aktiviert:
 +
 +  * Verzeichnis für Log-Datei erzeugen:
 +
 +  # mkdir /​var/​lib/​named/​tmp
 +  # chown bind:bind /​var/​lib/​named/​tmp
 +
 +  * Debug-Logging aktivieren:
 +
 +  # vi /​var/​lib/​named/​etc/​bind/​named.conf.options
 +  [...]
 +  logging {
 +      category default {
 +          default_syslog;​
 +          default_debug;​
 +      };
 +  ​
 +      channel my_file {
 +          file "/​tmp/​log.msgs";​
 +          severity debug 3;
 +          print-category yes;
 +          print-severity yes;
 +      };
 +  ​
 +      category notify { my_file; };
 +  };
 +
 +  * Nameserver-Konfiguration neu einlesen:
 +
 +  # /​etc/​init.d/​bind9 reload
 +
 +  * Debug-Ausgaben werden nach ''/​var/​lib/​named/​tmp/​log.msgs''​ geloggt.
 +
 +===== Test =====
 +
 +Einer der vielen Dienste, um DNS zu testen: http://​www.dnssy.com/​
server/bind.1179675603.txt.gz · Zuletzt geändert: 2007/05/20 17:40 von ewald