1

If setup my proftpd server and all is working fine on 'full' speed. but I want to limit a certain IP range to a speed limit.

So I've added the following lines to the proftpd.conf file:

<Class VLAN16>
From 172.23.2.0/23
From !172.23.3.88
</Class>

<Class VLAN17>
From 172.23.4.0/23
</Class>

and

<IfClass VLAN16>
MaxClientsPerHost 2
TransferRate APPE,RETR,STOR,STOU 1000 group speedlimit
</IfClass>

<IfClass VLAN17>
TransferRate APPE,RETR,STOR,STOU 5000 group speedlimit
</IfClass>

This way if some connection is made from the IP range 172.23.2.x then it should limit the speed to 1MiB/s and if a connection comes from 172.23.4.x the speed limit should be 5MiB/s

I already had it working using a speed limit group for a userid, but I want to limit a whole VLAN on speed instead of userid based.

It is as if it doesn't assign a class tag to a connection or the class is ignored or something.

Can anyone help...?

Thanks.

3
  • What does proftpd debug logging, debug level 10, show when one of your clients connects? – Castaglia Apr 5 '16 at 21:28
  • That is weird... In Debug mode the speed limit is honored... 2016-04-06 08:50:46,056 172.23.2.251 (172.23.2.253[172.23.2.253]): UseReverseDNS off, returning IP address instead of DNS name 2016-04-06 08:50:46,057 172.23.2.251 (172.23.2.253[172.23.2.253]): session requested from client in 'VLAN16' class 2016-04-06 08:50:46,057 172.23.2.251 (172.23.2.253[172.23.2.253]): mod_ifsession/1.3: <IfClass VLAN17> not matched, skipping 2016-04-06 08:50:46,057 172.23.2.251 (172.23.2.253[172.23.2.253]): mod_ifsession/1.3: merging <IfClass VLAN16> directives in – SHLelieveld Apr 6 '16 at 6:35
  • After a 8 hour struggle and completely re-writing/building the config file I found the issue: code"TransferRate APPE,RETR,STOR,STOU 1000 group speedlimit" should have been: code"TransferRate APPE,RETR,STOR,STOU 1000" – SHLelieveld Apr 6 '16 at 7:51
1

It turned out to be a small config mistake by myself. After 8 hours of brain-pain and fulle rebuilding the config file the fault turned out to be in the TransferLimit line where also the group was specified. (which is not needed because we use class definitian).

TransferRate APPE,RETR,STOR,STOU 1000 group speedlimit

should have been:

TransferRate APPE,RETR,STOR,STOU 1000

Thanks all for the time reading and thinking with me...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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