Bind hat zu hohe Auslastung: Bind oder Server Problem?

Hallo zusammen,

Da ich immer wieder Probleme habe mit der Namensauflösung auf meinem Server (eig. nur beim Versenden von E-Mails, z.B.: 550 5.1.2
<...@hotmail.com>... Host unknown (Name server: mx4.hotmail.com.: host not found
) wollte ich mal fragen ob jemandem was bei meiner Konfiguration auffält. z.B. die /etc/resolv.conf ist eingestellt wie bei anderen Servern und dort funktioniert sie super. Kann "route" einen Einfluss auf Namensauflösung haben?

Folgendes ist mit bind los: Per "top" sehe ich eine hohe CPU-Zeit, ist das normal? (siehe unten). Ausserdem habe ich in der syslog "socket: too many open file descriptors" und "lame server resolving".

Ein lsof -p 389 (389 ist die Nummer von bind) gibt mir ein Output mit ca. 1000 Zeilen in der Form:
named 389 root 926u IPv4 395262395 UDP *:15834

Es ist ein Debian-Server nur mit ein paar Apache-Webseiten und ein paar Sendmail Mailkonten. Ist mein Server überlastet oder falsch konfiguriert? Wäre es besser wenn ich bind gar nicht verwenden würde?

Vielen Dank für die Inputs!



Code:
Tasks:  37 total,   1 running,  36 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.6%sy,  0.0%ni, 99.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1541408k total,  1355248k used,   186160k free,        0k buffers
Swap:        0k total,        0k used,        0k free,  1064872k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                       
  389 root      20   0  125m  19m 1476 S    7  1.3 412:10.53 named                                                                                                                          
 8631 root      20   0  2240  988  780 R    0  0.1   0:00.21 top                                                                                                                            
22112 web1p30   20   0  2636 1088  860 S    0  0.1   0:15.88 imap                                                                                                                           
    1 root      20   0  1952  232  136 S    0  0.0   0:27.24 init                                                                                                                           
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd/36171                                                                                                                 
    3 root      20   0     0    0    0 S    0  0.0   0:00.00 khelper/36171                                                                                                                  
  369 root      20   0  1632  348  228 S    0  0.0   1:58.50 syslogd                                                                                                                        
  449 root      20   0  2672  756  504 S    0  0.0   0:00.00 mysqld_safe                                                                                                                    
  486 mysql     20   0  143m  23m 2524 S    0  1.5   8:52.59 mysqld                                                                                                                         
  487 root      20   0  1568   84   12 S    0  0.0   0:00.00 logger                                                                                                                         
  609 root      20   0 10888  812  520 S    0  0.1   2:40.12 nscd                                                                                                                           
  630 root      20   0  7556 1524 1020 S    0  0.1   0:04.27 saslauthd                                                                                                                      
  632 root      20   0  7556 1524 1020 S    0  0.1   0:04.21 saslauthd                                                                                                                      
  637 root      20   0  5028  868  560 S    0  0.1   0:14.32 sshd                                                                                                                           
  646 root      20   0  2408  252  116 S    0  0.0   0:00.00 xinetd                                                                                                                         
  672 root      20   0  2356  464  348 S    0  0.0   6:11.39 dovecot                                                                                                                        
  693 root      20   0  9000 1488  936 S    0  0.1   5:44.91 dovecot-auth                                                                                                                   
  694 dovecot   20   0  3464 1588 1112 S    0  0.1   4:04.91 pop3-login                                                                                                                     
  695 dovecot   20   0  3464 1648 1164 S    0  0.1   4:05.28 pop3-login                                                                                                                     
  696 dovecot   20   0  3476 1652 1200 S    0  0.1  45:39.06 imap-login                                                                                                                     
  697 dovecot   20   0  3476 1648 1200 S    0  0.1  46:05.40 imap-login

cat /var/log/syslog | grep named:
Code:
Mar 29 08:43:19 36171 named[389]: socket: too many open file descriptors
Mar 29 08:47:11 36171 named[389]: socket: too many open file descriptors
Mar 29 08:48:11 36171 named[389]: socket: too many open file descriptors
Mar 29 08:48:37 36171 named[389]: lame server resolving 'dqg.lb1.665177.com' (in '665177.com'?): 222.186.59.143#53
Mar 29 08:48:40 36171 named[389]: socket: too many open file descriptors
Mar 29 08:49:13 36171 named[389]: socket: too many open file descriptors
Mar 29 09:10:48 36171 named[389]: lame server resolving 'bovsutuhwru.lb1.665177.com' (in '665177.com'?): 183.61.240.45#53
Mar 29 09:21:54 36171 named[389]: lame server resolving 'cel.lb1.665177.com' (in '665177.com'?): 183.61.240.45#53
Mar 29 09:32:07 36171 named[389]: lame server resolving 'iglagvhtmoe.lb1.665177.com' (in '665177.com'?): 183.61.240.45#53
Mar 29 09:49:25 36171 named[389]: lame server resolving 'qahlg.lb1.665177.com' (in '665177.com'?): 183.61.240.45#53
Was sind das für Domains die da aufgelöst werden?

/etc/bind/named.conf im wesentlichen, incl includes:
Code:
options {
	directory "/var/cache/bind";
	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
};
zone "." {
	type hint;
	file "/etc/bind/db.root";
};
zone "localhost" {
	type master;
	file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
	type master;
	file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
	type master;
	file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
	type master;
	file "/etc/bind/db.255";
};
 
Last edited by a moderator:
Dachte mal das bringts wenn man den hat damit die Namensauflösungen gecached werden (z.B. Domains die man immer wieder verwendet). Bringt aber wohl bei nem kleinen Server nichts...?
 

Lord Gurke

Nur echt mit 32 Zähnen
Ich würde ja drauf wetten, dass du einen offenen Resolver betreibst, der jetzt fröhlich von der ganzen Welt für Amplification-Attacken verwendet wird.
Hast du da eine Firewall vor oder eine ACL die die Namensauflösung auf deine Maschine einschränkt?

@.A.:
So ein Setup habe ich auch auf meinem Mailserver - bei den Nameservern vom Hoster läuft man durchaus Gefahr bei bestimmten DNSBLs das Abfragelimit überschritten wird, weil 260 weitere Kunden auch über den Server des Hosters abfragen. So steht da meine IP und ich habe damit mein exklusives Limit ;)
 
Ich würde ja drauf wetten, dass du einen offenen Resolver betreibst, der jetzt fröhlich von der ganzen Welt für Amplification-Attacken verwendet wird.

Hmm das wahr wohl so, habe nun folgende Parameter in /etc/bind/named.conf.options:
Code:
options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
        recursion no;
};

Kann das ein Grund sein, wieso auf meinem Server jede ca. 20. Namensauflösung fehl schlägt?
 

.A.

Wenn nur gecached werden soll, dann solltest Du überlegen den Clientzugriff zu beschränken und bind als forward-only zu betreiben. Oder Du nutzt ein spezielleres Programm dafür.

Wenn dagegen wie bei Lord DNSBL relevant ist, brauchst Du recursion.

--
.A.
 
Hm ok danke vielmals für die Tipps auf jeden Fall schonmal! Ich verwende auch DNSBL checks per Spamassassin. Aber das mit dem Limit habe ich mir noch nie überlegt. Bin sicher dass andere ebenfalls die gleichen DNS Server für diese Checks verwenden, muss ich mir mal überlegen!
 

danton

Debian User
Ich verwende wegen der Abfrage-Limits bei bestimmten RBLs auf mienem Server pdns-recursor und habe ihn so konfiguriert, daß er nur auf dem Loopback-Interface lauscht. Ich finde als reiner Caching-Recursor ist Bind etwas überdimensioniert.
 
Top