BIND als DNS Cache -> langsam mit DNSSEC

jokakilla

Lt. Junior Grade
Registriert
Dez. 2007
Beiträge
308
Moin,
von Zeit zu Zeit ist der DNS Server von meinem Provider recht lahm. Die DSL Leitung an sich funktioniert aber einwandfrei. Nur die Namensauflösung dauert manchmal Sekunden. Für mich gab es da drei Möglichkeiten:
- Beim Provider beschweren: Wenig aussichtsreich
- Anderen DNS einstellen: Wer ist seriös? Wie sieht die Performance bei anderen offenen DNS Servern aus?
- Lokal einen Caching DNS Servier betreiben

Da hier eh schon ein Server in betrieb ist habe ich also einen Bind auf CentOS aufgesetzt und als Caching DNS konfiguriert. Forwarder sind die beiden DNS Server meines Providers.

Code:
options {
        listen-on port 53 { 192.168.1.50; };
        listen-on-v6 { none; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { 192.168.1/24; };
        forwarders {
                PROVIDER-DNS1;
                PROVIDER-DNS2;
        };
        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};


Die Performance ist allerdings sehr schlecht. Das scheint am dnssec zu liegen. Mit DNSSEC dauern Abfragen mehrere hundert Millisekunden. Ich nehme an das liegt an der Art wie die Signatur des Response geprüft wird. Ohne DNSSEC sind Anfragend rasend schnell. Ist das ein grundsätzliches Problem bei DNSSEC oder kann man da noch was tunen?
 
Ohne DNSSEC:
Code:
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.1 <<>> google.at
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35425
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.at.                     IN      A

;; ANSWER SECTION:
google.at.              144     IN      A       216.58.198.131

;; AUTHORITY SECTION:
.                       73709   IN      NS      g.root-servers.net.
.                       73709   IN      NS      i.root-servers.net.
.                       73709   IN      NS      e.root-servers.net.
.                       73709   IN      NS      h.root-servers.net.
.                       73709   IN      NS      f.root-servers.net.
.                       73709   IN      NS      j.root-servers.net.
.                       73709   IN      NS      d.root-servers.net.
.                       73709   IN      NS      b.root-servers.net.
.                       73709   IN      NS      k.root-servers.net.
.                       73709   IN      NS      c.root-servers.net.
.                       73709   IN      NS      m.root-servers.net.
.                       73709   IN      NS      l.root-servers.net.
.                       73709   IN      NS      a.root-servers.net.

;; Query time: 24 msec
;; SERVER: 192.168.20.1#53(192.168.20.1)
;; WHEN: So Jan 03 10:06:22 CET 2016
;; MSG SIZE  rcvd: 265

Mit DNSSEC
Code:
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.1 <<>> google.at
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41651
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 8, ADDITIONAL: 16

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.at.                     IN      A

;; ANSWER SECTION:
google.at.              292     IN      A       173.194.112.127
google.at.              292     IN      A       173.194.112.119
google.at.              292     IN      A       173.194.112.111
google.at.              292     IN      A       173.194.112.120

;; AUTHORITY SECTION:
at.                     172798  IN      NS      u.ns.at.
at.                     172798  IN      NS      d.ns.at.
at.                     172798  IN      NS      ns9.univie.ac.at.
at.                     172798  IN      NS      j.ns.at.
at.                     172798  IN      NS      n.ns.at.
at.                     172798  IN      NS      r.ns.at.
at.                     172798  IN      NS      ns1.univie.ac.at.
at.                     172798  IN      NS      ns2.univie.ac.at.

;; ADDITIONAL SECTION:
j.ns.at.                172798  IN      A       194.146.106.50
j.ns.at.                172798  IN      AAAA    2001:67c:1010:12::53
ns9.univie.ac.at.       172798  IN      A       194.0.10.100
ns9.univie.ac.at.       172798  IN      AAAA    2001:678:d::cafe
d.ns.at.                172798  IN      A       81.91.161.98
d.ns.at.                172798  IN      AAAA    2a02:568:20:1::d
u.ns.at.                172798  IN      A       195.66.241.82
ns1.univie.ac.at.       172798  IN      A       78.104.144.2
ns1.univie.ac.at.       172798  IN      AAAA    2001:628:2030:4301::2
n.ns.at.                172798  IN      A       81.91.173.130
n.ns.at.                172798  IN      AAAA    2a02:568:281::130
ns2.univie.ac.at.       172798  IN      A       192.92.125.2
ns2.univie.ac.at.       172798  IN      AAAA    2001:678:1c::2
r.ns.at.                172798  IN      A       194.0.25.10
r.ns.at.                172798  IN      AAAA    2001:678:20::10

;; Query time: 2498 msec
;; SERVER: 192.168.20.1#53(192.168.20.1)
;; WHEN: So Jan 03 10:09:05 CET 2016
;; MSG SIZE  rcvd: 573
 
Zurück
Oben