Server Installation/BIND: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(DNSSEC (Zone Signing))
(DNSSEC (Zone Signing))
 
(11 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) ===
  
(!) Noch nicht im Einsatz (Stand 2014/04/18)
+
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 in ''/etc/bind/named.conf.options'' aktivieren:
+
* 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;
+
    dnssec-enable yes;
  dnssec-validation yes;
+
    key-directory "/etc/bind/keys";
  dnssec-lookaside auto;
+
  ..
+
 
  }
 
  }
* dnssec-tools installieren (enthält ''zonesigner'' welches die ''Crypt::OpenSSL::Random'' Perl Lib empfiehlt):
+
 
  apt-get install dnssec-tools libcrypt-openssl-random-perl
+
* Konfiguration der Zone um DNSSEC erweitern:
* Keys je Zone erstellen:
+
  zone "<zone>" IN {
  cd /etc/bind/zone
+
    auto-dnssec maintain;
  zonesigner -genkeys -usensec3 -zone <zone-name> <zone-name>.zone
+
    inline-signing yes;
* Signierte Zone überprüfen:
+
}
  donuts --level 8 -v <zone-name>.zone.signed <zone-name>.zone
+
 
 +
* 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


  • 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
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge