Problem mit pureFTPd (Timeouts)

#1
Hallo Zusammen,

vorweg möchte ich anmerken dass dies mein erster Kontakt mit Linuxservern ist und ich nicht alle Kommandos und Befehle kenne. Ich habe dieses HowTo verwendet und den Server frisch aufgesetzt.

http://www.howtoforge.de/howto/der-perfekte-server-debian-lenny-debian-50-ispconfig-3/

Soweit funktioniert auch alles super nur macht mir pureFTPd einige Probleme.


Das Problem

Die Verbindung zum FTP Server funktioniert einwandfrei. Wenn man nun aber Dateien hochläd, in meinem Beispiel das PHPKit, läd er auch einige Dateien ohne Probleme hoch aber nach einiger Zeit bleibt er stehen und der FTP Client verbindet neu mit einem Timeout.

Dieses Verhalten ist sehr schwer nachzustellen da manchmal 600 Dateien problemlos hochgeladen werden und ein anderes Mal hat er schon nach 30 oder 60 Dateien die Timeout Probleme.

Das Systemlog sagt folgendes.

Datei: /var/log/messages

Code:
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [INFO] Can't change directory to /web/admin: No such file or directory
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [NOTICE]  /var/www/clients/client0/web1//web/admin/index.php uploaded  (4851  bytes, 2878.00KB/sec)
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [NOTICE]  /var/www/clients/client0/web1//web/admin/popup_uploadlog.php uploaded   (2567 bytes, 1004.34KB/sec)
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [INFO] Can't  change directory to /web/admin/images: No such file or directory
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [NOTICE]  /var/www/clients/client0/web1//web/admin/images/action.png uploaded   (800 bytes, 902.20KB/sec)
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [NOTICE]  /var/www/clients/client0/web1//web/admin/images/add.png uploaded  (573  bytes, 669.24KB/sec)
Feb  3 17:40:35 server1 pure-ftpd: (****@192.168.2.103) [NOTICE]  /var/www/clients/client0/web1//web/admin/images/ajax-loader.gif uploaded   (673 bytes, 791.90KB/sec)
Feb  3 17:40:55 server1 pure-ftpd: (****@192.168.2.103) [INFO] Timeout (no new data for 900 seconds)
Feb  3 17:40:55 server1 pure-ftpd: (?@192.168.2.103) [INFO] New connection from 192.168.2.103
Feb  3 17:40:55 server1 pure-ftpd: (?@192.168.2.103) [INFO] **** is now logged in
Feb  3 17:40:55 server1 pure-ftpd: (****@192.168.2.103) [INFO] Timeout (no new data for 900 seconds)
Feb  3 17:40:55 server1 pure-ftpd: (?@192.168.2.103) [INFO] New connection from 192.168.2.103
Feb  3 17:40:55 server1 pure-ftpd: (?@192.168.2.103) [INFO] **** is now logged in
Nach den Timeouts ging bei einem Tests nichts mehr und im Log des FTP Clients erschien folgende Meldung:
Code:
Verbinde mit 93.***.***.***:21...
Status: Verbindung hergestellt, warte auf Willkommensnachricht...Antwort: 421 Too many connections (5) from this IP

Die Konfiguration

Ich habe einige Werte wie z.B. MaxClientsPerIP testweise erhöht. Dies brachte allerdings auch keine Änderung.

Code:
MaxClientsNumber => 200
MaxClientsPerIP => 200
MaxIdleTime => 60
NATmode => yes
NoTruncate => yes
PassivePortRange => 50000 65000
Das Kuriose an den Timeout Meldungen ist ja, dass die Verbindung gerade mal 20-30 Sekunden zum Server hergestellt ist. Wie kann da schon ein Timeout nach 900 Sekunden kommen?

Ich habe die Passiv Ports in der ISPConfig Firewall eingetragen. Habe diese an meinem Router weitergeleitet daran scheint es nicht zu liegen. Zwei weitere Personen haben versucht Daten auf den FTP von außerhalb zu laden, auch hier tritt das beschriebene Problem auf. Ich habe es bereits im Passiven sowie aktiven FTP Modus versucht, das Problem bleibt aber bestehen.

Ich habe auf einem zweiten Rechner noch einmal eine minimale Debian Installation vorgneommen und nur pureftpd installiert. Auch hier tritt das selbe problem auf. Gleiches gillt für proFTPD auch hier tritt der besagte Fehler auf.

Woran kann es also liegen? Es scheint ja Softwareunabhängig zu sein.

Gruß
Evil
 
Zuletzt bearbeitet:
#3
Hallo,

hm kann ich mir eigentlich nicht vorstellen. Ich habe auch mal auf meinem Windows Rechner den FileZilla FTP Server installiert und dort die Passiv Mode Ports 5000-5100 eingestellt und am Router freigegeben.

Hier können von außerhalb sowie im Netzwerk problemlos Daten übertragen werden.
 
#6
Eine möglichkeit wäre die maximale Verbindungen im FTP Programm zu erhöhen oder schaue mal in den Einstellungen vom FTP-Server ob es dort eine möglichkeit gibt dort etwas in der Richtung einzustellen.Welches FTP Programm nutz du zur Datenübertragung vom Rechner aus?
 
#8
Was du höchstens mal versuchen könntest wäre mit xpantispy(läuft soweit ich weiss auch mit Windows Seven)das Verbindungslimit deines Rechners zu erhöhen.

Das Verbindungslimit wurde von Microsoft nicht ohne Grund eingeführt. Es soll verhindern, dass sich Würmer und Viren allzu rasant verbreiten. Einige Anwendungen, z.B. Filesharing-Programme leiden unter diesem Limit und können dadurch nicht Ihre volle Leistung ausspielen.Deswegen gibt es die Möglichkeit, das Verbindungslimit in der verantwortlichen Datei auf einen anderen Wert, als das standardmässige Maximum von 10 gleichzeitigen Verbindungen zu setzen. Bitte setze das Verbindungslimit nur in wirklich begründeten Fällen hoch. Ob das Limit überhaupt überschritten wird, kannst Du in der Ereignisanzeige (Systemsteuerung->Verwaltung->Ereignisanzeige->System) sehen. Bei Überschreitung des Limits wird ein Eintrag mit der Event-ID 4226 auftauchen.
!!!!Das Verändern des Verbindungslimits geschieht auf eigene Gefahr!!!!
Das wäre noch was mir dazu einfallen täte.Vielleicht haben ja die Fachmänner unter uns noch eine bessere Lösung deines Problems.
 
#9
Danke, aber es hat leider auch keinen Erfolg gebracht. Wobei das Problem ja auch bei Bekannten mit anderen FTP Clients auftritt. Ist echt zum verzweifeln ;)
 
#10
1. Hast du nach dem ändern der Einstellungen den pure-ftp restartet?
2. Setze doch mal die gleichzeitigen Verbindungen pro IP auf 1.
Was passiert dann?



Edit:
Pure-FTP: 421 Too many connections (3) from this IP Malte | 22.08.2009



Wenn Sie als Pure-FTP als FTP Server betreiben und an Ihrem FTP Client folgende Fehlermeldung erhalten:
421 Too many connections (3) from this IP
… dann ist wahrscheinlich der Passive-Mode nicht richtig eingerichtet.
Es bietet sich noch an die Passive Portrange des FTP direkt mit anzugeben.
Wenn man IPTABLES nutzt wird dies recht hilfreich sein.
In diesem Beispiel setzen wir die Portrange auf 4000 - 4020 (kann beliebig geändert werden).
echo 4000 4020 > /etc/pure-ftpd/conf/PassivePortRange
Die Ports dann natürlich noch in der Firewall in ISPc3 frei geben.

Das ist erst einmal das, was ich auf die Schnelle gefunden habe.
Hoffe es hilft weiter.


Viele Grüße
 
Zuletzt bearbeitet:
#11
UPDATE

Ich habe noch mal ein wenig getestet und die Uploadgeschwindigkeit des FTP Clients auf 40 KB/Sek festgelegt. Nun habe ich 400 Bilder genommen (ca. 200 KB im Durchschnitt) und diese hochgeladen. Verwendet wurden 2 paralelle Verbindugnen zum Upload. Alle Bilder sind problemlos hochgeladen worden.

Das Selbe habe ich dann mit einer kompletten PHP Seite gemacht. Hier hingen die Uploas bereits nach 180 Dateien bis es wieder zum Timeout gekommen ist.

Wäre es eventuell möglich das Linux probleme mit vielen Verbindungen hat? Mit größerne Dateien scheint das Problem ja nicht aufzutreten lediglich bei kleinen Dateien wie PHP, HTML, GIF usw.

Gibt es irgendeine Möglichkeit die maximalen Verbindungen in Linux bzw. speziell Debian zu erhöhen? Oder ist hier eventuell etwas standardmäßig aktiv, dass so viele Verbindugnen abhalten soll?

------------------------------------------------------------------------------------------

Hi,

ja pureFTPD habe ich nach jeder Änderung neugestartet. Die PassivPorts hatte ich ja schon in der ISPConfig Firewall eingetragen und an pureFTPD übergeben wie in meinem ersten Post im Configteil angegeben.

Ich habe MaxClientsPerIP jetzt auf 1 gesetzt und im FTP Client die Anzahl der gleichzeitigen Verbindungen ebenfalls auf 1 gesetzt. Das Verhalten bleibt gleich. Diesmal wurden 132 Dateien übertragen dann sagt das Log des FTP Clients wieder folgendes.

Die Portangaben in ISPConfig 3 unter Firewall habe ich so an das Ende angehangen: ,50000:65000

Code:
Befehl:    PASV
Antwort:    227 Entering Passive Mode (93,223,165,136,215,119)
Befehl:    STOR success.gif
Antwort:    150 Accepted data connection
Antwort:    226-File successfully transferred
Antwort:    226 0.298 seconds (measured here), 1.85 Kbytes per second
Status:    Dateitransfer erfolgreich, 564 B in 1 Sekunde übertragen
Status:    Starte Upload von C:\Programmierung\PHP\acp\images\xthumb.jpg
Befehl:    PASV
Antwort:    227 Entering Passive Mode (93,223,165,136,215,120)
Befehl:    STOR xthumb.jpg
Antwort:    150 Accepted data connection
Status:    Sende Verbindungserhaltungs-Befehl
Befehl:    NOOP
Antwort:    200 Zzz...
Fehler:    Zeitüberschreitung der Verbindung
Fehler:    Dateitransfer fehlgeschlagen
Danach verbindet sich der FTP Client neu und es erscheint die Meldung, dass die Datei bereits existiert und ob man sie überschreiben/fortsetzen usw. möchte.
 
Zuletzt bearbeitet:

Till

Administrator
#12
Ich habe ein derartiges Problem bis jetzt nicht beobachtet. Ein paar hundert gleichzeitige FTP Verbindungen sind an sich kein Problem. Ich würde an Deiner Stelle die Limits die Du bei pure-ftpd eingetragen hast wieder rausnehmen, da dies beim FTP Client zu Problemen führen kann.

Ist Deine Server denn ein Vserver? Dann kann es sein dass Dein Serveranbieter ein Limit in der Virtualisierungssoftware gesetzt hat,
 
#13
Nein ich habe das HowTo nur mal hier zuhause mit einem zweiten Rechner getestet weil ich mich auch mal in Linux einarbeiten wollte. Die Limits hatte ich auch nur Testweise raufgesetzt. Ich glaube mittlerweile aber dass der Fehler irgendwo im Netzwerk liegen muss, da ich das Problem sogar haben wenn ich auf meinem Windows Rechner den FileZilla FTP Server installiere das gleiche Problem habe obwohl ich per 127.0.0.1 verbinde.
 

Werbung