Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:bind

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:bind [2014/02/14 18:01]
ingo_wichmann [Zonendatei]
lpi2:bind [2023/12/08 15:15] (aktuell)
Zeile 2: Zeile 2:
  
 ===== Vorbereiten ===== ===== Vorbereiten =====
-=== CentOS ​===+=== systemd-resolvd === 
 +"​systemd-resolved is not intended to be used on DNS servers. If you’re running a DNS server, you’ll need to disable systemd-resolved before setting up BIND or Unbound instead"​ 
 +=== CentOS ​===
 Paket ''​caching-nameserver''​ deinstallieren Paket ''​caching-nameserver''​ deinstallieren
  
-Paket ''​system-config-bind'' ​installieren +=== DNSSEC temporär abschalten === 
-Mit  +''​/​etc/​named.conf'' ​: CentOS (ab 6)
-  system-config-bind +
-Default-Konfigurationsdateien erzeugen+
  
-=== CentOS 6 === +''/​etc/bind/named.conf.options''​ : Debian (ab 7)
-''/​etc/​named.conf''​ :+
 <​file>​ <​file>​
 options { options {
- + 
-        // listen-on port 53 { 127.0.0.1; }; +        // In der Praxis ist DNSSEC eine gute Sache ... aber zum Lernen erst mal aus:
-        // listen-on-v6 port 53 { ::1; }; +
-        // allow-query ​    { localhost; }; +
         dnssec-enable no;         dnssec-enable no;
         dnssec-validation no;         dnssec-validation no;
-        ​#dnssec-lookaside ​auto+        dnssec-lookaside ​no
 +… 
 +}
 </​file>​ </​file>​
 (( mehr zu ''​allow-query''​ weiter unten im Kapitel "Bind absichern"​ und natürlich unter  (( mehr zu ''​allow-query''​ weiter unten im Kapitel "Bind absichern"​ und natürlich unter 
   man named.conf   man named.conf
 )) ))
-====== eigene Zonen in bind verwalten ​====== +  named-checkconf  
-===== Vorwärts-Zone ​===== +  rndc reconfig 
-==== Zonendatei ​==== + 
-Unter Debian und CentOS empfehlen wir ein entsprechendes Verzeichnis ''​master''​ für die Zonendateien noch anlegen ​((oder man legt die Zonendateien direkt in /​var/​cache/​bind bzw. /var/named ab)):+== testen == 
 +Eine mit DNSSEC signierte Zone abfragen: 
 + 
 +Ein validierender Nameserver sollte bei einer signierten Zone liefern: 
 +  dig www.posteo.de @1.1.1.1 
 + 
 +<​file>​ 
 +flags: … ad 
 +</​file>​ 
 + 
 +Unser Nameserver sollte das ad-Flag nicht setzen. 
 + 
 +===== eigene Zonen in bind verwalten ===== 
 +==== Vorwärts-Zone ==== 
 +=== Zonendatei === 
 +Unter Debian und CentOS empfehlen wir ein entsprechendes Verzeichnis ''​primary''​ für die Zonendateien noch anzulegen ​((oder man legt die Zonendateien direkt in /​var/​cache/​bind bzw. /var/named ab)):
  
 Debian : Debian :
-  mkdir /​var/​cache/​bind/​master +  mkdir /​var/​cache/​bind/​primary 
-CentOS 5 : +CentOS ​(ab 5
-  mkdir /var/named/master+  mkdir /var/named/primary
  
-''/​var/​named/​master/​linuxhotel.de''​ : ( CentOS 5 )+''/​var/​named/​primary/​linuxhotel.de''​ : ( CentOS ​ab 5 )
  
-''/​var/​lib/​named/​master/​linuxhotel.de''​ : ( SuSE 10.0)+''/​var/​lib/​named/​primary/​linuxhotel.de''​ : ( SuSE ab 10.0)
  
-''/​var/​cache/​bind/​master/​linuxhotel.de''​ : ( Debian 3.1 )+''/​var/​cache/​bind/​primary/​linuxhotel.de''​ : ( Debian ​ab 3.1 )
 <​file>​ <​file>​
-$TTL 2h+$ORIGIN . ; hilft Tippfehler (fehlender . am Ende) zu vermeiden 
 +$TTL 2m   ; time to live: 2 Minuten, default wäre 2 Tage
 linuxhotel.de. IN SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. ( linuxhotel.de. IN SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. (
         1             ; Seriennummer         1             ; Seriennummer
-        ​3h            ​; refresh +        ​1h20m         ; refresh ​     / 1 Stunde 20 Minuten 
-        ​1h            ​; retry +        ​1d12h         ; retry        / 1,5 Tage 
-        1w            ; expire +        1w            ; expire ​      / 1 Woche 
-        ​1h            ​; negative ttl+        ​60s           ; negative ttl / 60 Sekunden
 ) )
  
Zeile 64: Zeile 77:
 ; Aliase: ; Aliase:
 peter.linuxhotel.de. ​           IN CNAME notebook09.linuxhotel.de. peter.linuxhotel.de. ​           IN CNAME notebook09.linuxhotel.de.
-lothar.linuxhotel.de. ​          ​IN CNAME notebook05.linuxhotel.de. +lothar.linuxhotel.de. ​       ​60 ​IN CNAME notebook05.linuxhotel.de. 
-heribert.linuxhotel.de. ​        ​IN CNAME notebook06.linuxhotel.de.+heribert.linuxhotel.de. ​     ​30 ​IN CNAME notebook06.linuxhotel.de.
 bjoern.linuxhotel.de. ​          IN CNAME notebook20.linuxhotel.de. bjoern.linuxhotel.de. ​          IN CNAME notebook20.linuxhotel.de.
 admin.linuxhotel.de. ​           IN CNAME notebook22.linuxhotel.de. admin.linuxhotel.de. ​           IN CNAME notebook22.linuxhotel.de.
Zeile 71: Zeile 84:
  
 === Zonendatei überprüfen === === Zonendatei überprüfen ===
-== CentOS 5 == +== CentOS ​(ab 5== 
-  named-checkzone linuxhotel.de. /var/named/master/​linuxhotel.de+  named-checkzone ​-D linuxhotel.de. /var/named/primary/​linuxhotel.de
  
-== SuSE 10.0 == +== SuSE (ab 10.0== 
-  named-checkzone linuxhotel.de. /​var/​lib/​named/​master/​linuxhotel.de+  named-checkzone ​-D linuxhotel.de. /​var/​lib/​named/​primary/​linuxhotel.de
  
-== Debian 3.1 == +== Debian ​(ab 3.1== 
-  named-checkzone linuxhotel.de. /​var/​cache/​bind/​master/​linuxhotel.de+  named-checkzone ​-D linuxhotel.de. /​var/​cache/​bind/​primary/​linuxhotel.de 
 + 
 +==== Konfigurationsdatei ==== 
 +''/​etc/​named.conf''​ : ( SuSE 10.2 ) 
 + 
 +''/​etc/​named.conf''​ : ( CentOS ab 5 ) 
 + 
 +''/​etc/​bind/​named.conf.local''​ : ( Debian ab 5.0 ) 
 +<​file>​ 
 +zone "​linuxhotel.de"​ { 
 +  type primary; 
 +  file "​primary/​linuxhotel.de";​ 
 +}; 
 +</​file>​ 
 + 
 +Konfigdatei und eingetragene Zonen überprüfen:​ 
 +  named-checkconf -z 
 + 
 +=== bind die Änderung mitteilen === 
 +  rndc reconfig 
 +oder  
 + 
 +openSuSE, centos (ab 7) 
 +  service named reload 
 + 
 +Debian (ab 6) 
 +  service bind9 reload 
 + 
 +=== im Log prüfen, ob es Fehler gab === 
 +Debian (ab 11) 
 +  journalctl -eu named.service 
 + 
 +==== testen ==== 
 +  host peter.linuxhotel.de 127.0.0.1 
 +  dig peter.linuxhotel.de @127.0.0.1 any
  
 ==== Zonendatei (kurze Schreibweise) ==== ==== Zonendatei (kurze Schreibweise) ====
Zeile 84: Zeile 131:
 <​file>​ <​file>​
 $TTL 2h $TTL 2h
-IN SOA notebook20 root.notebook20 ​+@ SOA notebook20 root.notebook20 ​1999022301 1d 2h 5w 2d
-        1             ; Seriennummer +
-        3h            ; refresh +
-        1h            ; retry +
-        1w            ; expire +
-        1h            ; negative ttl +
-)+
  
 ; Nameserver: ; Nameserver:
-                 IN NS notebook20+                 NS notebook20
  
 ; kanonische IP-Adressen:​ ; kanonische IP-Adressen:​
-notebook22 ​      IN A 192.168.1.222 +notebook22 ​      A 192.168.1.222 
-notebook05 ​      IN A 192.168.1.205 +notebook05 ​      A 192.168.1.205 
-notebook20 ​      IN A 192.168.1.220 +notebook20 ​      A 192.168.1.220 
-notebook06 ​      IN A 192.168.1.206 +notebook06 ​      A 192.168.1.206 
-notebook09 ​      IN A 192.168.1.209+notebook09 ​      A 192.168.1.209
  
 ; Aliase: ; Aliase:
-peter            ​IN CNAME notebook09 +peter            CNAME notebook09 
-lothar ​          IN CNAME notebook05 +lothar ​          CNAME notebook05 
-heribert ​        IN CNAME notebook06 +heribert ​     ​60 ​CNAME notebook06 
-bjoern ​          IN CNAME notebook20 +bjoern ​       ​30 ​CNAME notebook20 
-admin            ​IN CNAME notebook22+admin            CNAME notebook22
 </​file>​ </​file>​
 +
 +Hier habe ich die Zeitangaben im SOA entsprechend der Empfehlungen des Ripe ((
 +https://​www.ripe.net/​publications/​docs/​ripe-203
 +<​file>​
 +example.com. ​ 3600  SOA  dns.example.com. hostmaster.example.com. (
 +                         ​1999022301 ​  ; serial YYYYMMDDnn
 +                         ​86400 ​       ; refresh (  24 hours)
 +                         ​7200 ​        ; retry   ​( ​  2 hours)
 +                         ​3600000 ​     ; expire ​ (1000 hours)
 +                         ​172800 )     ; minimum (   2 days)
 +</​file>​
 +)) gewählt. ​
  
 Bei jeder Änderung der Zonendatei sollte die Seriennummer hochgezählt werden. Bei jeder Änderung der Zonendatei sollte die Seriennummer hochgezählt werden.
  
 === Zonendatei überprüfen === === Zonendatei überprüfen ===
-== CentOS ​== +== CentOS == 
-  named-checkzone -D linuxhotel.de. /var/named/master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /var/named/primary/​linuxhotel.de
  
-== SuSE 10.0 == +== SuSE == 
-  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​primary/​linuxhotel.de
  
-== Debian ​3.1 == +== Debian == 
-  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​primary/​linuxhotel.de
  
-==== Konfigurationsdatei ==== +=== bind die Änderung mitteilen === 
-''/​etc/​named.conf''​ : ( SuSE 10.2 ) +  ​rndc reload ​linuxhotel.de
- +
-''/​etc/​named.conf''​ : ( CentOS ) +
- +
-''/​etc/​bind/​named.conf.local''​ : ( Debian 5.0 ) +
-<​file>​ +
-  zone "​linuxhotel.de"​ { +
-        type master; +
-        file "​master/​linuxhotel.de";​ +
-  }; +
-</​file>​ +
- +
-Konfigdatei und eingetragene Zonen überprüfen:​ +
-  named-checkconf -z +
- +
-bind die Änderung mitteilen+
- +
-SuSE 11.1 : +
-  /​etc/​init.d/​named reload +
- +
-==== testen ==== +
-  ​host peter.linuxhotel.de ​127.0.0.1 +
-  dig peter.linuxhotel.de @127.0.0.1 any+
  
-===== Rückwärts-Zone ​===== +==== Rückwärts-Zone ==== 
-==== Zonendatei ​==== +=== Zonendatei === 
-''/​var/​named/​master/​1.168.192.in-addr.arpa'':​ ( CentOS )+''/​var/​named/​primary/​1.168.192.in-addr.arpa'':​ ( CentOS )
  
-''/​var/​lib/​named/​master/​1.168.192.in-addr.arpa'':​ ( SuSE 10.0 )+''/​var/​lib/​named/​primary/​1.168.192.in-addr.arpa'':​ ( SuSE 10.0 )
  
-''/​var/​cache/​bind/​master/​1.168.192.in-addr.arpa'':​ ( Debian 3.1 )+''/​var/​cache/​bind/​primary/​1.168.192.in-addr.arpa'':​ ( Debian 3.1 )
  
 <​file>​ <​file>​
Zeile 176: Zeile 207:
  
 === testen === === testen ===
-  ​named-checkzone linuxhotel.de /var/lib/named/master/​linuxhotel.de +== CentOS (ab 5) == 
-  named-checkzone 1.168.192.in-addr.arpa. /var/lib/named/master/​1.168.192.in-addr.arpa+  ​named-checkzone ​-D linuxhotel.de/var/named/primary/​linuxhotel.de 
 +  named-checkzone ​-D 1.168.192.in-addr.arpa. /var/named/primary/​1.168.192.in-addr.arpa
  
-==== Konfigurationsdatei ​====+== SuSE (ab 10.0) == 
 +  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​primary/​linuxhotel.de 
 +  named-checkzone -D 1.168.192.in-addr.arpa. /​var/​lib/​named/​primary/​1.168.192.in-addr.arpa 
 + 
 +== Debian (ab 3.1) == 
 +  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​primary/​linuxhotel.de 
 +  named-checkzone -D 1.168.192.in-addr.arpa. /​var/​cache/​bind/​primary/​1.168.192.in-addr.arpa 
 + 
 +=== Konfigurationsdatei ​===
 ''/​etc/​named.conf''​ : ( SuSE 10.2 ) ''/​etc/​named.conf''​ : ( SuSE 10.2 )
  
Zeile 187: Zeile 227:
 <​file>​ <​file>​
 zone "​1.168.192.in-addr.arpa"​ { zone "​1.168.192.in-addr.arpa"​ {
-      type master+      type primary
-      file "master/​1.168.192.in-addr.arpa";​+      file "primary/​1.168.192.in-addr.arpa";​
 }; };
 </​file>​ </​file>​
-===  ​testen === +==  ​Syntax der Konfigurationsdatei prüfen ​== 
-  named-checkconf+  named-checkconf ​-z
  
-==== testen ​==== +== bind die Änderung mitteilen ​== 
-SuSE 11.1 : +  rndc reconfig 
-  /​etc/​init.d/​named reload +=== testen ​===  ​
-  +
   host 192.168.1.222 127.0.0.1   host 192.168.1.222 127.0.0.1
   dig -x 192.168.1.222 @127.0.0.1   dig -x 192.168.1.222 @127.0.0.1
- 
-===== Interne Anfragen abfangen ===== 
-Todo: leere Zonendateien für [[http://​linuxhotel.de/​teilnehmerinfo/​seminar-info.html#​Netzwerk|private IP-Adressen]] anlegen 
- 
-=== Debian 5.0 === 
-Bei debian 5.0 gibt es dazu  
-''/​etc/​bind/​zones.rfc1918'',​ 
-''/​etc/​bind/​db.empty''​ 
-und einen Eintrag in ''/​etc/​bind/​named.conf.local'':​ 
-<​file>​ 
-//include "/​etc/​bind/​zones.rfc1918";​ 
-</​file>​ 
- 
-Muß man je nach eigenen verwendeten privaten Netzen anpassen. ​ 
- 
-=== openSuSE 11.4 === 
-( noch nicht fertig ) 
- 
-''/​etc/​named.d/​zones.rfc1918.conf''​ : 
-<​file>​ 
-zone "​10.in-addr.arpa" ​     { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-  
-zone "​16.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​17.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​18.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​19.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​20.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​21.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​22.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​23.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​24.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​25.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​26.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​27.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​28.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​29.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​30.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-zone "​31.172.in-addr.arpa" ​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
- 
-zone "​168.192.in-addr.arpa"​ { type master; file "/​var/​lib/​named/​db.empty";​ }; 
-</​file>​ 
- 
-''/​var/​lib/​named/​db.empty''​ : 
-<​file>​ 
-; BIND reverse data file for empty rfc1918 zone 
-; 
-; DO NOT EDIT THIS FILE - it is used for multiple zones. 
-; Instead, copy it, edit named.conf, and use that copy. 
-; 
-$TTL    86400 
-@       ​IN ​     SOA     ​localhost. root.localhost. ( 
-                              1         ; Serial 
-                         ​604800 ​        ; Refresh 
-                          86400         ; Retry 
-                        2419200 ​        ; Expire 
-                          86400 )       ; Negative Cache TTL 
-; 
-@       ​IN ​     NS      localhost. 
-</​file>​ 
  
 ===== Zonendateien mit nsupdate bearbeiten ===== ===== Zonendateien mit nsupdate bearbeiten =====
Zeile 265: Zeile 245:
  
 ''/​etc/​bind/​named.conf.local''​ : ( Debian ) ''/​etc/​bind/​named.conf.local''​ : ( Debian )
 +mit ''​allow-update'':​
 <​file>​ <​file>​
 acl "​nsupdate"​ { acl "​nsupdate"​ {
Zeile 271: Zeile 252:
  
 zone "​linuxhotel.de"​ { zone "​linuxhotel.de"​ {
-        type master;+        type primary;
         allow-update { "​nsupdate";​ };         allow-update { "​nsupdate";​ };
-        file "master/​linuxhotel.de";​+        file "primary/​linuxhotel.de";​
 }; };
  
 zone "​1.168.192.in-addr.arpa"​ { zone "​1.168.192.in-addr.arpa"​ {
-        type master;+        type primary;
         allow-update { "​nsupdate";​ };         allow-update { "​nsupdate";​ };
-        file "master/​1.168.192.in-addr.arpa";​+        file "primary/​1.168.192.in-addr.arpa";​
 }; };
 </​file>​ </​file>​
  
 +oder mit ''​update-policy local'':​
 +<​file>​
 +zone "​linuxhotel.de"​ {
 +        type primary;
 +        update-policy local;
 +        file "​primary/​linuxhotel.de";​
 +};
 +</​file>​
 ==== bind Konfigurationsdatei prüfen ==== ==== bind Konfigurationsdatei prüfen ====
   named-checkconf   named-checkconf
  
-==== bind Schreibzugriff auf Master-Zonendateien geben ====+==== bind Schreibzugriff auf Primary-Zonendateien geben ====
 Debian: Debian:
-  chown -R bind /​var/​cache/​bind/​master+  chown -R bind /​var/​cache/​bind/​primary
  
 ==== Testen: Eintrag hinzufügen ==== ==== Testen: Eintrag hinzufügen ====
-  nsupdate <<EOF+für ''​allow-update'':​
 <​file>​ <​file>​
 +nsupdate <<EOT
 +
 server localhost server localhost
  
Zeile 299: Zeile 290:
 update add 223.1.168.192.in-addr.arpa 43200 IN PTR notebook23.linuxhotel.de update add 223.1.168.192.in-addr.arpa 43200 IN PTR notebook23.linuxhotel.de
  
 +EOT
 +</​file>​
 +
 +für ''​update-policy local'':​
 +<​file>​
 +nsupdate -l <<EOT
 +
 +update add notebook23.linuxhotel.de 43200 IN A 192.168.1.223
 +
 +update add 223.1.168.192.in-addr.arpa 43200 IN PTR notebook23.linuxhotel.de
 +
 +EOT
 </​file>​ </​file>​
-  EOF 
  
 ==== Trotz nsupdate Zonen mit Editor bearbeiten ==== ==== Trotz nsupdate Zonen mit Editor bearbeiten ====
Zeile 311: Zeile 313:
  
 ''​~/​.bashrc''​ : ''​~/​.bashrc''​ :
-<file>+<code bash>
 function zvi { function zvi {
-  cd /​var/​cache/​bind/​master+  cd /​var/​cache/​bind/​primary
   rndc freeze $1   rndc freeze $1
   vim $1   vim $1
Zeile 320: Zeile 322:
   cd -   cd -
 } }
-</file>+</code> 
 + 
 +===== mehrere NS für eine Zone ===== 
 +==== Master? Primary! Slave? Secondary! ;-) ==== 
 +//​**Mittlerweile **(Version)** sind auch die Begriffe primary und secondary als Ersatz für master und slave möglich**//​ 
 + 
 +  masters { ...; };  =>  primaries { ...; }; 
 +  type master; ​ =>  type primary; 
 +  type slave; ​  ​=> ​ type secondary;
  
-====== bind als slave einrichten ====== +==== Primary konfigurieren ​==== 
-Erst müssen die Slave-Nameserver in der Zonendatei des Masters ​eingetragen werden:+Erst müssen die Secondary-Nameserver in der Zonendatei des Primarys ​eingetragen werden:
 <​file>​ <​file>​
 linuxhotel.de. IN NS notebook04.linuxhotel.de. linuxhotel.de. IN NS notebook04.linuxhotel.de.
Zeile 333: Zeile 343:
 </​file>​ </​file>​
 in der Datei ''/​etc/​named.conf''​ eingetragen werden, oder die Zeile ganz entfernt oder auskommentiert werden. in der Datei ''/​etc/​named.conf''​ eingetragen werden, oder die Zeile ganz entfernt oder auskommentiert werden.
-=== testen: funktioniert der Master ​===+=== testen: funktioniert der Primary? ​===
 == openSuSE 12.3 == == openSuSE 12.3 ==
-  ​cd /​var/​lib/​named/​master +  named-checkzone -i local -D linuxhotel.de ​/​var/​lib/​named/​primary/​linuxhotel.de
-  ​named-checkzone -i local -D linuxhotel.de linuxhotel.de+
   rndc reload linuxhotel.de   rndc reload linuxhotel.de
   tail /​var/​log/​messages   tail /​var/​log/​messages
   dig @127.0.0.1 linuxhotel.de NS   dig @127.0.0.1 linuxhotel.de NS
  
 +== debian 8 ==
 +  named-checkzone -i local -D linuxhotel.de /​var/​cache/​bind/​primary/​linuxhotel.de
 +  rndc reload linuxhotel.de
 +  journalctl -eu bind9
 +  dig @127.0.0.1 linuxhotel.de NS
  
-==== Slave konfigurieren ==== +==== Secondary ​konfigurieren ==== 
-Vorraussetzung: ​Master ​funktioniert +Vorraussetzung: ​Primary ​funktioniert 
-  dig @<​IP-des-Masters> linuxhotel.de AXFR+  dig @<​IP-des-Primary> linuxhotel.de AXFR
  
 Ausgabe muss mindestens 2 NS Records enthalten: Ausgabe muss mindestens 2 NS Records enthalten:
   - den eigenen Rechner   - den eigenen Rechner
-  - den Master+  - den Primary
  
 ''/​etc/​named.conf''​ : ( CentOS 5.3 ) ''/​etc/​named.conf''​ : ( CentOS 5.3 )
 <​file>​ <​file>​
 zone "​linuxhotel.de"​ { zone "​linuxhotel.de"​ {
-        type slave+        type secondary
-        file "slaves/​linuxhotel.de";​+        file "secondary/​linuxhotel.de";​
         masters { 192.168.1.220;​ };         masters { 192.168.1.220;​ };
 }; };
 zone "​1.168.192.in-addr.arpa"​ { zone "​1.168.192.in-addr.arpa"​ {
-        type slave+        type secondary
-        file "slaves/​1.168.192.in-addr.arpa";​+        file "secondary/​1.168.192.in-addr.arpa";​
         masters { 192.168.1.220;​ };         masters { 192.168.1.220;​ };
 }; };
Zeile 369: Zeile 383:
 <​file>​ <​file>​
 zone "​linuxhotel.de"​ { zone "​linuxhotel.de"​ {
-        type slave+        type secondary
-        file "slave/​linuxhotel.de";​ +        file "secondary/​linuxhotel.de";​ 
-        ​masters ​{ 192.168.1.220;​ };+        ​primaries ​{ 192.168.1.220;​ };
 }; };
 zone "​1.168.192.in-addr.arpa"​ { zone "​1.168.192.in-addr.arpa"​ {
-        type slave+        type secondary
-        file "slave/​1.168.192.in-addr.arpa";​ +        file "secondary/​1.168.192.in-addr.arpa";​ 
-        ​masters ​{ 192.168.1.220;​ };+        ​primaries ​{ 192.168.1.220;​ };
 }; };
 </​file>​ </​file>​
  
-==== bind Schreibzugriff auf Slave-Zonendateien geben ====+Zonendateien im Binärformat kann man mit: 
 +  named-checkzone -D -f raw linuxhotel.de secondary/​linuxhotel.de 
 +oder 
 +  named-compilezone -f raw -F text -o - example.org. /​var/​cache/​bind/​secondary/​example.org 
 +anzeigen. Wenn man die Zonenfiles **lieber im Textformat statt im Binärformat** haben will, kann man in die Zone eintragen:​ 
 +<file txt> 
 +zone "​…"​ { 
 +  … 
 +  masterfile-format text; 
 +  … 
 +</​file>​ 
 + 
 +=== bind Schreibzugriff auf Secondary-Zonendateien geben ===
 Debian: Debian:
-  mkdir /​var/​cache/​bind/​slave +  mkdir /​var/​cache/​bind/​secondary 
-  chown bind /​var/​cache/​bind/​slave+  chown bind /​var/​cache/​bind/​secondary
  
-==== testen: funktioniert der Slave==== +=== testen: funktioniert der Secondary? === 
-=== OpenSuSE 12.3 ===+== Debian == 
 +  named-checkconf -z 
 +  rndc reconfig 
 +  journalctl -eu bind9 
 +  ls /​var/​cache/​bind/​secondary/​{linuxhotel.de,​1.168.192.in-addr.arpa} 
 +  dig @127.0.0.1 linuxhotel.de AXFR 
 + 
 +== OpenSuSE 12.3 == 
 +  named-checkconf -z
   rcnamed restart   rcnamed restart
   tail /​var/​log/​messages   tail /​var/​log/​messages
-  ls /​var/​lib/​named/​slave/​{linuxhotel.de,​1.168.192.in-addr.arpa}+  ls /​var/​lib/​named/​secondary/​{linuxhotel.de,​1.168.192.in-addr.arpa}
   dig @127.0.0.1 linuxhotel.de AXFR   dig @127.0.0.1 linuxhotel.de AXFR
  
-====== Zonentransfer signieren ====== +=== testen: funktionieren alle verantwortlichen Nameserver? ​=== 
-Schlüsselpaar erstellen: (( Todo: eigentlich sollte das immer mit -n HOST funktionierenAber ich hatte Situationen,​ wo ich  +  dig @141.1.1.1 linuxhotel.de +nssearch
-  dnssec-keygen -a hmac-md5 -b 128 -n ZONE zonentransfer +
-benutzt habe )) +
-  cd +
-  dnssec-keygen -a hmac-md5 -b 512 -n HOST zonentransfer+
  
-Dadurch werden zwei Dateien erstellt: +===== Subdomains delegieren ===== 
-  ls Kzonentransfer.+157+*+==== Übergeordneter DNS ==== 
 +''/​etc/​named.conf.local''​ : ( Debian ab 5.0 )
  
-Die darin angegebenen Schlüssel und Verschlüsselungsverfahren müssen in die Konfigurationsdateien von master und slave eingetragen werden. +''/​etc/​named.conf''​ : ( CentOS ​ab 5 )
- +
-===== master ===== +
-''/​etc/​named.conf''​ : ( CentOS 5, Debian 5.0 )+
 <​file>​ <​file>​
-key "​zonentransfer"​ { +zone "​linuxhotel.de" ​IN 
-        algorithm hmac-md5; +        type primary
-        secret "​Ur7+TU8m24L9q24AWgNd4g==";​ +        file "primary/​linuxhotel.de";​ 
-}; +        ​forwarders ​     ​{ };
- +
-zone "​linuxhotel.de"​ { +
-        type master+
-        file "master/​linuxhotel.de";​ +
-        ​allow-transfer ​key zonentransfer;​ }; +
-}; +
- +
-zone "​1.168.192.in-addr.arpa"​ { +
-        type master; +
-        file "​master/​1.168.192.in-addr.arpa";​ +
-        allow-transfer { key zonentransfer; ​};+
 }; };
 </​file>​ </​file>​
  
-==== testen ==== +:!Fallstrick: __Unbedingt an **forwarders** denken!__ Und **alle** dnssec Optionen ausschalten :!:
-TodoAchtungunsicher da so der Schlüssen in ''​ps ax''​ Ausgabe und in der history landet. Mit ''​-k''​ wäre sicherer +
-  dig @192.168.53.103 signed03.dnslab.org AXFR -y "​zonentransfer:Ur7+TU8m24L9q24AWgNd4g=="​+
  
-===== slave ===== +''/​var/named/primary''​ : ( CentOS 5 )
-''/​etc/named.conf''​ : ( CentOS 5, Debian 5.0 )+
 <​file>​ <​file>​
-key "​zonentransfer"​ { +sub05.linuxhotel.de. ​       ​IN NS ns1.sub05.linuxhotel.de
-      algorithm hmac-md5; +ns1.sub05.linuxhotel.de   IN A 192.168.150.110
-      secret "​Ur7+TU8m24L9q24AWgNd4g==";​ +
-}; +
- +
-server 192.168.1.220 { +
-      keys { zonentransfer;​ }; +
-}; +
- +
-zone "linuxhotel.de" { +
-        type slave; +
-        file "​slaves/​linuxhotel.de"; +
-        masters { 192.168.1.220; }; +
-}; +
- +
-zone "1.168.192.in-addr.arpa"​ { +
-        type slave; +
-        file "​slaves/​1.168.192.in-addr.arpa";​ +
-        masters { 192.168.1.220; }; +
-};+
 </​file>​ </​file>​
  
-====== Subdomains delegieren ====== +Fallstrick: Seit bind 9.9 werden die empty zones automatisch "​aufgefüllt"​Dadurch werden aber PTR-RR für nicht eigene Netze nicht mehr geforwarded :!:
-===== Übergeordneter DNS ===== +
-''/​etc/​named.conf.local'' ​( Debian 5.0 )+
  
-''/​etc/​named.conf''​ : ( CentOS 5 )+''/​etc/​named.conf.options''​ : ( Debian 8 )
 <​file>​ <​file>​
-zone "linuxhotel.de" IN { +disable-empty-zone "168.192.in-addr.arpa";
-        type master; +
-        file "​master/​linuxhotel.de"+
-        forwarders ​     { }; +
-};+
 </​file>​ </​file>​
  
-''/​var/​named/​master'' ​( CentOS 5 ) +Das muss auch auf jedem Delegaten konfiguriert werden :!:
-<​file>​ +
-sub05.linuxhotel.de. ​       IN NS ns1.sub05.linuxhotel.de. +
-ns1.sub05.linuxhotel.de. ​   IN A 192.168.150.110 +
-</​file>​+
  
-  named-checkzone -i local -D linuxhotel.de /var/named/master/​linuxhotel.de +  named-checkzone -i local -D linuxhotel.de /var/named/primary/​linuxhotel.de 
-===== Subdomain DNS =====+==== Subdomain DNS ====
 Wie oben, unter "​eigene Zonen in bind verwalten"​ Wie oben, unter "​eigene Zonen in bind verwalten"​
  
-====== Zonendatei für Subnetz per Skript erzeugen ​====== +===== Zonendatei für Subnetz per Skript erzeugen ===== 
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
lpi2/bind.1392400887.txt.gz · Zuletzt geändert: 2014/02/14 18:01 von ingo_wichmann