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
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
lpi2:bind [2020/09/09 08:56]
ingo_wichmann [Vorbereiten]
lpi2:bind [2023/03/09 23:25]
127.0.0.1 Externe Bearbeitung
Zeile 2: Zeile 2:
  
 ===== Vorbereiten ===== ===== Vorbereiten =====
 +=== 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 === === CentOS 7 ===
 Paket ''​caching-nameserver''​ deinstallieren Paket ''​caching-nameserver''​ deinstallieren
Zeile 37: Zeile 39:
 Unser Nameserver sollte das ad-Flag nicht setzen. Unser Nameserver sollte das ad-Flag nicht setzen.
  
-====== eigene Zonen in bind verwalten ​====== +===== eigene Zonen in bind verwalten ===== 
-===== Vorwärts-Zone ​===== +==== Vorwärts-Zone ==== 
-==== Zonendatei ​==== +=== Zonendatei === 
-Unter Debian und CentOS empfehlen wir ein entsprechendes Verzeichnis ''​master''​ für die Zonendateien noch anzulegen ((oder man legt die Zonendateien direkt in /​var/​cache/​bind bzw. /var/named ab)):+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 (ab 5) : CentOS (ab 5) :
-  mkdir /var/named/master+  mkdir /var/named/primary
  
-''/​var/​named/​master/​linuxhotel.de''​ : ( CentOS ab 5 )+''/​var/​named/​primary/​linuxhotel.de''​ : ( CentOS ab 5 )
  
-''/​var/​lib/​named/​master/​linuxhotel.de''​ : ( SuSE ab 10.0)+''/​var/​lib/​named/​primary/​linuxhotel.de''​ : ( SuSE ab 10.0)
  
-''/​var/​cache/​bind/​master/​linuxhotel.de''​ : ( Debian ab 3.1 )+''/​var/​cache/​bind/​primary/​linuxhotel.de''​ : ( Debian ab 3.1 )
 <​file>​ <​file>​
 $ORIGIN . ; hilft Tippfehler (fehlender . am Ende) zu vermeiden $ORIGIN . ; hilft Tippfehler (fehlender . am Ende) zu vermeiden
Zeile 83: Zeile 85:
 === Zonendatei überprüfen === === Zonendatei überprüfen ===
 == CentOS (ab 5) == == CentOS (ab 5) ==
-  named-checkzone -D linuxhotel.de. /var/named/master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /var/named/primary/​linuxhotel.de
  
 == SuSE (ab 10.0) == == SuSE (ab 10.0) ==
-  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​primary/​linuxhotel.de
  
 == Debian (ab 3.1) == == Debian (ab 3.1) ==
-  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​primary/​linuxhotel.de
  
 ==== Konfigurationsdatei ==== ==== Konfigurationsdatei ====
Zeile 99: Zeile 101:
 <​file>​ <​file>​
 zone "​linuxhotel.de"​ { zone "​linuxhotel.de"​ {
-  type master+  type primary
-  file "master/​linuxhotel.de";​+  file "primary/​linuxhotel.de";​
 }; };
 </​file>​ </​file>​
Zeile 116: Zeile 118:
 Debian (ab 6) Debian (ab 6)
   service bind9 reload   service bind9 reload
 +
 +=== im Log prüfen, ob es Fehler gab ===
 +Debian (ab 10)
 +  journalctl -eu bind9.service
  
 ==== testen ==== ==== testen ====
Zeile 125: Zeile 131:
 <​file>​ <​file>​
 $TTL 2h $TTL 2h
-@ IN SOA notebook20 root.notebook20 ​2 3h 1h 1w 1h+@ IN SOA notebook20 root.notebook20 ​1999022301 1d 2h 5w 2d
  
 ; Nameserver: ; Nameserver:
Zeile 144: Zeile 150:
 admin            IN CNAME notebook22 admin            IN 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.
Zeile 149: Zeile 167:
 === 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 == == SuSE ==
-  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​primary/​linuxhotel.de
  
 == Debian == == Debian ==
-  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​master/​linuxhotel.de+  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​primary/​linuxhotel.de
  
 === bind die Änderung mitteilen === === bind die Änderung mitteilen ===
   rndc reload linuxhotel.de   rndc reload linuxhotel.de
  
-===== 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 190: Zeile 208:
 === testen === === testen ===
 == CentOS (ab 5) == == CentOS (ab 5) ==
-  named-checkzone -D linuxhotel.de. /var/named/master/​linuxhotel.de +  named-checkzone -D linuxhotel.de. /var/named/primary/​linuxhotel.de 
-  named-checkzone -D 1.168.192.in-addr.arpa. /var/named/master/​1.168.192.in-addr.arpa+  named-checkzone -D 1.168.192.in-addr.arpa. /var/named/primary/​1.168.192.in-addr.arpa
  
 == SuSE (ab 10.0) == == SuSE (ab 10.0) ==
-  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​master/​linuxhotel.de +  named-checkzone -D linuxhotel.de. /​var/​lib/​named/​primary/​linuxhotel.de 
-  named-checkzone -D 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/​lib/​named/​primary/​1.168.192.in-addr.arpa
  
 == Debian (ab 3.1) == == Debian (ab 3.1) ==
-  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​master/​linuxhotel.de +  named-checkzone -D linuxhotel.de. /​var/​cache/​bind/​primary/​linuxhotel.de 
-  named-checkzone -D 1.168.192.in-addr.arpa. /​var/​cache/​bind/​master/​1.168.192.in-addr.arpa+  named-checkzone -D 1.168.192.in-addr.arpa. /​var/​cache/​bind/​primary/​1.168.192.in-addr.arpa
  
-==== Konfigurationsdatei ​====+=== Konfigurationsdatei ===
 ''/​etc/​named.conf''​ : ( SuSE 10.2 ) ''/​etc/​named.conf''​ : ( SuSE 10.2 )
  
Zeile 209: 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 -z   named-checkconf -z
  
-=== bind die Änderung mitteilen ​===+== bind die Änderung mitteilen ==
   rndc reconfig   rndc reconfig
-==== testen ​====  ​+=== 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
Zeile 227: Zeile 245:
  
 ''/​etc/​bind/​named.conf.local''​ : ( Debian ) ''/​etc/​bind/​named.conf.local''​ : ( Debian )
 +mit ''​allow-update'':​
 <​file>​ <​file>​
 acl "​nsupdate"​ { acl "​nsupdate"​ {
Zeile 233: 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 261: 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 275: Zeile 315:
 <code bash> <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 284: Zeile 324:
 </​code>​ </​code>​
  
-====== ​bind als slave einrichten ​====== +===== mehrere NS für eine Zone ===== 
-===== Master konfigurieren ​===== +==== Master? Primary! Slave? Secondary! ;-) ==== 
-Erst müssen die Slave-Nameserver in der Zonendatei des Masters ​eingetragen werden:+//​**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 296: 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 ==
-  named-checkzone -i local -D linuxhotel.de /​var/​lib/​named/​master/​linuxhotel.de+  named-checkzone -i local -D linuxhotel.de /​var/​lib/​named/​primary/​linuxhotel.de
   rndc reload linuxhotel.de   rndc reload linuxhotel.de
   tail /​var/​log/​messages   tail /​var/​log/​messages
Zeile 304: Zeile 351:
  
 == debian 8 == == debian 8 ==
-  named-checkzone -i local -D linuxhotel.de /​var/​cache/​bind/​master/​linuxhotel.de+  named-checkzone -i local -D linuxhotel.de /​var/​cache/​bind/​primary/​linuxhotel.de
   rndc reload linuxhotel.de   rndc reload linuxhotel.de
   journalctl -eu bind9   journalctl -eu bind9
   dig @127.0.0.1 linuxhotel.de NS   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 336: 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;​ };         masters { 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;​ };         masters { 192.168.1.220;​ };
 }; };
Zeile 348: Zeile 395:
  
 Zonendateien im Binärformat kann man mit: Zonendateien im Binärformat kann man mit:
-  named-checkzone -D -f raw linuxhotel.de ​slave/​linuxhotel.de+  named-checkzone -D -f raw linuxhotel.de ​secondary/​linuxhotel.de
 anzeigen. Wenn man die Zonenfiles **lieber im Textformat statt im Binärformat** haben will, kann man in die Zone eintragen: anzeigen. Wenn man die Zonenfiles **lieber im Textformat statt im Binärformat** haben will, kann man in die Zone eintragen:
 <file txt> <file txt>
Zeile 357: Zeile 404:
 </​file>​ </​file>​
  
-==== bind Schreibzugriff auf Slave-Zonendateien geben ====+=== 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? ===
 == Debian == == Debian ==
   named-checkconf -z   named-checkconf -z
   rndc reconfig   rndc reconfig
   journalctl -eu bind9   journalctl -eu bind9
-  ls /​var/​cache/​bind/​slave/​{linuxhotel.de,​1.168.192.in-addr.arpa}+  ls /​var/​cache/​bind/​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
  
Zeile 374: Zeile 421:
   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
  
-==== testen: funktionieren alle verantwortlichen Nameserver? ​====+=== testen: funktionieren alle verantwortlichen Nameserver? ===
   dig @141.1.1.1 linuxhotel.de +nssearch   dig @141.1.1.1 linuxhotel.de +nssearch
  
-====== Subdomains delegieren ​====== +===== Subdomains delegieren ===== 
-===== Übergeordneter DNS =====+==== Übergeordneter DNS ====
 ''/​etc/​named.conf.local''​ : ( Debian ab 5.0 ) ''/​etc/​named.conf.local''​ : ( Debian ab 5.0 )
  
Zeile 387: Zeile 434:
 <​file>​ <​file>​
 zone "​linuxhotel.de"​ IN { zone "​linuxhotel.de"​ IN {
-        type master+        type primary
-        file "master/​linuxhotel.de";​+        file "primary/​linuxhotel.de";​
         forwarders ​     { };         forwarders ​     { };
 }; };
Zeile 395: Zeile 442:
 :!: Fallstrick: __Unbedingt an **forwarders** denken!__ Und **alle** dnssec Optionen ausschalten :!: :!: Fallstrick: __Unbedingt an **forwarders** denken!__ Und **alle** dnssec Optionen ausschalten :!:
  
-''/​var/​named/​master''​ : ( CentOS 5 )+''/​var/​named/​primary''​ : ( CentOS 5 )
 <​file>​ <​file>​
 sub05.linuxhotel.de. ​       IN NS ns1.sub05.linuxhotel.de. sub05.linuxhotel.de. ​       IN NS ns1.sub05.linuxhotel.de.
Zeile 410: Zeile 457:
 Das muss auch auf jedem Delegaten konfiguriert werden :!: Das muss auch auf jedem Delegaten konfiguriert werden :!:
  
-  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.txt · Zuletzt geändert: 2024/04/17 12:38 von ingo_wichmann