Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We supply zone-files to our customers. Some zone files are big about 300MB and some are quite small, maybe like 1MB. We had this issue that someone setup a script to continually download the file. Imagine downloading 300MB file a few hundred times a day. Since, we don't have packet-shaper to throttle the traffic, we need to upgrade ftp server and use add-on modules to limit the download somehow. We currently use proftpd server. Also note that there are different users for different domains - say, if you want to download zone file for .INFO domain, then you use a particular user. That user can't download any other zone's file. This is what we are looking for:

  1. Have maximum of 400MB download per user per day. Or even have different download limit for different users per day.

  2. Have one connection per user at any time.

  3. Max # of connection (non-simultaneous) per user per day is 5. Anyone trying to exceed that gets banned for 24 hours.

Has anyone used FTP server with similar restrictions above? Does anyone have any ideas where I can start? Any help would be appreciated. Thanks.

-N

share|improve this question
    
Is it possible to convince your customers to use zsync? –  mkudlacek Jun 15 '10 at 8:24
add comment

5 Answers 5

up vote 2 down vote accepted
share|improve this answer
    
I'm guessing these mod_ratio has to be incorporated at compile time. Thanks –  Nikolas Sakic Jun 15 '10 at 12:38
    
true, and I'm glad I could help.. –  rkthkr Jun 16 '10 at 14:35
add comment

Not directly FTP-related, but I'd go and solve the cause (customers doing repeated downloads of the whole zone file) rather than slowing things around (with a possibly more complex setup). Have you considered:

  1. giving out read only rsync access to zone files? it's standard, opensource, multiplatform (windows too), easily scriptable, good for frequent updates of big (zone?) files with little system and network load
  2. kicking your customer's *ss. Politically correct translation: do you have an Acceptable Usage Policy? If not, go and put one in place. If yes, are your customers conforming or violating it? If the latter, just cut access until they fix their problem.

Zone files are big chunks of data with little parts changing, they scream for an incremental kind of transfer instead of full downloads every time.

share|improve this answer
1  
+1 for mentioning rsync, which is something I'd look into myself when facing this problem. Capping your customers is not going to make them happy. Speeding things up with rsync will. –  wzzrd Jun 15 '10 at 11:07
    
Instead of rsync, I would recommend zsync. Rsync could be more unacceptable, since it uses his own port, or ssh. –  mkudlacek Jun 15 '10 at 11:27
    
We have hundred of registrars as our customers. We have a contract with ICANN to provide download access to zone files to registrars - in many different countries. I don't think rsync will solve my problem. We do have an acceptable use policy but we want to be in such a position that no one who wants to violate that policy will be able to do so. Customers keep changing .. new ones coming on.. old ones going off etc etc. Thanks for the replies. –  Nikolas Sakic Jun 15 '10 at 12:30
    
@mkudlacek: If he's really restricted to using only HTTP, I can see where zsync fills a niche market; but otherwise rsync is more efficient and is basically the standard for this sort of task. @Nikolas: Why don't you think rsync would solve the problem? They could continuously check, and if the file hasn't changed, rsync doesn't send it. –  Chris S Jun 15 '10 at 12:32
    
+1 for rsync over SSH -- more secure, you can use certificates without password and setup proper PKI to manage them. Plus, you're dealing with a technical audience here -- if put to a vote, I'd say 99% of them would say yes to rsync (they don't want to waste bandwidth either). –  gravyface Jun 15 '10 at 13:02
show 2 more comments

You may want to check out FileZilla. I believe it should have all the functionality that you are looking for.

share|improve this answer
    
it does except it doesnt have the "daily limit then ban" feature he wants. –  djangofan Jun 15 '10 at 15:53
add comment

We have used CrushFTP running on Windows 2003. It works on other platforms as well and no clinet needed CrushFTP Overview

Many features for secure access with HTTPS and others. It can limit connections, set max file size and do other limits on access. Many other great features, low cost and great support. Have not tried V5 but last version has been great. Worth a look

share|improve this answer
add comment

The Bitvise WinSSHD will probably do what you need via the wcfg config utility.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.