Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
lpi2:bind [2016/06/22 14:18] ingo_wichmann [Zonendatei] |
lpi2:bind [2020/12/21 11:52] ingo_wichmann |
||
---|---|---|---|
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 (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; }; | + | |
- | // listen-on-v6 port 53 { ::1; }; | + | |
- | // allow-query { localhost; }; | + | |
// In der Praxis ist DNSSEC eine gute Sache ... aber zum Lernen erst mal aus: | // In der Praxis ist DNSSEC eine gute Sache ... aber zum Lernen erst mal aus: | ||
dnssec-enable no; | dnssec-enable no; | ||
dnssec-validation no; | dnssec-validation no; | ||
dnssec-lookaside no; | 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 | ||
)) | )) | ||
+ | named-checkconf | ||
+ | rndc reconfig | ||
+ | |||
+ | == 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 ====== | ====== eigene Zonen in bind verwalten ====== | ||
===== Vorwärts-Zone ===== | ===== Vorwärts-Zone ===== | ||
Zeile 45: | Zeile 56: | ||
<file> | <file> | ||
$ORIGIN . ; hilft Tippfehler (fehlender . am Ende) zu vermeiden | $ORIGIN . ; hilft Tippfehler (fehlender . am Ende) zu vermeiden | ||
- | $TTL 2h | + | $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 73: | Zeile 84: | ||
=== 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/master/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/master/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/master/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 master; | ||
+ | file "master/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 | ||
+ | |||
+ | ==== 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 86: | Zeile 127: | ||
<file> | <file> | ||
$TTL 2h | $TTL 2h | ||
- | @ IN SOA notebook20 root.notebook20 1 3h 1h 1w 1h | + | @ IN SOA notebook20 root.notebook20 2 3h 1h 1w 1h |
; Nameserver: | ; Nameserver: | ||
Zeile 109: | Zeile 150: | ||
=== Zonendatei überprüfen === | === Zonendatei überprüfen === | ||
- | == CentOS 5 == | + | == CentOS == |
named-checkzone -D linuxhotel.de. /var/named/master/linuxhotel.de | named-checkzone -D linuxhotel.de. /var/named/master/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/master/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/master/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 master; | ||
- | file "master/linuxhotel.de"; | ||
- | }; | ||
- | </file> | ||
- | |||
- | Konfigdatei und eingetragene Zonen überprüfen: | ||
- | named-checkconf -z | ||
=== bind die Änderung mitteilen === | === bind die Änderung mitteilen === | ||
- | rndc reconfig | + | rndc reload linuxhotel.de |
- | oder | + | |
- | + | ||
- | openSuSE, centos (ab 7) | + | |
- | service named reload | + | |
- | + | ||
- | Debian (ab 6) | + | |
- | service bind9 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 ===== | ||
Zeile 177: | Zeile 191: | ||
=== 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/master/linuxhotel.de |
+ | named-checkzone -D 1.168.192.in-addr.arpa. /var/named/master/1.168.192.in-addr.arpa | ||
+ | |||
+ | == SuSE (ab 10.0) == | ||
+ | named-checkzone -D linuxhotel.de. /var/lib/named/master/linuxhotel.de | ||
+ | named-checkzone -D 1.168.192.in-addr.arpa. /var/lib/named/master/1.168.192.in-addr.arpa | ||
+ | |||
+ | == Debian (ab 3.1) == | ||
+ | named-checkzone -D linuxhotel.de. /var/cache/bind/master/linuxhotel.de | ||
+ | named-checkzone -D 1.168.192.in-addr.arpa. /var/cache/bind/master/1.168.192.in-addr.arpa | ||
==== Konfigurationsdatei ==== | ==== Konfigurationsdatei ==== | ||
Zeile 193: | Zeile 216: | ||
</file> | </file> | ||
=== testen === | === testen === | ||
- | named-checkconf | + | named-checkconf -z |
=== bind die Änderung mitteilen === | === bind die Änderung mitteilen === | ||
Zeile 252: | Zeile 275: | ||
''~/.bashrc'' : | ''~/.bashrc'' : | ||
- | <file> | + | <code bash> |
function zvi { | function zvi { | ||
cd /var/cache/bind/master | cd /var/cache/bind/master | ||
Zeile 261: | Zeile 284: | ||
cd - | cd - | ||
} | } | ||
- | </file> | + | </code> |
====== bind als slave einrichten ====== | ====== bind als slave einrichten ====== | ||
Zeile 277: | Zeile 300: | ||
=== testen: funktioniert der Master === | === testen: funktioniert der Master === | ||
== openSuSE 12.3 == | == openSuSE 12.3 == | ||
- | cd /var/lib/named/master | + | named-checkzone -i local -D linuxhotel.de /var/lib/named/master/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/master/linuxhotel.de | ||
+ | rndc reload linuxhotel.de | ||
+ | journalctl -eu bind9 | ||
+ | dig @127.0.0.1 linuxhotel.de NS | ||
- | ==== Slave konfigurieren ==== | + | ===== Slave konfigurieren ===== |
Vorraussetzung: Master funktioniert | Vorraussetzung: Master funktioniert | ||
dig @<IP-des-Masters> linuxhotel.de AXFR | dig @<IP-des-Masters> linuxhotel.de AXFR | ||
Zeile 320: | Zeile 347: | ||
masters { 192.168.1.220; }; | masters { 192.168.1.220; }; | ||
}; | }; | ||
+ | </file> | ||
+ | |||
+ | Zonendateien im Binärformat kann man mit: | ||
+ | named-checkzone -D -f raw linuxhotel.de slave/linuxhotel.de | ||
+ | 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> | </file> | ||
Zeile 331: | Zeile 368: | ||
named-checkconf -z | named-checkconf -z | ||
rndc reconfig | rndc reconfig | ||
- | tail /var/log/daemon.log | + | journalctl -eu bind9 |
- | ls /var/lib/named/slave/{linuxhotel.de,1.168.192.in-addr.arpa} | + | ls /var/cache/bind/slave/{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 347: | Zeile 384: | ||
====== Subdomains delegieren ====== | ====== Subdomains delegieren ====== | ||
===== Übergeordneter DNS ===== | ===== Übergeordneter DNS ===== | ||
- | ''/etc/named.conf.local'' : ( Debian 5.0 ) | + | ''/etc/named.conf.local'' : ( Debian ab 5.0 ) |
- | ''/etc/named.conf'' : ( CentOS 5 ) | + | ''/etc/named.conf'' : ( CentOS ab 5 ) |
<file> | <file> | ||
zone "linuxhotel.de" IN { | zone "linuxhotel.de" IN { | ||
Zeile 358: | Zeile 395: | ||
</file> | </file> | ||
- | 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/master'' : ( CentOS 5 ) | ||
Zeile 370: | Zeile 407: | ||
''/etc/named.conf.options'' : ( Debian 8 ) | ''/etc/named.conf.options'' : ( Debian 8 ) | ||
<file> | <file> | ||
- | disable-empty-zone "168.192.in-addr-arpa"; | + | disable-empty-zone "168.192.in-addr.arpa"; |
</file> | </file> | ||
+ | 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/master/linuxhotel.de |