PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : proftp timeout probleme



flashbeast
10.06.04, 20:35
hi! erstmal was zum szenario:

- ich habe proftp laufen; als standalone. version: proftpd-1.2.7-1mdk (unter mandrake 9.1)

- der rechner steht im internen netzwerk hinter einem router; keine personal firewall. weitergeleitete ports: 20, 21, 5000-5010

- anbindung: statische ip samt pseudo-domain (von dyndns.org)

- was wird getan? es werden dateien hochgeladen/heruntergeladen; durschnittlich 5MB groß.

und nun zum problem:
bei den "aktionen" krieg ich nach jeder übertragenen datei einen timeout; ausserdem "idlet" er zwischenzeitlich bei der datenübertragung und macht dann weiter. zuerst nahm ich an, dass die timeout-einstellungen von proftp zu niedrig wären - allerdings kommen die timeouts nun (soweit ich das sehe) nicht dadurch zustande, dass der client nicht antwortet, sondern proftp. er scheint nach den "nickerchen" während des transfers nach jeder datei dann endgültig einzuschlafen, was dazu führt dass die warteschlange unterbrochen wird.
beim beenden des transfers der einen datei lädt er sich tot und springt nicht zur nächsten datei der warteschlange.

weitere beobachtung: das problem besteht nicht im lokalen netzwerk! ich habe mal künstlich die bandbreite runtergeschaltet und geschaut, ob auch hier die timeouts auftreten. und sie tun's es nicht! keine probleme im lokalen netzwerk.

die probleme tauchen sowohl mit gftp als auch mit smartftp auf. naja d.h. sie kann man dort beobachten. sowohl als anonymous, als auch als "echter" user.
und sowohl im aktiven- als auch passiven modus.

woran könnte es liegen?

*edit: hier mal meine proftpd.conf; achtet nicht auf das chaos und die sinnlosigkeit, in meiner verzweiflung hab ich da komishce sachen probiert :ugly:


# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName "Dominion3"
ServerType standalone
DefaultServer on

# Allow FTP resuming.
# Remember to set to off if you have an incoming ftp for upload.
AllowStoreRestart on

Port 21
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances 3

# Set the user and group under which the server will run.
#User ftp
#Group ftp
User nobody
Group nogroup

# Normally, we want files to be overwriteable.
<Directory />
AllowOverwrite true
AllowRetrieveRestart true
AllowStoreRestart true
</Directory>

# Needed for NIS.
PersistentPasswd off

# Default root can be used to put users in a chroot environment.
# As an example if you have a user foo and you want to put foo in /home/foo
# chroot environment you would do this:
#
# DefaultRoot /home/foo foo

#DefaultRoot /home/ftpuser
DefaultRoot ~

Include /etc/proftpd-anonymous.conf

#
#Shares (selbst eingefuegt)
#

#<Directory /home/ftpuser/>
# UserAlias ftpuser
# HiddenStor off
# AllowRetrieveRestart on
# <Limit WRITE>
# DenyAll
# </Limit>
#</Directory>

PassivePorts 5000 5010
UseReverseDNS off
IdentLookups off

#max. 20KByte/s
RateReadBPS 10000
RateWriteBPS 10000

#Timeouts; in Sekunden
TimeoutIdle 600
TimeoutLogin 60
TimeoutNoTransfer 1200
# set session time limits for everyone except a few privileged users
#TimeoutSession 3600 user !frank
TimeoutStalled 0
#LDAPQueryTimeout 999





<Anonymous /home/ftp>
User frank
Group frank
AnonRequirePassword on
MaxClients 5 "Der Server ist voll, bediene %m Anwender"
DisplayLogin welcome.msg
DisplayFirstChdir directory.msg
#<Limit WRITE>
# DenyAll
#</Limit>
<Directory /home/ftp/incoming/*>
AllowOverwrite on
<Limit STOR>
AllowAll
</Limit>
<Limit MKD>
AllowAll
</Limit>
<Limit SITE_CHMOD>
AllowAll
</Limit>
#<Limit ALL>
# AllowUser frank
# DenyAll
#</Limit>
#<Limit CDUP CWD XCWD XCUP>
# AllowAll
#</Limit>
#<Limit MKD DIRS>
# AllowAll
#</Limit>
#<Limit STOR RETR APPE WRITE>
# AllowAll
#</Limit>
#<Limit MKD>
# AllowAll
#</Limit>
#<Limit DELE SITE_CHMOD>
# DenyAll
#</Limit>
</Directory>
</Anonymous>

*edit: die lösung ist die direktive MasqueradeAddress.*

Stormbringer
10.06.04, 23:01
Hi,

versuche es dochmal mit einer aktuelle proFTPd Version.

Weiterhin hast Du zweimal Port 21 eingetragen, die Port 5000 & 5010 werden u. a. von Messangerprogrammen verwendet, und Du bindest für Anonymous eine Konfigdatei ein, hast aber gleichzeitig eine Anonymous Sektion drin ...

Füge doch mal die Einträge für das Protokollieren ein, und sie nach, ob dort dann etwas aufgezeichnet wird.


TransferLog /var/log/proftpd/xferlog
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
ExtendedLog /var/log/proftpd/auth.log AUTH auth
ExtendedLog /var/log/proftpd/paranoid.log ALL default
LogFormat default "%h %l %u %t \"%r\" %s %t"
LogFormat auth "%v [%P] %h %t \%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"


Gruß

flashbeast
10.06.04, 23:32
danke schonmal für deine antwort ;)
die doppelten einträge und die anonymous-direktive (?) stammen von gproftp - das teil hat dann doch mehr müll als nutzen gebracht. aber mit dem problem hat es (leider) nichts zu tun. die ports werden von keinem anderen programm verwendet, sondern nur zu mir geleitet. soll heißen: dort wo der server eingesetzt wird (bei mir und der gegenstelle) spielt es keine rolle. trotzdem danke für den hinweis ;)

den rest probier ich jetzt mal aus und meld mich dann wieder.

flashbeast
11.06.04, 00:09
so...leider gibt es dort keinen hinweis :(
ich häng's mal an

flashbeast
12.06.04, 15:36
ein update auf proftpd 1.2.8 und 1.2.9 hatte keinen effekt :(
hat nicht irgendwer ne idee?

flashbeast
12.06.04, 22:01
sorry für diesen multipost - bin auf die lösung gekommen (wenn auch ohne hilfe des logs :( ). hab folgende direktive in der proftpd.conf eingesetzt:

MasqueradeAddress meineadresse.dyndns.org

natürlich mit meiner richtigen adresse.

Harry
12.06.04, 22:37
Funktioniert es denn jetzt auch noch intern im LAN?

Harry

flashbeast
12.06.04, 23:05
ne :eek:
aber im lan wird er eh nicht eingesetzt, sondern samba.

*edit: das soll aber kein hinderungsgrund sein, eine lösung für das problem zu finden :D
also - wie kann man den server nun auch wieder für's lokale netzwerk verfügbar machen?

Harry
13.06.04, 07:18
Indem Du die Option "MasqueradeAddress" wieder rausnimmst und dafür auf dem Router Connection-Tracking mit iptables für FTP aktivierst.

Such' mal bitte hier im Forum nach Connection Tracking und FTP - da sollten einige Threads sein, die das Problem und eine Lösung aufzeigen.

Harry