ограничение скорости proftp

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

ограничение скорости proftp

Сообщение gcc »

не получаеться ограничить скорсть, точнее оганичивается, но сразу, когда копируеться файлы все клиенты пишут что не возможно определить время завершение, и копирование просто "замирает"копирование не возможно... бред какой-то...

http://www.proftpd.org/docs/directives/lin...ansferRate.html

тут написано

TransferRate
Name
TransferRate -- Configure upload, download transfer rates
Synopsis

TransferRate [ cmds] [ kilobytes-per-sec[:free-bytes]] [ ["user"|"group"|"class" expression]]

Default

None

Context

server config, <VirtualHost>, <Global>, <Anonymous>, <Directory>, .ftpaccess

Module

mod_xfer

Compatibility

1.2.8rc1 and later

Description

The TransferRate directive is used to set transfer rates limits on the transfer of data. This directive allows for transfer rates to be set in a wide variety of contexts, on a per-command basis, and for certain subsets of users. Note that this limit only applies to a single connection, and not to the overall transfer rate of the server.

The cmds parameter may be an comma-separated list of any of the following commands: APPE, RETR, STOR, and STOU.

The kilobytes-per-sec parameter is the actual transfer rate to be applied.

The free-bytes parameter, if configured, allows that many bytes to be transferred before the rate controls are applied. This allows for clients transferring small files to be unthrottled, but for larger files, such as MP3s and ISO images, to be throttled.

The optional parameters are used to restrict the application of the rate controls only to specific users. If the "user" restriction is given, then expression is a user-expression specifying to which users the rate applies. Similarly for the "group" restriction. For the "class" restriction, the expression is simply the name of connection class for whom the rate will apply.
Examples

# Limit downloads for everyone except the special group of users TransferRate RETR 1.5 group !special-users

# Limit uploads (and appends!) to the prolific users in the # lotsofuploadfiles.net domain. This presumes that a Class has been defined # for that domain, and that that Class has been named "uploaders". Let them # upload small files without throttling, though. TransferRate APPE,STOR 8.0:1024 class uploaders



TransferRate RETR,STOR,APPE 20
добавил - не работает! пробовал по разному тоже самое

кто как делал?

вот конфиг
все остальное работает!

Код:

# ëÏÎÆÉÇ proftpd - 2006-02-19 #TCPServiceName my #TCPAccessFiles /etc/host.allow /etc/my.deny # ÉÍÑ ÓÅÒ×ÅÒÁ - ÐÏËÁÚÙ×ÁÅÔÓÑ ËÏÎÎÅËÔÑÝÉÍÓÑ ËÌÉÅÎÔÁÍ ServerName "Main FTP servant :)" #ServerName thedj.org.ua # ÔÉÐ ÓÅÒ×ÅÒÁ (ÄÁÖÅ ÎÅ ÔÉÐ ÓÁÍÏÇÏ ÓÅÒ×ÅÒÁ, Á ÔÉÐ ÅÇÏ ÚÁÐÕÓËÁ, # standalone/inetd - ÓÁÍ ÉÌÉ ÞÅÒÅÚ inetd) ServerType standalone DefaultTransferMode binary #ServerType inetd # ÓÍÙÓÌ ÓÌÅÄÕÀÝÅÊ ÄÉÒÅËÔÉ×Ù ÔÁËÏÊ: ÅÓÌÉ ËÌÉÅÎÔ ËÏÎÎÅËÔÉÔÓÑ ÎÅ ÎÁ ÉÍÑ # Á ÎÁ IP ÉÌÉ ÎÁ ×ÉÒÔÕÁÌØÎÙÊ ÈÏÓÔ, ÎÅ ÏÐÉÓÁÎÎÙÊ × ËÏÎÆÉÇÅ, ÔÏ ÐÒÉ # ÕÓÔÁÎÏ×ËÅ × `off` ÏÎ ÐÏÌÕÞÉÔ ÏÔÌÕÐ, ÅÓÌÉ ÖÅ ÕÓÔÁÎÏ×ÌÅÎÏ `on` ÔÏ # ÏÎ ÂÕÄÅÔ ÏÂÓÌÕÖÅÎ `ÓÅÒ×ÅÒÏÍ ÐÏ-ÕÍÏÌÞÁÎÉÀ` #DefaultServer off DefaultServer on # e-mail ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ (ÐÏ ÉÄÅÅ ÄÌÑ ËÁÖÄÏÇÏ ÷ÉÒÔÕÁÌèÏÓÔÁ ÅÇÏ ÍÏÖÎÏ # ÐÏÓÔÁ×ÉÔØ ÒÁÚÎÙÊ - ÎÏ Ñ ÄÅÌÁÀ ÏÄÉÎ ÓÅÒ×ÅÒ ÂÅÚ ÉÚ×ÒÁÝÅÎÉÊ Ó # ×ÉÒÔÕÁÌØÎÙÍÉ ÈÏÓÔÁÍÉ) ServerAdmin rtyug@ukr.net # ÆÁÊÌÏ ÇÄÅ ÈÒÁÎÉÔÓÑ ÉÎÆÁ Ï ÓÅÓÓÉÑÈ ScoreboardFile /var/run/proftpd.scoreboard AllowFilter ^[-A-Za-z0-9_\.(),/]*$ # ÎÁ ×ÓÑËÉÊ ÓÌÕÞÁÊ;) AllowForeignAddress off # ÚÁÐÒÅÔÉÔØ ÐÅÒÅÓÙÌËÕ ÓÅÒ×ÅÒ-ÓÅÒ×ÅÒ # ÐÏÒÔ ÎÁ ËÏÔÏÒÏÍ ÒÁÂÏÔÁÅÔ ÓÅÒ×ÅÒ PassivePorts 49151 65535 Port 21 #PassivePorts 1024 65535 AllowOverride off # ÚÁÐÒÅÔÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ .ftpaccess MaxClientsPerHost 2 MaxClients 20 #MaxClientsPerUser #MaxConnectionRate 50000 #TCPAccessFiles /etc/hostsftp # íÁÓËÁ Ó ËÏÔÏÒÏÊ ÓÏÚÄÁÀÔÓÑ ÎÏ×ÙÅ ÆÁÊÌÙ (ÎÅ ÓÏ×ÓÅÍ ÍÁÓËÁ - ÍÁÓËÁ ÐÏÌÕÞÁÅÔÓÑ # ÉÚ ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ, ÐÕÔ£Í ÅÇÏ ×ÙÞÉÔÁÎÉÑ ÉÚ 777 - Ô.Å. × ÄÁÎÏÍ ÓÌÕÞÁÅ ÐÏÌÕÞÉÔÓÑ # ÍÁÓËÁ 755) Umask 027 # tcpReceiveWindow ÂÁÊÔ (32192) # tcpSendWindow ÂÁÊÔ (32192) #RequireValidShell no # ÎÅ ×ÓÅÍ, ÉÍÅÀÝÉÍ ÄÏÓÔÕÐ Ë ftp, ÎÕÖÅÎ shell # íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ `ÄÅÔÅÊ` (ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ × standalohe ÒÅÖÉÍÅ) # ÎÅÏÂÈÏÄÉÍÏ ÄÌÑ ÚÁÝÉÔÙ ÏÔ ÁÔÁË ÔÉÐÁ `ÏÔËÁÚ × ÏÂÓÌÕÖÉ×ÁÎÉÉ` ÄÁ É # ÏÔ ÐÅÒÅÇÒÕÚËÉ ÓÅÒ×ÅÒÁ ÐÏÍÏÖÅÔ :) MaxInstances 50 # àÚÅÒ ÏÔ ËÏÔÏÒÏÇÏ ÒÁÂÏÔÁÅÔ ÓÅÒ×ÅÒ User ftp # ÇÒÕÐÐÁ, ÐÏÄ ËÏÔÏÒÏÊ ÒÁÂÏÔÁÅÔ ÓÅÒ×ÅÒ Group ftp # ôÉÐ Á×ÔÏÒÉÚÁÃÉÉ (ÎÁ ÓÁÍÏÍ ÄÅÌÅ - × ËÁËÏÍ ×ÉÄÅ ÈÒÑÎÑÔÓÑ # ÐÁÒÏÌÉ × âä - × ÄÁÎÎÏÍ ÓÌÕÞÁÅ - ÏÔËÒÙÔÙÍ ÔÅËÓÔÏÍ) SQLAuthTypes Plaintext # ëÏÇÏ É ËÁË ÁÕÔÅÎÔÉÆÉÃÉÒÕÅÍ - on - ×ÓÅÈ É ×ÓÑ :) # îÏ - ÅÓÌÉ ÐÏÓÔÁ×ÉÔØ `on` ÔÏ ÏÎ ÌÏÍÉÔÓÑ × âä ÚÁ ÇÒÕÐÐÁÍÉ. # ÍÎÅ ÇÒÕÐÐÙ ÎÉËÞÅÍÕ. ðÏÓÅÍÕ ÐÏÓÔÁ×ÉÌ `users` SQLAuthenticate users # ÉÎÆÁ ÄÌÑ ÓÏÅÄÉÎÅÎÉÑ Ó MySQL ÓÅÒ×ÅÒÏÍ: # ÉÍÑ_ÂÁÚÙ_ÄÁÎÎÙÈ@ÈÏÓÔ_ÇÄÅ_MySQL:ÐÏÒÔ ÉÍÑ_ÐÏÌØÚÏ×ÁÔÅÌÑ ÐÁÒÏÌØ SQLConnectInfo ftp@localhost:3306 ftp пароль # × ËÁËÏÍ ÐÏÒÑÄËÅ ×ÅÒÎ£Ô ÐÏÌÑ ÚÁÐÒÏÓ - ÐÅÒ×ÏÅ ÐÏÌÅ, ÜÔÏ # ÉÍÑ ÔÁÂÌÉÃÙ, ÇÄÅ ÌÅÖÁÔ ÐÏÌØÚÏ×ÁÔÅÌÉ SQLUserInfo `users_table` `username` `password` `uid` `gid` \ `homedir` `shell` # ÄÏÌÖÅÎ ÌÉ ÂÙÔØ Õ ÀÚÅÒÁ (ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÏÎ ÍÏÇ ËÏÎÎÅËÔÉÔÓÑ), # `ÒÅÁÌØÎÙÊ` shell ÏÐÉÓÁÎÎÙÊ × /etc/shells RequireValidShell off # ÌÏÇ ÆÁÊÌ ÒÁÂÏÔÙ Ó SQL SQLLogFile /var/log/proftpd.log # ÷ÏÔ ÔÕÔ ÍÏÑ ÎÁÔÕÒÁ ÓËÌÏÎÎÁÑ Ë ×ÅÄÅÎÉÀ ÌÏÇÏ× ÎÁ ×Ó£ × # âä MySQL ÓÍÏÇÌÁ ÒÁÚÙÇÒÁÔØÓÑ ÎÁ ÐÏÌÎÕÀ ËÁÔÕÛËÕ :) # úÁÐÉÓÙ×ÁÅÍ ÕÄÁÞÎÙÅ ÌÏÇÉÎÙ × âä. ïÂÝÉÊ ÓÍÙÓÌ ÔÁËÏÊ - ÓÏÚÄÁ£Í # ÉÍÅÎÏ×ÁÎÕÀ Ë×ÅÒÀ, Ó ÕËÁÚÁÎÉÅÍ ÞÔÏ ÍÙ ÄÏÌÖÎÙ ÓÏÈÒÁÎÑÔØ SQLLog PASS counter_login SQLNamedQuery counter_login UPDATE "`last_login`=UNIX_TIMESTAMP(), \ `login_count`=`login_count`+1 WHERE \ `username`='%u'" `users_table` # ÐÉÛÅÍ ÎÅÕÄÁÞÎÙÅ ÌÏÇÉÎÙ × âä SQLLog ERR_PASS counter_err SQLNamedQuery counter_err UPDATE "`last_err_login`=UNIX_TIMESTAMP(), \ `err_login_count`=`err_login_count`+1 WHERE \ `username`='%U'" `users_table` # ÌÏÇÉÒÕÅÍ ÞÔÏ ÓÏÈÒÁÎÑÅÔ É ÔÁÝÝÉÔ Ó ÓÅÒ×ÅÒÁ: # ÐÅÒÅÍÅÎÎÙÅ # %u - ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ (Ó ËÏÔÏÒÙÍ ÚÁÌÏÇÉÎÉÌÓÑ) # %f - ÐÏÌÎÙÊ ÐÕÔØ É ÉÍÑ ÆÁÊÌÁ ËÏÔÏÒÙÊ ÂÙÌ ÓËÁÞÁÎ # %b - ÞÉÓÌÏ ÂÁÊÔ, ËÏÔÏÒÙÅ ÂÙÌÉ ÓËÁÞÁÎÙ # %h - ÉÍÑ ËÌÉÅÎÔÁ (ÉÚ DNS), ÅÓÌÉ ÎÅ ÕÄÁÌÏÓØ ÒÁÚÒÅÛÉÔØ - IP # %a - IP-ÁÄÒÅÓ ËÌÉÅÎÔÁ # %m - ÉÍÑ ËÏÍÁÎÄÙ ÐÏÌÕÞÅÎÎÏÊ ÏÔ ËÌÉÅÎÔÁ (RETR/STOR) # %T - ×ÒÅÍÑ (ÓÅËÕÎÄ) ÕÛÅÄÛÅÅ ÎÁ ÐÅÒÅÄÁÞÕ ÆÁÊÌÁ ËÌÉÅÎÔÕ SQLLog RETR,STOR log_story_transfer SQLNamedQuery log_story_transfer INSERT "'',\ UNIX_TIMESTAMP(),'%u',\ '%f', '%b', '%h', \ '%a', '%m', '%T'" \ `xfer_table` # ÚÁÐÉÓÙ×ÁÅÍ ÏÛÉÂËÉ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ É ÞÔÅÎÉÉ ÆÁÊÌÏ× # (× ÏÄÎÕ ÓÔÒÏËÕ ÎÅ ×ÌÅÚÌÉ - ÎÏ ÒÁÂÏÔÁÅÔ É × ÔÁËÏÍ ×ÉÄÅ :)) SQLLOG ERR_RETR,ERR_STOR,ERR_DELE,ERR_RMD,ERR_RNTO\ log_err_modify SQLNamedQuery log_err_modify INSERT "'',\ UNIX_TIMESTAMP(),\ '%u', '%f', '%h', \ '%a', '%m'" `xfer_errors` # ÅÓÌÉ ×ÙÌÅÚÅÔ ÐÒÏÂÌÅÍÁ, ÔÉÐÁ ÔÏÒÍÏÚÏ× ÐÒÉ ÐÏÄËÌÀÞÅÎÉÉ # (× ÍÏÍÅÎÔ ÕÓÔÁÎÏ×ÌÅÎÉÑ ËÏÎÎÅËÔÁ `ÚÁÄÕÍÙ×ÁÅÔÓÑ` ÎÁ 10-20 ÓÅËÕÎÄ) # ÔÏ ÒÁÓËÏÍÍÅÎÔÉÒÕÊÔÅ ÓÌÅÄÕÀÝÉÅ Ä×Å ÓÔÒÏËÉ ## UseReverseDNS off ## IdentLookups off #UseReverseDNS on ## #IdentLookups on #HideNoAccess on # HideUser uid #IgnoreHidden on # MaxClients 15 "óÌÉÛËÏÍ ÍÎÏÇÏ ÓÏÅÄÉÎÅÎÉÊ Ó ÓÅÒ×ÅÒÏÍ" # MaxClientsPerHost 4 "%m ËÌÉÅÎÔÁ ÕÖÅ ÐÏÄËÌÀÞÅÎÙ Ó ÷ÁÛÅÇÏ ÈÏÓÔÁ, ÂÏÌØÛÅ ÎÅ ÒÁÚÒÅÛÅÎÏ" # MaxLoginAttempts 3 "óÌÉÛËÏÍ ÍÎÏÇÏ ÐÏÐÙÔÏË ×ÏÊÔÉ" #÷ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ Ó ËÁËÉÈ ip ÓÏÅÄÉÎÅÎÉÑ ÄÏÐÕÓÔÉÍÙ ÉÌÉ ÚÁÐÒÅÝÅÎÙ #UseHostsAllowFile /etc/proftpd.allow #UseHostsDenyFile /etc/proftpd.deny #PersistentPasswd on | off # Bind IP-ÁÄÒÅÓ (ÏÂÌÁÓÔØ ÄÅÊÓÔ×ÉÑ - ÏÓÎÏ×ÎÏÊ ÓÅÒ×ÅÒ, VirtualHost) #Bind thedj.org.ua ## DefaultAddress IP-ÁÄÒÅÓ (ÏÂÌÁÓÔØ ÄÅÊÓÔ×ÉÑ - ÏÓÎÏ×ÎÏÊ ÓÅÒ×ÅÒ) DefaultAddress 193.201.81.18 #TransferRate 5 ftp !root # ÅÓÌÉ ÎÁÄÏ ÞÔÏÂÙ ÷óå ÐÏÌØÚÏ×ÁÔÅÌÉ ÐÏ ftp ÂÙÌÉ ÏÇÒÁÎÉÞÅÎÎÙ # Ó×ÏÅÊ ÄÏÍÁÛÎÅÊ ÄÉÒÅËÔÏÒÉÅÊ, ÔÏ ÎÁÄÏ ÒÁÓËÏÍÍÅÎÔÉÒÏ×ÁÔØ # ÓÌÅÄÕÀÝÕÀ ÓÔÒÏËÕ: DefaultRoot ~ # Õ ÍÅÎÑ ÈÉÔÒÅÅ ÓÄÅÌÁÎÏ - ÓÅÂÅ Ñ ÒÁÚÒÅÛÉÌ ÛÁÒÉÔØÓÑ ÐÏ ×ÓÅÍÕ ÓÅÒ×ÅÒÕ # Á ÏÓÔÁÌØÎÙÈ ÚÁ`chroot`ÉÌ. åÓÌÉ, ÎÁÐÒÉÍÅÒ, ÎÁÄÏ ÞÔÏÂÙ ÐÏÌØÚÏ×ÁÔÅÌÉ # ÍÏÇÌÉ ÐÏ ÓÅÒ×ÅÒÕ ÛÁÒÉÔØÓÑ Á ÁÎÏÎÉÍÏÕÓÙ ÎÅÔ, ÔÏ ÎÁÄÏ ÕËÁÚÁÔØ !users # ÔÁËÖÅ ÍÏÖÎÏ ÕËÁÚÁÔØ ÏÐÒÅÄÅÌ£ÎÎÕÀ ÇÒÕÐÐÕ. #DefaultRoot ~ !lissyara PersistentPasswd off # (ÄÅÒÖÁÔØ ÌÉ ÏÔËÒÙÔÙÍÉ ÆÁÊÌÙ /etc/passwd É /etc/group ×Ï ×ÒÅÍÑ ÒÁÂÏÔÙ proftpd, ×ËÌÀÞÁÑ chroot) #56780c MaxLoginAttempts 2 # äÉÒÅËÔÏÒÉÉ <Directory ~> #RequireValidShell off #TransferRate RETR 1.5 #TransferRate APPE,STOR 8.0 #TransferRate RETR,STOR,APPE 20 TransferRate RETR,STOR 100 ~ AllowOverwrite on AllowOverride off <Limit Write> #TransferRate RETR 5 #TransferRate STOR 5 AllowAll </Limit> <Limit READ> #TransferRate RETR 5 #TransferRate STOR 5 AllowAll </Limit> </Directory>
Спасибо сказали: