Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:bind

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:bind [2014/02/14 15:48] – ingo_wichmannlpi2:bind [2026/03/20 15:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 2: Zeile 2:
  
 ===== Vorbereiten ===== ===== Vorbereiten =====
-=== CentOS 5 ===+=== 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 7 ===
 Paket ''caching-nameserver'' deinstallieren Paket ''caching-nameserver'' deinstallieren
  
-Paket ''system-config-bind'' installieren +=== DNSSEC temporär abschalten === 
-Mit  +''/etc/named.conf'' : CentOS
-  system-config-bind +
-Default-Konfigurationsdateien erzeugen+
  
-=== CentOS 6 === +''/etc/bind/named.conf.options'' : Debian (ab 12)
-''/etc/named.conf'' :+
 <file> <file>
 options { options {
- +… 
-        // listen-on port 53 { 127.0.0.1; }; +        // In der Praxis ist DNSSEC eine gute Sache ... aber im Intranet zum Lernen erst mal aus:
-        // listen-on-v6 port 53 { ::1; }; +
-        // allow-query     { localhost; }; +
- +
-        dnssec-enable no;+
         dnssec-validation no;         dnssec-validation no;
-        #dnssec-lookaside auto; +… 
 +}
 </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 muß man ein entsprechendes Verzeichnis ''master'' für die Zonendateien noch anlegen ((oder man legt die Zonendateien direkt in /var/cache/bind bzw. /var/named ab)):+
  
-Debian : +== testen == 
-  mkdir /var/cache/bind/master +Eine mit DNSSEC signierte Zone abfragen:
-CentOS 5 : +
-  mkdir /var/named/master+
  
-''/var/named/master/linuxhotel.de'' : ( CentOS 5 )+Ein validierender Nameserver sollte bei einer signierten Zone liefern: 
 +  dig www.posteo.de @1.1.1.1
  
-''/var/lib/named/master/linuxhotel.de'' : ( SuSE 10.0)+-> ''flags: … ad''
  
-''/var/cache/bind/master/linuxhotel.de'' : ( Debian 3.1 ) +Unser Nameserver sollte das ad-Flag nicht setzen. 
-<file> + 
-$TTL 2h +===== eigene Zonen in bind verwalten ===== 
-linuxhotel.de. IN SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. (+==== Vorwärts-Zone ==== 
 +=== Zonendatei === 
 + 
 +  * ''/var/named/linuxhotel.de'' : ( CentOS ) 
 +  * ''/var/lib/named/linuxhotel.de'' : ( SuSE ) 
 +  * ''/var/cache/bind/linuxhotel.de'' : ( Debian ) 
 + 
 +<file txt linuxhotel.de> 
 +$ORIGIN . ; hilft Tippfehler (fehlender . am Ende) zu vermeiden 
 +$TTL 2m   ; time to live: 2 Minuten, default wäre 2 Tage 
 +linuxhotel.de. 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
 ) )
  
 ; Nameserver: ; Nameserver:
-linuxhotel.de.                  IN NS notebook20.linuxhotel.de.+linuxhotel.de.                  NS notebook20.linuxhotel.de.
  
 ; kanonische IP-Adressen: ; kanonische IP-Adressen:
-notebook22.linuxhotel.de.       IN A 192.168.1.222 +notebook22.linuxhotel.de.       A 192.168.1.222 
-notebook05.linuxhotel.de.       IN A 192.168.1.205 +notebook05.linuxhotel.de.       A 192.168.1.205 
-notebook20.linuxhotel.de.       IN A 192.168.1.220 +notebook20.linuxhotel.de.       A 192.168.1.220 
-notebook06.linuxhotel.de.       IN A 192.168.1.206 +notebook06.linuxhotel.de.       A 192.168.1.206 
-notebook09.linuxhotel.de.       IN A 192.168.1.209+notebook09.linuxhotel.de.       A 192.168.1.209 
 + 
 +notebook22.linuxhotel.de.       AAAA 2a0f:6480:1:600::222 
 +notebook05.linuxhotel.de.       AAAA 2a0f:6480:1:600::205 
 +notebook20.linuxhotel.de.       AAAA 2a0f:6480:1:600::220 
 +notebook06.linuxhotel.de.       AAAA 2a0f:6480:1:600::206 
 +notebook09.linuxhotel.de.       AAAA 2a0f:6480:1:600::209
  
 ; Aliase: ; Aliase:
-peter.linuxhotel.de.            IN CNAME notebook09.linuxhotel.de. +peter.linuxhotel.de.            CNAME notebook09.linuxhotel.de. 
-lothar.linuxhotel.de.           IN CNAME notebook05.linuxhotel.de. +lothar.linuxhotel.de.        60 CNAME notebook05.linuxhotel.de. 
-heribert.linuxhotel.de.         IN CNAME notebook06.linuxhotel.de. +heribert.linuxhotel.de.      30 CNAME notebook06.linuxhotel.de. 
-bjoern.linuxhotel.de.           IN CNAME notebook20.linuxhotel.de. +bjoern.linuxhotel.de.           CNAME notebook20.linuxhotel.de. 
-admin.linuxhotel.de.            IN CNAME notebook22.linuxhotel.de.+admin.linuxhotel.de.            CNAME notebook22.linuxhotel.de.
 </file> </file>
  
 === Zonendatei überprüfen === === Zonendatei überprüfen ===
-== CentOS 5 == +== CentOS == 
-  named-checkzone linuxhotel.de. /var/named/master/linuxhotel.de+  named-checkzone -D linuxhotel.de. /var/named/linuxhotel.de
  
-== SuSE 10.0 == +== SuSE == 
-  named-checkzone linuxhotel.de. /var/lib/named/master/linuxhotel.de+  named-checkzone -D linuxhotel.de. /var/lib/named/linuxhotel.de
  
-== Debian 3.1 == +== Debian == 
-  named-checkzone linuxhotel.de. /var/cache/bind/master/linuxhotel.de+  named-checkzone -D linuxhotel.de. /var/cache/bind/linuxhotel.de
  
-==== Zonendatei (kurze Schreibweise) ==== +=== Konfigurationsdatei === 
-Das Format der Zonendatei (([[http://tools.ietf.org/html/rfc1035|rfc1035]])) läßt es auch zu, diese Datei sehr viel kürzer zu schreiben:+  * ''/etc/named.conf'' : ( SuSE ) 
 +  * ''/etc/named.conf'' : ( CentOS ) 
 +  * ''/etc/bind/named.conf.local'' : ( Debian )
 <file> <file>
-$TTL 2h +zone "linuxhotel.de" { 
-@ IN SOA notebook20 root.notebook20 ( +  type primary; 
-        1             ; Seriennummer +  file "linuxhotel.de"; 
-        3h            ; refresh +}; 
-        1h            ; retry +</file>
-        1w            ; expire +
-        1h            ; negative ttl +
-)+
  
-; Nameserver: +Konfigdatei und eingetragene Zonen überprüfen: 
-                 IN NS notebook20+  named-checkconf -z
  
-; kanonische IP-Adressen: +=== bind die Änderung mitteilen === 
-notebook22       IN A 192.168.1.222 +  rndc reconfig 
-notebook05       IN A 192.168.1.205 +((oder 
-notebook20       IN A 192.168.1.220 +
-notebook06       IN A 192.168.1.206 +
-notebook09       IN A 192.168.1.209+
  
-; Aliase: +openSuSE, CentOS 
-peter            IN CNAME notebook09 +  service named reload
-lothar           IN CNAME notebook05 +
-heribert         IN CNAME notebook06 +
-bjoern           IN CNAME notebook20 +
-admin            IN CNAME notebook22 +
-</file>+
  
-Bei jeder Änderung der Zonendatei sollte die Seriennummer hochgezählt werden.+Debian 
 +  service bind9 reload 
 +)) 
 +=== im Log prüfen, ob es Fehler gab === 
 +Debian 
 +  journalctl -eu named.service
  
-=== Zonendatei überprüfen === +=== testen === 
-== CentOS 5 == +  host peter.linuxhotel.de ::1 
-  named-checkzone -D linuxhotel.de. /var/named/master/linuxhotel.de+  dig peter.linuxhotel.de @::1 any
  
-== SuSE 10.0 == +=== Zonendatei (kürzere Schreibweise) === 
-  named-checkzone -D linuxhotel.de. /var/lib/named/master/linuxhotel.de+Das Format der Zonendatei ((RFC [[rfc>1035]])) läßt es auch zu, diese Datei kürzer zu schreiben: 
 +<file> 
 +$TTL 2h 
 +@ SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. 1999022301 1d 2h 5w 2d
  
-== Debian 3.1 == +; Nameserver: 
-  named-checkzone -D linuxhotel.de. /var/cache/bind/master/linuxhotel.de+                 NS notebook20.linuxhotel.de.
  
-==== Konfigurationsdatei ==== +; kein Mailserver, weder empfangen (RFC 7505), noch senden: 
-''/etc/named.conf'' : ( SuSE 10.2 )+                 MX 0 . 
 +                 TXT "v=spf1 -all"
  
-''/etc/named.conf'' : ( CentOS )+; kanonische IP-Adressen: 
 +notebook22       A 192.168.1.222 
 +                 AAAA 2a0f:6480:1:600::222 
 +notebook05       A 192.168.1.205 
 +                 AAAA 2a0f:6480:1:600::205 
 +notebook20       A 192.168.1.220 
 +                 AAAA 2a0f:6480:1:600::220 
 +notebook06       A 192.168.1.206 
 +                 AAAA 2a0f:6480:1:600::206 
 +notebook09       A 192.168.1.209 
 +                 AAAA 2a0f:6480:1:600::209
  
-''/etc/bind/named.conf.local'' : ( Debian 5.0 )+; Aliase: 
 +peter            CNAME notebook09 
 +lothar           CNAME notebook05 
 +heribert      60 CNAME notebook06 
 +bjoern        30 CNAME notebook20 
 +admin            CNAME notebook22 
 +</file> 
 + 
 +Hier habe ich die Zeitangaben im SOA entsprechend der Empfehlungen des Ripe (( 
 +https://www.ripe.net/publications/docs/ripe-203
 <file> <file>
-  zone "linuxhotel.de" { +example.com.  3600  SOA  dns.example.com. hostmaster.example.com. ( 
-        type master; +                         1999022301   ; serial YYYYMMDDnn 
-        file "master/linuxhotel.de"; +                         86400        ; refresh (  24 hours) 
-  };+                         7200         ; retry   (   2 hours) 
 +                         3600000      ; expire  (1000 hours) 
 +                         172800 )     ; minimum (   2 days)
 </file> </file>
 +)) gewählt. 
  
-Konfigdatei und eingetragene Zonen überprüfen: +Bei jeder Änderung der Zonendatei sollte die Seriennummer hochgezählt werden.
-  named-checkconf -z+
  
-bind die Änderung mitteilen:+=== Zonendatei überprüfen === 
 +== CentOS == 
 +  named-checkzone -D linuxhotel.de. /var/named/linuxhotel.de
  
-SuSE 11.1 : +== SuSE == 
-  /etc/init.d/named reload+  named-checkzone -D linuxhotel.de. /var/lib/named/linuxhotel.de
  
-==== testen ==== +== Debian == 
-  host peter.linuxhotel.de 127.0.0.1 +  named-checkzone -D linuxhotel.de. /var/cache/bind/linuxhotel.de
-  dig peter.linuxhotel.de @127.0.0.1 any+
  
-===== Rückwärts-Zone ===== +=== bind die Änderung mitteilen === 
-==== Zonendatei ==== +  rndc reload linuxhotel.de
-''/var/named/master/1.168.192.in-addr.arpa'': ( CentOS ) +
- +
-''/var/lib/named/master/1.168.192.in-addr.arpa'': ( SuSE 10.0 )+
  
-''/var/cache/bind/master/1.168.192.in-addr.arpa'': ( Debian 3.1 )+==== Rückwärts-Zone IPv4 ==== 
 +=== Zonendatei === 
 +  * ''/var/named/1.168.192.in-addr.arpa'': ( CentOS ) 
 +  * ''/var/lib/named/1.168.192.in-addr.arpa'': ( SuSE 10.0 ) 
 +  * ''/var/cache/bind/1.168.192.in-addr.arpa'': ( Debian 3.1 )
  
 <file> <file>
 $TTL 2h $TTL 2h
-1.168.192.in-addr.arpa. IN SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. ( +@ SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. 1999022301 1d 2h 5w 2d 
-    2005082401    ; serial + 
-    3h            ; refresh +; Nameserver: 
-    1h            ; retry +                 NS notebook20.linuxhotel.de.
-    1w            ; expire +
-    1h            ; negative ttl +
-)   +
-; Nameserver +
-1.168.192.in-addr.arpa. IN NS notebook20.linuxhotel.de.+
  
 ; kanonische IP-Adressen ; kanonische IP-Adressen
Zeile 176: Zeile 202:
  
 === testen === === testen ===
-  named-checkzone linuxhotel.de /var/lib/named/master/linuxhotel.de +== CentOS == 
-  named-checkzone 1.168.192.in-addr.arpa. /var/lib/named/master/1.168.192.in-addr.arpa+  named-checkzone -D 1.168.192.in-addr.arpa. /var/named/1.168.192.in-addr.arpa
  
-==== Konfigurationsdatei ==== +== SuSE == 
-''/etc/named.conf'' : ( SuSE 10.2 )+  named-checkzone -D 1.168.192.in-addr.arpa. /var/lib/named/1.168.192.in-addr.arpa
  
-''/etc/named.conf'' : ( CentOS )+== Debian == 
 +  named-checkzone -D 1.168.192.in-addr.arpa. /var/cache/bind/1.168.192.in-addr.arpa
  
-''/etc/bind/named.conf.local'' : ( Debian 3.1 )+=== Konfigurationsdatei === 
 +  * ''/etc/named.conf'' : ( SuSE 10.2 ) 
 +  * ''/etc/named.conf'' : ( CentOS ) 
 +  * ''/etc/bind/named.conf.local'' : ( Debian 3.1 )
 <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 "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 ::1 
-  host 192.168.1.222 127.0.0.1 +  dig -x 192.168.1.222 @::1
-  dig -x 192.168.1.222 @127.0.0.1+
  
-===== Interne Anfragen abfangen ===== +==== Rückwärts-Zone IPv6 ==== 
-Todo: leere Zonendateien für [[http://linuxhotel.de/teilnehmerinfo/seminar-info.html#Netzwerk|private IP-Adressen]] anlegen+Paket: 
 +  * Debian (12): ''ipv6calc'' 
 +=== Zonendatei === 
 +  ipv6calc --out revnibbles.arpa --in ipv6addr 2a0f:6480:1:600::222 
 +-> ''2.2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa.'' 
 +  * ''/var/named/0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa'': ( CentOS ) 
 +  * ''/var/lib/named/0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa'': ( SuSE ) 
 +  * ''/var/cache/bind/0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa'': ( Debian )
  
-=== 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> <file>
-//include "/etc/bind/zones.rfc1918"; +$TTL 2h 
-</file>+@ SOA notebook20.linuxhotel.de. root.notebook20.linuxhotel.de. 1999022301 1d 2h 5w 2d
  
-Muß man je nach eigenen verwendeten privaten Netzen anpassen. +; Nameserver: 
 +                 NS notebook20.linuxhotel.de.
  
-=== openSuSE 11.4 === +; kanonische IP-Adressen 
-( noch nicht fertig )+2.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0. IN PTR notebook05.linuxhotel.de. 
 +2.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0. IN PTR notebook20.linuxhotel.de. 
 +2.0.6.0.0.0.0.0.0.0.0.0.0.0.0.0. IN PTR notebook06.linuxhotel.de. 
 +2.0.9.0.0.0.0.0.0.0.0.0.0.0.0.0. IN PTR notebook09.linuxhotel.de. 
 +2.2.2.0.0.0.0.0.0.0.0.0.0.0.0.0. IN PTR notebook22.linuxhotel.de. 
 +</file>
  
-''/etc/named.d/zones.rfc1918.conf'' : +=== testen === 
-<file> +== CentOS == 
-zone "10.in-addr.arpa"      { type master; file "/var/lib/named/db.empty"; }; +  named-checkzone -D 0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa. /var/named/0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa
-  +
-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"; }; +== SuSE == 
-</file>+  named-checkzone -D 0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa. /var/lib/named/0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa 
 +== Debian == 
 +  named-checkzone -D 0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa. /var/cache/bind/0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa
  
-''/var/lib/named/db.empty'' :+=== Konfigurationsdatei === 
 +  * ''/etc/named.conf'' : ( SuSE ) 
 +  * ''/etc/named.conf'' : ( CentOS ) 
 +  * ''/etc/bind/named.conf.local'' : ( Debian )
 <file> <file>
-; BIND reverse data file for empty rfc1918 zone +zone "0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa" { 
-; +      type primary; 
-; DO NOT EDIT THIS FILE - it is used for multiple zones. +      file "0.0.6.0.1.0.0.0.0.8.4.6.f.0.a.2.ip6.arpa"; 
-; 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> </file>
 +==  Syntax der Konfigurationsdatei prüfen ==
 +  named-checkconf -z
 +
 +== bind die Änderung mitteilen ==
 +  rndc reconfig
 +=== testen ===  
 +  host 2a0f:6480:1:600::222 ::1
 +  dig -x 2a0f:6480:1:600::222 @::1
  
 ===== Zonendateien mit nsupdate bearbeiten ===== ===== Zonendateien mit nsupdate bearbeiten =====
 ==== bind konfigurieren ==== ==== bind konfigurieren ====
-''/etc/named.conf'' : ( SuSE, CentOS ) +  * ''/etc/named.conf'' : ( SuSE, CentOS ) 
- +  * ''/etc/bind/named.conf.local'' : ( Debian ) 
-''/etc/bind/named.conf.local'' : ( Debian )+mit ''allow-update'':
 <file> <file>
 acl "nsupdate" { acl "nsupdate" {
Zeile 271: Zeile 294:
  
 zone "linuxhotel.de" { zone "linuxhotel.de" {
-        type master;+        type primary;
         allow-update { "nsupdate"; };         allow-update { "nsupdate"; };
-        file "master/linuxhotel.de";+        file "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 "1.168.192.in-addr.arpa";
 }; };
 </file> </file>
  
 +oder mit ''update-policy local'':
 +<file>
 +zone "linuxhotel.de" {
 +        type primary;
 +        update-policy local;
 +        file "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 bind /var/cache/bind/linuxhotel.de
  
 ==== 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 332:
 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 355:
  
 ''~/.bashrc'' : ''~/.bashrc'' :
-<file>+<code bash>
 function zvi { function zvi {
-  cd /var/cache/bind/master+  cd /var/cache/bind
   rndc freeze $1   rndc freeze $1
   vim $1   vim $1
Zeile 320: Zeile 364:
   cd -   cd -
 } }
-</file>+</code>
  
-====== bind als slave einrichten ====== +===== mehrere NS für eine Zone ===== 
-Erst müssen die Slave-Nameserver in der Zonendatei des Masters eingetragen werden:+==== 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; 
 + 
 +==== Primary konfigurieren ==== 
 +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 385:
 </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/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 @::1 linuxhotel.de NS
  
 +== debian 8 ==
 +  named-checkzone -i local -D linuxhotel.de /var/cache/bind/linuxhotel.de
 +  rndc reload linuxhotel.de
 +  journalctl -eu bind9
 +  dig @::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; };
 }; };
 </file> </file>
  
-''/etc/named.conf'' : ( SuSE 10.0 ) +  * ''/etc/named.conf'' : ( SuSE 10.0 ) 
- +  * ''/etc/bind/named.conf.local'' : ( Debian )
-''/etc/bind/named.conf.local'' : ( Debian )+
 <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 @::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 @::1 linuxhotel.de AXFR
  
-====== Zonentransfer signieren ====== +=== testen: funktionieren alle verantwortlichen Nameserver? === 
-Schlüsselpaar erstellen: (( Todo: eigentlich sollte das immer mit -n HOST funktionieren. Aber 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 "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 :!:
-Todo: Achtung: unsicher 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'' : ( 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/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.1392392933.txt.gz · Zuletzt geändert: 2014/02/14 15:48 von ingo_wichmann