Markus Schulz wrote:
you must mark your traffic in FORWARD or POSTROUTING chain. OUTPUT is
only for locally generated traffic.
I have a 1 mbit upstream cable service (approx 120kbytes/sec)
Ok, here is my plan:
+---------+
| root 1: |
+---------+
|
+---------------------------------------+
| class 1:1 (1 mbit send speed total) |
+---------------------------------------+
| |
+-------------------+ +--------------------------+
|1:2 Default 1 mbit | |1:3 Capped outbound 105 Kb|
+-------------------+ +--------------------------+
| |
1:31 1:32
50k ceil 105K 50K ceil 105k
prio 2 prio 1
FTP traffic Email, ACK
This allows me to set a cap on 1:3 and then divide that cap into 2
classes. 1:31 for lower prio FTP traffic and 1:32 for higher prio email
and ACK traffic. This allows the FTP to consume all 105K until i send
an email or download a huge file, then the email or ACK from the
download can borrow from the ftp due to its higher priority.
All other traffic will be lumped into the default 1:2 (I think)
I will use these rules:
iptables -t mangle -I POSTROUTING -o eth1 -j BW-OUT
iptables -t mangle -A BW-OUT -m mark --mark 0 -j MARK --set-mark 20
iptables -t mangle -A BW-OUT -p tcp --sport 59999 -j MARK --set-mark 26
iptables -t mangle -A BW-OUT -p tcp --sport 50000:51000 -j MARK
--set-mark 26
iptables -t mangle -A BW-OUT -p tcp -m length --length :64 -j MARK
--set-mark 30
iptables -t mangle -A BW-OUT -m tcp -p tcp --dport 25 -j MARK --set-mark 35
tc qdisc add dev eth1 root handle 1: htb default 20
tc class add dev eth1 parent 1: classid 1:1 htb rate 1mbit
tc class add dev eth1 parent 1:1 classid 1:2 htb rate 1mbit
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 105kbps
tc class add dev eth1 parent 1:3 classid 1:31 htb rate 50kbps ceil
105kbps prio 2
tc class add dev eth1 parent 1:3 classid 1:32 htb rate 50kbps ceil
105kbps prio 1
tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 20 fw
flowid 1:2
tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 26 fw
flowid 1:31
tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 30 fw
flowid 1:32
tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 35 fw
flowid 1:32
This should work on my linux router on eth1 which is the interface
facing the internet.
I am assuming that the POSTROUTING chain is the correct way to do this.
Any issues here?
nix4me
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc