[LARTC] Simple case here!
Andy Furniss
andy.furniss@dsl.pipex.com
Sun, 02 Jan 2005 00:34:50 +0000
Amit Vyas wrote:
>
> Hi All,
>
> I want to setup a machine to connect to internet at a limited rate of 64
> kbps.
> That machine is connected to a switch. so my LAN and Internet both comes
> from the same eth0.
> How can I limit only the internet access from this machine to 64kbps and
> still using 100mbps for LAN
>
> I am trying to implement this Please guide me If i am wrong.
> I mark all the packets going out to LAN.
> Then I can setup a root qdisc to classify packets based on that mark. If
> match then I can setup a class to accept those setup a fifo for those
> packets. but if the packets are not for the LAN then i can pass them to
> other class which is tbf shaping at rate 64kbps.
>
> Am i right on these lines.
> This is the setup
>
> +------------+ eth0 +-----------+ internet
> | machine |---------------| Switch |-------------
> +------------+ +-----------+
>
> trying to get some thing like this
>
> root qdisc (CBQ or something)
> / \
> / \
> / \
> / \
> class class
> Internal LAN Pcakets Any other unclassified Packets
> | |
> | |
> FIFO TBF (rate 64kbps)
>
> Please Help me out with marking the packets and to classify them.
> Just started off with Traffic Shaping. gigles...... : )
>
> It is alos possible to alternatively to mark internet traffic as it
> would be less in comparison to LAN and thus processor friendly.
>
> Amit Vyas
I would use netfilter + HTB something like -
$TC qdisc add dev eth0 root handle 1:0 htb default 0
$TC class add dev eth0 parent 1:0 classid 1:1 htb rate 64kbit
$TC filter add dev eth0 parent 1:0 protocol ip handle 1 fw flowid 1:1
$IPTABLES -t mangle -A POSTROUTING -o eth0 --dst ! 192.168.0.0/24 -j
MARK --set-mark 1
Depending on what the PC does it may be nicer to priorotise empty acks /
udp headed for the internet over bulk traffic.
Andy.