Zum Inhalt springen

Server Installation/BIND: Unterschied zwischen den Versionen

Aus Opennet
Inhalt gelöscht Inhalt hinzugefügt
MathiasMahnke (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Hinweis auf ansible-Konfiguration
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

Version vom 12. Dezember 2015, 18:14 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.

Opennet Gateway Server: Caching NS

| warning = #b22222 solid;background-color: #ffdddd;"> | caution = #f28500 solid;background-color: #ffffaa;"> | approval = #00ff00 solid;background-color: #deffde;"> | proposal = #9932cc solid;background-color: #e4d8ff;"> | detail = #f4c430 solid;background-color: #fbfbfb;"> | protection = #bba solid;background-color: #fbfbfb;"> | notice | #default = #1e90ff solid;background-color: #fbfbfb;"> }} {{#switch: | blank | none =

| #default =

}}

{{#if: | {{#ifeq:|none

 | 
| }} }}


  • 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

Opennet Dienste Server: Authoritative NS

DNSSEC (Zone Signing)

(!) Noch nicht im Einsatz (Stand 2014/04/18)

  • DNSSEC in /etc/bind/named.conf.options aktivieren:
options {
  ..
  dnssec-enable yes;
  ..
}
  • dnssec-tools installieren (enthält zonesigner welches die Crypt::OpenSSL::Random Perl Lib empfiehlt):
apt-get install dnssec-tools libcrypt-openssl-random-perl
  • Keys je Zone erstellen:
cd /etc/bind/zone
zonesigner -genkeys -usensec3 -keydirectory /etc/bind/keys/ -zone <zone-name> <zone-name>.zone
  • Signierte Zone überprüfen:
donuts --level 8 -v <zone-name>.zone.signed <zone-name>.zone