I've never tried marking packets the way that you're doing it, so not
sure if it should work.

Have you tried marking with iptables instead? Something like:

iptables -t mangle -A FORWARD --source 192.168.200.163 -j CLASSIFY
--set-class 2:12

This will of course match all packets going both ways. Add "-i eth0" if
you only want it one way.

Andy Beverley


On Mon, 2007-02-05 at 21:38 +1100, Anthony Kamau wrote:
> Hello list.
> 
> I've configured a very simple script to slow down packets coming from a
> particular IP Address.  I've used IPTABLES to mark traffic coming from this
> IP Address, but it does not appear to be working as expected.  Let me first
> describe my system as maybe what I'm doing is beyond what NETFILTER can do.
> 
> I have one machine that runs all my servers as VM's.  The P2P WinXP box and
> the router are virtualized.  So too is the Windows 2003 DNS server.
> 
> Please have a look at the traffic control script below and let me know if
> I've done something wrong!
> 
> Cheers,
> tkb.
> 
> 
> Below is the script.  You'll note that I've even tried using a filter
> (attached to eth0 - LAN) linking parent at eth0 going to a class on eth1 -
> is this even valid?  tc did not seem to complain about it so I figured it
> must be okay.
> 
> #*******************************************************************
> #!/bin/bash
> 
> # Whole purpose of this is to slow the P2P WinXP box down!
> 
> ###################################
> # Reset everything to known state #
> ###################################
> tc qdisc del dev eth0 root
> tc qdisc del dev eth1 root
> 
> ####################
> # Setup the qdiscs #
> ####################
> tc qdisc add dev eth0 parent root handle 1: htb default 10
> tc qdisc add dev eth1 parent root handle 2: htb default 10
> 
> ##########################
> # Setup the root classes #
> ##########################
> tc class add dev eth0 parent 1: classid 1:1 htb rate  10mbit \
> ceil  10mbit
> tc class add dev eth1 parent 2: classid 2:1 htb rate 384kbit \
> ceil 384kbit burst 15k
> 
> ###########################
> # Setup the child classes #
> ###########################
> tc class add dev eth0 parent 1:1 classid 1:10 htb rate  10mbit \
> ceil  10mbit prio 0
> tc class add dev eth1 parent 2:1 classid 2:10 htb rate 224kbit \
> ceil 384kbit prio 0
> tc class add dev eth1 parent 2:1 classid 2:11 htb rate 100kbit \
> ceil 100kbit prio 1
> tc class add dev eth1 parent 2:1 classid 2:12 htb rate  60kbit \
> ceil  60kbit prio 2
> 
> #####################
> # Setup the filters #
> #####################
> # match acks the hard way,
> # IP protocol 6,
> # IP header length 0x5(32 bit words),
> # IP Total length 0x34 (ACK + 12 bytes of TCP options)
> # TCP ack set (bit 5, offset 33)
> ACK="tc filter add dev eth1 protocol ip parent 2:0 prio 0 u32"
> $ACK match ip protocol 6 0xff \
>   match u8 0x05 0x0f at 0 \
>   match u16 0x0000 0xffc0 at 2 \
>   match u8 0x10 0xff at 33 \
>   classid 2:11
> #**U32_0="tc filter add dev eth0 protocol ip parent 1:0 u32"
> #**$U32_0 match ip src 192.168.200.163 classid 2:12
> #U32_1="tc filter add dev eth1 protocol ip parent 2:0 u32"
> P2P="tc filter add dev eth1 protocol ip parent 2:0 prio 10"
> $P2P handle 1 fw classid 2:12
> 
> ####################################################
> # Setup the queue discipline for the child classes #
> ####################################################
> tc qdisc add dev eth1 parent 2:10 handle 10: sfq perturb 10
> tc qdisc add dev eth1 parent 2:11 handle 11: sfq perturb 10
> tc qdisc add dev eth1 parent 2:12 handle 12: sfq perturb 10
> #************************************************************************
> 
> 
> 
> _______________________________________________
> LARTC mailing list
> LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

Reply via email to