BAND="2Mbit"
HIGH_LIMIT="1Mbit"
MAIN_IFACE="ppp0"
# delete all rules
tc qdisc del dev ${MAIN_IFACE} root
tc qdisc add dev ${MAIN_IFACE} root handle 1: hfsc default 11
# Internet traffic (full MAXIMUM speed)
tc class add dev ${MAIN_IFACE} parent 1:0 classid 1:1 hfsc sc rate ${BAND} ul rate ${BAND}
# Subclasses of Internet traffic
tc class add dev ${MAIN_IFACE} parent 1:1 classid 1:10 hfsc rt rate 1Mbit ls rate ${HIGH_LIMIT}
tc class add dev ${MAIN_IFACE} parent 1:1 classid 1:11 hfsc ls rate 1Mbit
$IPTABLES -t mangle -A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 1
$IPTABLES -t mangle -A OUTPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j RETURN
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p udp --dport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p udp --sport 53 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 80 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 443 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 443 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 8008 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 8008 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 8080 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 8080 -j MARK --set-mark 1
# jabber
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 5222 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 5222 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 465 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 465 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 587 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 587 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 993 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 993 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --dport 25 -j MARK --set-mark 1
$IPTABLES -A OUTPUT -t mangle -p tcp --sport 25 -j MARK --set-mark 1
$IPTABLES -t mangle -A POSTROUTING -m mark --mark 1 -j CLASSIFY --set-class 1:1
Пакеты маркируются, пакеты попадают в соответствующие правила
┌─[mybox]─[/home/user]
└──╼ tc -s class show dev ppp0
class hfsc 1: root
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
period 0 level 2
class hfsc 1:11 parent 1:1 ls m1 0bit d 0us m2 1000Kbit
Sent 235684729 bytes 3528449 pkt (dropped 243372, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
period 3405145 work 235684729 bytes level 0
class hfsc 1:1 parent 1: sc m1 0bit d 0us m2 2000Kbit ul m1 0bit d 0us m2 2000Kbit
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
period 3405145 work 235684729 bytes level 1
class hfsc 1:10 parent 1:1 sc m1 0bit d 0us m2 1000Kbit
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
backlog 0b 0p requeues 0
period 0 level 0
Но как только рторрент раскачивается, то браузер глохнет и открывает что угодно пол часа.