#!/bin/bash IF_INET=eth0 IF_LAN=eth1 IP=10.10.1.5
#iptables -t mangle -N JUMP #iptables -t mangle -A JUMP -o eth1 -j IMQ --todev 0
#UP tc qdisc del dev $IF_INET root tc qdisc add dev $IF_INET root handle 1: htb default 2 tc class add dev $IF_INET parent 1: classid 1:1 htb rate 512kbit ceil 512kbit tc class add dev $IF_INET parent 1:1 classid 1:2 htb rate 256kbit ceil 512kbit prio 3 tc qdisc add dev $IF_INET parent 1:2 handle 2: sfq perturb 10 #DOWN tc qdisc del dev $IF_LAN root tc qdisc add dev $IF_LAN root handle 1: htb default 2 tc class add dev $IF_LAN parent 1: classid 1:1 htb rate 5mbit ceil 5mbit tc class add dev $IF_LAN parent 1:1 classid 1:2 htb rate 512kbit ceil 5mbit prio 3 tc qdisc add dev $IF_LAN parent 1:2 handle 2: sfq perturb 10
iptables -A INPUT -s $IP -j ACCEPT iptables -A FORWARD -s $IP -j ACCEPT iptables -A FORWARD -d $IP -j ACCEPT iptables -A OUTPUT -d $IP -j ACCEPT
iptables -t nat -A POSTROUTING -o $IF_INET -s $IP -j SNAT --to-source 10.54.109.64
#UP iptables -t mangle -A POSTROUTING -s $IP -o $IF_INET -j MARK --set-mark 100 iptables -t mangle -A POSTROUTING -s $IP -o $IF_INET -j RETURN #iptables -t mangle -A POSTROUTING -s $IP -o $IF_INET -j JUMP
#DOWN iptables -t mangle -A POSTROUTING -d $IP -o $IF_LAN -j MARK --set-mark 100 iptables -t mangle -A POSTROUTING -d $IP -o $IF_LAN -j RETURN #iptables -t mangle -A POSTROUTING -d $IP -o $IF_LAN -j JUMP
#UP tc class add dev $IF_INET parent 1:1 classid 1:100 htb rate 75kbit ceil 512kbit prio 1 tc qdisc add dev $IF_INET parent 1:100 handle 100: sfq perturb 10 tc filter add dev $IF_INET parent 1: protocol ip prio 1 handle 100 fw classid 1:100
#DOWN tc class add dev $IF_LAN parent 1:1 classid 1:100 htb rate 128kbit ceil 1024kbit prio 1 tc qdisc add dev $IF_LAN parent 1:100 handle 100: sfq perturb 10 tc filter add dev $IF_LAN parent 1: protocol ip prio 1 handle 100 fw classid 1:100