Ingress shaping for ISP clients

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I'm looking for the best way to set up a Linux router with "tc" to limit the
incoming bandwidth my ISP's clients use.
Please assist me with the following:


Diagram:

INTERNET
    |
    |
    |
    |eth0
----------- Linux router/shaper
    |eth1
    |
    |
    |
--------------- Clients1(64k)/2(128k)/3(64k)/...

Clients normally purchase bandwidth in bundles of 64kbit. and I need to
limit their incoming bandwidth so that they are restricted to the amount
they have purchased from me. Some clients buy 64kbit, 128kbit and 256kbit of
incoming bandwidth.

So far I've pick up the following:

iptables -A PREROUTING -t mangle -i eth0 -p tcp \
-s 0/0 -d <client 1> -j MARK --set-mark 1
tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip prio 50 handle 1 fw \
police rate 64kbit burst 10k mtu 1500 drop flowid :1

Is "drop" the correct action to take on packets that exceed the "rate" ?
Would this not cause data from internet servers to be retransmitted and
therefor increase the utilization of my link to my upstream provider ?
If possible I'd also like to prioritize certain clients incoming bandwidth
over other clients....or perhaps guarantee them a certain amount of incoming
bandwidth - is this also possible ?

Thanks, any assistance or guidance would be greatly appreciated.

Many thanks and kind regards.

David Wilson
DcData
+27 83 787 7424
http://www.dcdata.co.za

LinuxBox S.A - Africa's largest online Linux community
http://www.linuxbox.co.za
Powered by Linux, driven by passion !

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux