From mboxrd@z Thu Jan 1 00:00:00 1970 From: nix4me Date: Sat, 04 Mar 2006 15:42:48 +0000 Subject: Re: [LARTC] my shaping rules wont work on nat box Message-Id: <4409B578.1030702@cfl.rr.com> List-Id: References: <4408D880.4060100@cfl.rr.com> In-Reply-To: <4408D880.4060100@cfl.rr.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org 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@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc