www.ProFTPD.de
13. März 2007, 21:00:10 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: classes / limits  (Gelesen 1480 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Anonymous
Gast
« am: 12. Februar 2006, 21:08:06 »

Hallo alle,

ich möchte gerne von extern eine Geschwindigkeitsbegrenzung von 35KB einstellen. Vom internen Netz soll diese aber nicht aktiv sein. Ich habe es mit Classes versucht. Folgend meine Konfig.

*******************************************
ServerName                      "FTP  Server"
ServerType                      standalone
DefaultServer                   on
#schnellere Netzwerkzugriffe
USEReverseDNS                   off
IdentLookups                    off

# Limit login times and timeouts to drop dead clients.
TimeoutLogin            60
TimeoutIdle             60
TimeoutNoTransfer       60
TimeoutStalled          60
TimeoutSession          28800

# Setup fake properties  Gruppen bei Erstellung einbeziehen
DirFakeGroup            on      ftp

#Logging
TransferLog /var/log/proftpd.xferlog

LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"

#Log file/dir acces
ExtendedLog /var/log/proftpd.aut_log AUTH write

<Global>
AccessGrantMsg          "Willkommen User : %u"
DisplayLogin            "/var/log/ftp_server_logon.txt"
</Global>

# Port 21 is the standard FTP port.
Port                            21

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


# Klassen definieren
Classes on
Class local ip 192.168.69.0/24

<ifClass local>
        MaxClients 100  "Maximale Anzahl der Benutzer (%m) erreicht"
        TransferRate RETR 9999.0
</ifClass>

MaxClients              2 "Maximale Anzhal der Benutzer (%m) erreicht"
#Server Limits
TransferRate RETR 35.0
#TransferRate STOR 25

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

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
#DefaultRoot /home/ftp

#Allow FTP Login for Users that don't have a shell login
RequireValidShell off

# Normally, we want files to be overwriteable.
AllowOverwrite          on
AllowRetrieveRestart    on
AllowStoreRestart       on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>


**********************************************

Wenn ich den Server nun starten möchte, bekomme ich folgende Meldung:

/etc/init.d/proftpd restart
 * Starting proftpd ...
 - Fatal: Classes: deprecated. Use <Class> sections instead. on line 48 of '/etc/proftpd/proftpd.conf'


Ich habe ProftpD mit folgenden Flags installiert.

[ebuild   R   ] net-ftp/proftpd-1.2.10-r7  -authfile -hardened +ipv6 -ldap -mysql +ncurses -noauthunix +pam -postgres (-selinux) -sendfile -shaper -softquota +ssl +tcpd -xinetd 0 kB

Habt Ihr einen Tip für mich, oder eine Alternative?!

Schönen Danke
escaperig
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #1 am: 13. Februar 2006, 06:51:52 »

Hallo!

Das Thema hat mich jetzt selbst interessiert, da Dein Lösungsansatz der Doku
nach richtig und logisch ist.

Nach vielem erfolglosem Suchen (und gleichzeitigem Lernen) auf der Entwicklersite
von ProFTPD habe ich dann dort Google nach "<Class" suchen lassen und bin
dabei sogar auf ein kurzes, aber gutes HowTo gestoßen:

http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Classes.html

Demnach könnte dann Deine Lösung z.B. so aussehen:
Code:
<Class local>
    From 192.168.69.0/24
</Class>

<IfClass local>
    MaxClients 100 "Maximale Anzahl der Benutzer (%m) erreicht"
    TransferRate RETR 9999.0
</IfClass>

<IfClass !local>
    MaxClients 2 "Maximale Anzhal der Benutzer (%m) erreicht"
    TransferRate RETR 35.0
</IfClass>

Einen "<IfClass ...>"-Block kann man aber nur dann verwenden, wenn das
Modul "mod_ifsession" mit eincompiliert wurde. Das hast Du nach eigenen
Angaben nach aber leider nicht. Das läßt sich aber bestimmt noch ändern... ;-)

Ich hoffe, ich konnte Dir damit weiterhelfen.

mfg.
  VolGas
Gespeichert
escaperig
ProFTPD
*
Offline Offline

Beiträge: 2


Profil anzeigen
« Antwort #2 am: 13. Februar 2006, 12:34:46 »

@VolGas

Danke für Deine schnelle und kompetente Hilfe. Ich habe nun das MOdul mit kompeliert und der Server startet mit dem von Dir angegeben Config Block.

Jedoch funktioniert die Begrenzung nicht so recht. Immer "volle" Leitung.

Ip-Bereich ist richtig gewählt, habe zum Test auch das interne mal begrenzt, doch kein Erfolg.

Wenn ich das TransferRate RETR außerhalb der Class Anweisung verwende, ist die Begrenzung aktiv.

Noch eine Idee?!

Gruß
escaperig
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 771



Profil anzeigen
« Antwort #3 am: 13. Februar 2006, 16:58:47 »

Ich kann mich erinnern irgendwo gelesen zu haben, daß man das Modul "mod_ifsession"
als letztes Modul beim Compilieren angeben soll, damit die andere Module irgendwie
richtig registriert werden. Ich weiß zwar nichts davon, aber vielleicht versuchst Du
es einfach einmal. Einen Versuch ist es auf jeden Fall wert...

mfg.
  VolGas
Gespeichert
escaperig
ProFTPD
*
Offline Offline

Beiträge: 2


Profil anzeigen
« Antwort #4 am: 14. Februar 2006, 11:33:19 »

@VolGas

Ich gebe ja nur das "mod_ifsession" Modul beim kompelieren an. (./configure --with-modules=mod_ifsession)

Die restlichen Module macht er ja automatisch. Hier meine Module die kompeliert wurden.

proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_auth_pam.c
  mod_ifsession.c
  mod_cap.c


Vielleicht fehlt ja noch etwas?!

Schönen Gruß
escaperig
Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.06 Sekunden mit 19 Zugriffen.