Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| 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.4 -u bind -t /var/lib/named | + | [...] named[xxxx]: starting BIND 9.7.3 -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.4 -u bind -t /var/lib/named | + | [...] 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 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/ | ||