Здравствуйте, мыслители
Картинка следующая: eth0 - internet , eth1 - LAN , eth2 - internet (резервный канал); юзвери попадают на eth2 марком 0x64 - самостоятельным выбором каналан на веб; юзвери авторизуются через pppoe - получая динамический ppp+ интерфейс; фактически лан - служебная сеть; на eth0 и eth2 висят маскарады (можно нат - непринципиально)
Есть следующая банальная задача: отрезать кусок канала eth2.нашел следующий скрипт http://www.opennet.me/openforum/vsluhforumID1/52484.html, попробовал адаптировать, но что то не работает:
#/bin/bash
IFACE=eth2
RATE=128k
RATE1=64k
RATE2=64k
NET1="192.168.172.40/32"
NET2="192.168.172.4/32"
tc qdisc add dev ${IFACE} root handle 1: htb default 80
tc class add dev ${IFACE} parent :1 htb classid 1:1 rate ${RATE} ceil ${RATE}
tc class add dev ${IFACE} parent 1:1 classid 1:10 htb rate ${RATE1} ceil ${RATE1}
tc class add dev ${IFACE} parent 1:1 classid 1:20 htb rate ${RATE2} ceil ${RATE2}
tc class add dev ${IFACE} parent 1:1 classid 1:80 htb rate ${RATE} ceil ${RATE}
qdisc add dev ${IFACE} parent 1:10 handle 10: pfifo limit 5
qdisc add dev ${IFACE} parent 1:20 handle 20: pfifo limit 3
qdisc add dev ${IFACE} parent 1:80 handle 80: sfq perturb 10
TCF="tc filter add dev ${IFACE} protocol ip "
${TCF} prio 1 u32 match ip src ${NET1} flowid 1:10
${TCF} prio 1 u32 match ip dst ${NET1} flowid 1:10
${TCF} prio 1 u32 match ip src ${NET2} flowid 1:20
${TCF} prio 1 u32 match ip dst ${NET2} flowid 1:20
Как я понимаю, для того что бы шейпер работал - необходимо снять маскарадинг с eth2, или использовать другую метку для особых юзверей.
Чёрт ногу сломит в этом tc, я так точно уже мозг свернул :(
Может кто-нибудь подсказать, что нетак?