URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81899
[ Назад ]

Исходное сообщение
"И опять шейпер"

Отправлено Pukoi , 09-Сен-08 19:04 
Здравствуйте, мыслители
Картинка следующая: 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, я так точно уже мозг свернул :(
Может кто-нибудь подсказать, что нетак?


Содержание

Сообщения в этом обсуждении
"И опять шейпер"
Отправлено Slimm , 09-Сен-08 20:06 
htb не ограничивает скорость входящего потока, только исходящего
можно использовать IMQ или что лучше настроить ограничение на eth1

"И опять шейпер"
Отправлено Oyyo , 10-Сен-08 19:10 
>htb не ограничивает скорость входящего потока, только исходящего
>можно использовать IMQ или что лучше настроить ограничение на eth1

На eth1 - смысла нет, так как пользователи подключаются по gre - резать всех? или вешать ограничения на ppp+? так наверное будет проще работать с mark`ом?



"И опять шейпер"
Отправлено Slimm , 11-Сен-08 09:27 
>>htb не ограничивает скорость входящего потока, только исходящего
>>можно использовать IMQ или что лучше настроить ограничение на eth1
>
>На eth1 - смысла нет, так как пользователи подключаются по gre -
>резать всех? или вешать ограничения на ppp+? так наверное будет проще
>работать с mark`ом?

на ppp интерфейсе резать очень удобно tbf
один минус режиться все

DEVICE=$1 UP=$2 DOWN=$3

/sbin/tc qdisc del dev $DEVICE root
/sbin/tc qdisc add dev $DEVICE root tbf rate ${DOWN}Kbit latency 50ms burst $[$DOWN*1024]

/sbin/tc qdisc del dev $DEVICE handle ffff: ingress
/sbin/tc qdisc add dev $DEVICE handle ffff: ingress
/sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 \
police rate ${UP}Kbit burst $[$DOWN*1024] drop flowid :1