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 21:10]
ewald Konfiguration
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 61: Zeile 49:
   [...] /​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:   * Globale Optionen:
-    * Kein IPv6. +    * Kein IPv6  ​(''​listen-on-v6''​)
-    * Nur auf localhost und einer IP-Adresse horchen (unnötig, wenn nur 1 IP-Adresse vorhanden). +    * 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. +    * Standardmäßig nur lokale Anfragen beantworten ​(''​allow-query''​ und ''​allow-recursion''​)
-    * Standardmäßig keine Zonentransfers erlauben.+    * Standardmäßig keine Zonentransfers erlauben ​(''​allow-transfer''​).
  
   # vi /​var/​lib/​named/​etc/​bind/​named.conf.options   # vi /​var/​lib/​named/​etc/​bind/​named.conf.options
   options {   options {
   [...]   [...]
-      listen-on-v6 { none; }; 
-  ​ 
       listen-on port 53 { 127.0.0.1; 85.214.92.99;​ };       listen-on port 53 { 127.0.0.1; 85.214.92.99;​ };
-  ​+      listen-on-v6 { none; }; 
 +    ​
       allow-query { 127.0.0.1; };       allow-query { 127.0.0.1; };
       allow-recursion { 127.0.0.1; };       allow-recursion { 127.0.0.1; };
Zeile 104: Zeile 94:
   [...] /​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]:​ listening on IPv4 interface lo, 127.0.0.1#​53   [...] named[xxxx]:​ listening on IPv4 interface lo, 127.0.0.1#​53
-  [...] named[xxxx]:​ listening on IPv4 interface ​eth0, 85.214.92.99#53+  [...] named[xxxx]:​ listening on IPv4 interface ​venet0:0, 85.214.235.82#53
   [...]   [...]
   [...] named[xxxx]:​ running   [...] 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.1179688256.txt.gz · Zuletzt geändert: 2007/05/20 21:10 von ewald