I run an OpenVPN server with a 1 Gbps bandwidth and I need to limit it to 5 Mbps per user.

Searching the internet I've come up to this bash script:

$U32 = "tc filter add dev tun0 protocol ip parent 1:0 prio 1 u32"

tc qdisc add dev tun0 root handle 1: htb default 30
tc class add dev tun0 parent 1: classid 1:1 htb rate 5mbit
tc class add dev tun0 parent 1: classid 1:2 htb rate 5mbit
$U32 match ip dst flowid 1:1
$U32 match ip src flowid 1:2

I tried it, but it limits the entire interface down to 5Mbps and not the single IPs and since I don't know how to use tc, i couldn't go further.

Does any one of you know how to modify this to limit each ip in the range to 5Mbps max?

Bonus question: do you know of any good online resource to learn more about tc?

Your Answer

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

Browse other questions tagged or ask your own question.