PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [proftpd] Maximale FTP Benutzer



Mr. Modding
14.02.06, 17:32
Also ich betreibe einen grossen Root Server, auf den kleine Client PCs immer wieder ihre Daten holen müssen (Word Dokumente, Firmen Interne sachen, updates ...) nun habe ich leider das Problem, dass der Server nur immer maximal 100 Clients Zulässt, das ist bei knapp 1000 Clients ein grosses Problem.

Was muss ich Wo einstellen um diese Beschränkung weg zu bekommen?

P.S. Google und Boardsuche angewand ... nischt

Tomek
14.02.06, 18:06
Es gibt da einige Direktiven und Optionen, mit denen man so einige Verbindungseinstellungen vornehmen kann. Ein guter Anlaufpunkt ist z.B. hier:
http://www.proftpd.de/FAQ.15.0.html

$kuLL
14.02.06, 18:28
Du bist für 1000 Clients verantwortlich, aber bist nicht in der Lage die Direktive auf der ProFTPd Seite zu finden? Na denn Prost Mahlzeit...

http://proftpd.org/docs/directives/linked/config_ref_MaxClients.html

Hat ca. 20 Sekunden gedauert. :rolleyes:

Mr. Modding
14.02.06, 18:48
Du bist für 1000 Clients verantwortlich, aber bist nicht in der Lage die Direktive auf der ProFTPd Seite zu finden? Na denn Prost Mahlzeit...

http://proftpd.org/docs/directives/linked/config_ref_MaxClients.html

Hat ca. 20 Sekunden gedauert. :rolleyes:

das ist auch normalerweise nicht meine Aufgabe, ich binn nur für die Hardware suständig! Dann kommt so n Kunde und will das auf einmal so haben ... etc pp .. egal is mir auch wurst ich stell ihm halt aus Kulanz das ein ... was solls :p

[Edit]
Desweiteren war ich schon so weit, der MÜLL hat aber nichts Geholfen, die stehen sich immernoch bei maximal 100 Clients die Füsse wund!

$kuLL
14.02.06, 23:34
Dann poste bitte mal deine proftpd.conf

Mr. Modding
15.02.06, 20:04
#
# VHCS proftpd config file
#
#

ServerName "HOSTNAME"
ServerType standalone
DeferWelcome off

ShowSymlinks on
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on

LogFormat traff "%b %u"

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin welcome.msg
DisplayFirstChdir .message

#LsDefaultOptions "-l"

DenyFilter \*.*/

DefaultRoot ~

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off

# Port 21 is the standard FTP port.

Port 21

# 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 3000

# Max client müll

MaxClients 10000

# Set the user and group that the server normally runs at.

User nobody
Group nogroup

# Normally, we want files to be overwriteable.

<Directory /*>
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022

AllowOverwrite on
HideNoAccess on

AllowRetrieveRestart on

AllowStoreRestart on

</Directory>

<Limit ALL>
IgnoreHidden on
</Limit>

<Global>
MaxClients 1000 "Sorry, to many users online! Please try again later" # Ma
MaxClientsPerHost 5 "Max 5 Login per Host!!" #
TransferLog /var/log/xferlog
ExtendedLog /var/log/ftp_traff.log read,write traff
PathDenyFilter "\.quota$"
</Global>

#
# VHCS2 Managment;
#

UseReverseDNS off

IdentLookups off

SQLAuthTypes Crypt
SQLAuthenticate on
SQLConnectInfo vhcs2@localhost vftp m1pynsu2
SQLUserInfo ftp_users userid passwd uid gid homedir shell
SQLGroupInfo ftp_group groupname gid members
SQLMinID 2000

#
# VHCS2 Quota management;
#

QuotaEngine on
QuotaShowQuotas on
QuotaDisplayUnits Mb

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies

QuotaLock /var/run/proftpd/tally.lock
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

marce
15.02.06, 20:32
# 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 3000
... das auch gesehen?

-> Standalone oder (x)inetd?

$kuLL
15.02.06, 21:11
Der Server läuft im standalone Modus. Steht oben in der Config.

Also ansich ist die Config ok.
Ich würde aber mal folgendes probieren

MaxClients 1000 "Sorry, to many users (%m) online! Please try again later"

Dann steht in der Klammer auf welchen Wert MaxClients gestellt ist.

Desweiteren definierst du

MaxClientsPerHost 5

Bist du sicher, dass das nicht der Flaschenhals ist?
Wie testest du denn den max. Wert?

Ansonsten ist vielleicht durch die Firewall die max. Anzahl simultaner FTP Sessions limitiert. Hast du da Informationen?

Mr. Modding
15.02.06, 22:14
Der Server läuft im standalone Modus. Steht oben in der Config.

Also ansich ist die Config ok.
Ich würde aber mal folgendes probieren

MaxClients 1000 "Sorry, to many users (%m) online! Please try again later"

Dann steht in der Klammer auf welchen Wert MaxClients gestellt ist.

Desweiteren definierst du

MaxClientsPerHost 5

Bist du sicher, dass das nicht der Flaschenhals ist?
Wie testest du denn den max. Wert?

Ansonsten ist vielleicht durch die Firewall die max. Anzahl simultaner FTP Sessions limitiert. Hast du da Informationen?

MaxClientsPerHost ist nicht der flaschenhals! Es sind 1000 verschiedene PCs auf 1000 verschiedenen DSL und ISDN Leitungen.

Testen kann ich es in dem ich ein Update an allen Rechnern simmuliere.


Routine:

Ich stell ein Dummy Update ein (eine 10 KB grosse Datei)
Geb über ein Programm die meldung heraus, dass alle clients das laden müssen
Die kisten Starten das Update
abfragen via ftpwho

Firewall ist keine geschaltet, die kiste ist direkt an aner 1GB leitung am Netz

$kuLL
16.02.06, 02:14
Gut, also ich denke du fährst auch die aktuelle stable Version 1.2.10?

Der nächste Schritt wäre nun mal zu schauen, ob die Logs etwas vernünftiges hergeben.
Dazu solltest du mal in der Config diese 3 Log-Direktiven hinzufügen und das Debug Level höher setzen


ServerLog /var/log/proftpd_server.log
TransferLog /var/log/proftpd_transfer.log
SystemLog /var/log/proftpd_system.log
DebugLevel 5

und danach wieder bei allen Clients das Update starten.
Mit dem Debug Level kannst du etwas herumspielen, es kann die Werte von 0 bis 9 haben, wobei 0 der Defaultwert ist.

Edit: DebugLevel hinzugefügt -.-