Server Installation/BIND: Unterschied zwischen den Versionen
Aus Opennet
(→DNSSEC (Zone Signing)) |
(→DNSSEC (Zone Signing)) |
||
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Opennet Gateway Server: Caching NS == | == Opennet Gateway Server: Caching NS == | ||
+ | |||
+ | {{hinweis|Die manuelle Konfiguration eines DNS-Slave-Servers für unsere Zonen ist untenstehend beschrieben. Alternativ ist auch die opennet-spezifische [[Server_Installation/Ansible|ansible]]-Rolle [https://dev.opennet-initiative.de/browser/on_ansible/roles/dns-zone-slave dns-zone-slave] verwendbar, um automatisiert die DNS-Slave-Konfiguration auf einen Server anzuwenden.}} | ||
* Erforderliche Pakete installieren: bind9 | * Erforderliche Pakete installieren: bind9 | ||
Zeile 88: | Zeile 90: | ||
== Opennet Dienste Server: Authoritative NS == | == Opennet Dienste Server: Authoritative NS == | ||
+ | |||
+ | === Konfiguration === | ||
+ | |||
+ | // opennet | ||
+ | include "/etc/bind/keys/opennet-transfer.key"; | ||
+ | include "/etc/bind/keys/opennet-dyndns-aps.key"; | ||
+ | include "/etc/bind/acls/opennet-internetx.acl"; | ||
+ | options { | ||
+ | directory "/var/cache/bind"; | ||
+ | dnssec-validation auto; | ||
+ | auth-nxdomain no; # conform to RFC1035 | ||
+ | listen-on-v6 { any; }; | ||
+ | // opennet | ||
+ | version "opennet"; | ||
+ | recursion no; | ||
+ | allow-query { any; }; | ||
+ | allow-transfer { | ||
+ | 127.0.0.1; | ||
+ | key dnskey.opennet; | ||
+ | internetx; | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | === Fehlersuche === | ||
+ | |||
+ | named-checkconf -z | ||
=== DNSSEC (Zone Signing) === | === DNSSEC (Zone Signing) === | ||
− | + | Ab Bind 9.9 via "inline-signing": https://kb.isc.org/article/AA-00626/0/Inline-Signing-in-ISC-BIND-9.9.0-Examples.html | |
− | * DNSSEC | + | * DNS Keys pro Zone anlegen (nur einmalig notwendig): |
+ | cd /etc/bind | ||
+ | chown bind:bind keys zones | ||
+ | cd keys | ||
+ | dnssec-keygen <zone> | ||
+ | dnssec-keygen -fk <zone> | ||
+ | |||
+ | * DNSSEC Keys ''/etc/bind/named.conf.options'' aktivieren: | ||
options { | options { | ||
− | + | .... | |
− | + | dnssec-enable yes; | |
− | + | key-directory "/etc/bind/keys"; | |
} | } | ||
− | * | + | |
− | + | * Konfiguration der Zone um DNSSEC erweitern: | |
− | * | + | zone "<zone>" IN { |
− | + | auto-dnssec maintain; | |
− | + | inline-signing yes; | |
− | + | } | |
− | + | ||
+ | * Signing ausführen und Kontrolle: | ||
+ | rndc reconfig | ||
+ | rndc signing -list <zone> | ||
+ | Done signing with key .../RSASHA1 | ||
+ | Done signing with key .../RSASHA1 | ||
+ | dig <zone> DNSKEY +multiline | ||
+ | |||
+ | * anschließend den Key Signing Key (KSK, DNSKEY 257) via BASE64 (eine Zeile, keine Leerzeichen!) beim zuständigen Registrar eintragen lassen | ||
+ | |||
+ | [[Kategorie:Server]] |
Aktuelle Version vom 9. Dezember 2017, 12:49 Uhr
Je nach Einsatzzweck gibt es zwei Arten von DNS Server Installationen. Auf Gateway Servern betreiben wir Caching-DNS incl. einen Transfer der Opennet internen DNS Zonen. Zentral betreiben wir einen Authoritative-DNS für die öffentlichen und internen Opennet DNS Zonen.
Inhaltsverzeichnis |
[Bearbeiten] Opennet Gateway Server: Caching NS
Die manuelle Konfiguration eines DNS-Slave-Servers für unsere Zonen ist untenstehend beschrieben. Alternativ ist auch die opennet-spezifische ansible-Rolle dns-zone-slave verwendbar, um automatisiert die DNS-Slave-Konfiguration auf einen Server anzuwenden. |
- Erforderliche Pakete installieren: bind9
- falls noch kein rndc-Key - rndc absichern per rndc-conf -a
- mkdir /var/log/bind; chown bind /var/log/bind
- /etc/bind/named.conf.options:
acl opennet { 127.0.0.1; 192.168.0.0/16; 172.16.0.0/12; 10.0.0.0/8; 139.30.241.202; }; key dnskey.opennet { algorithm hmac-md5; secret "<<<<Key von anderem Gateway holen>>>>"; }; server 139.30.241.202 { keys dnskey.opennet; }; server 192.168.10.2 { keys dnskey.opennet; }; options { directory "/var/cache/bind"; auth-nxdomain no; # conform to RFC1035 allow-recursion { opennet; }; allow-transfer { opennet; }; listen-on-v6 { any; }; # activate IPv6 check-names slave ignore; # ignoriert unterstrich in Domainnamen vom ON }; logging { channel logfile { file "/var/log/bind/named.log" versions 2 size 1M; print-time yes; # syslog local2; print-category yes; print-severity yes; severity info; }; category default { logfile; }; category general { logfile; }; # category queries { null; }; # category lame-servers { null; }; # category update { null; }; };
- /etc/bind/named.conf.local:
// on - forward (includes vpn) zone "on." { type slave; file "db.on"; masters {139.30.241.202; 192.168.10.2; }; }; //on - reverse zone "168.192.in-addr.arpa" { type slave; file "db.192.168"; masters {139.30.241.202; 192.168.10.2; }; }; //on-vpn - reverse zone "1.10.in-addr.arpa" { type slave; file "db.10.1"; masters {139.30.241.202; 192.168.10.2; }; }; //on-ugw - reverse zone "2.10.in-addr.arpa" { type slave; file "db.10.2"; masters {139.30.241.202; 192.168.10.2; }; };
- lokale Namensauflösung /etc/resolv.conf:
search on nameserver 127.0.0.1
- Überschreiben der Namensauflösung durch ppp-Einwahl unterbinden - /etc/ppp/peers/provider:
#usepeerdns
- Nameserver starten: /etc/init.d/bind9 start
- Funktion prüfen: ps aux|grep bind und rndc status
- Fehlermeldungen suchen: grep named /var/log/daemon.log|tail -20 bzw. tail /var/log/bind/named.log (falls Logfile vorhanden)
- Zonen-Transfer manuell durchführen: rndc retransfer on
[Bearbeiten] Opennet Dienste Server: Authoritative NS
[Bearbeiten] Konfiguration
// opennet include "/etc/bind/keys/opennet-transfer.key"; include "/etc/bind/keys/opennet-dyndns-aps.key"; include "/etc/bind/acls/opennet-internetx.acl"; options { directory "/var/cache/bind"; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; // opennet version "opennet"; recursion no; allow-query { any; }; allow-transfer { 127.0.0.1; key dnskey.opennet; internetx; }; };
[Bearbeiten] Fehlersuche
named-checkconf -z
[Bearbeiten] DNSSEC (Zone Signing)
Ab Bind 9.9 via "inline-signing": https://kb.isc.org/article/AA-00626/0/Inline-Signing-in-ISC-BIND-9.9.0-Examples.html
- DNS Keys pro Zone anlegen (nur einmalig notwendig):
cd /etc/bind chown bind:bind keys zones cd keys dnssec-keygen <zone> dnssec-keygen -fk <zone>
- DNSSEC Keys /etc/bind/named.conf.options aktivieren:
options { .... dnssec-enable yes; key-directory "/etc/bind/keys"; }
- Konfiguration der Zone um DNSSEC erweitern:
zone "<zone>" IN { auto-dnssec maintain; inline-signing yes; }
- Signing ausführen und Kontrolle:
rndc reconfig rndc signing -list <zone> Done signing with key .../RSASHA1 Done signing with key .../RSASHA1 dig <zone> DNSKEY +multiline
- anschließend den Key Signing Key (KSK, DNSKEY 257) via BASE64 (eine Zeile, keine Leerzeichen!) beim zuständigen Registrar eintragen lassen