[Sysadmins] Исходящий шейпинг
Denis Klimov
zver на altlinux.org
Чт Янв 17 12:02:42 MSK 2008
On Wed, 16 Jan 2008 22:28:39 +0300 Peter Volkov wrote:
> И всё-таки, уже не уповая на ответ, но повторю вопрос Денису. Пусть
> интерфейсов мало, скажем два. Как "шейпить исходящий трафик для
> небольшого количества интерфейсов"? Но похоже, что то ли Вы что-то
> перепутали, то ли просто так сказали. А жаль, учитывая не очень надёжную
> ситуацию с IMQ не плохо было бы иметь альтернативу.
>
> --
> Peter.
Я писал что вам нет смысла тогда использовать ifb для _исходящего_
трафика, используйте HTB например на каждом интерфейсе.
я использую ifb для ограничения скорости _входящего_ трафика для пользователей, которые на ppp* интерфейсах:
DEV - это интерфейс в инет.
# Перенаправляем трафик с интерфейса, который смотрит в инет на ifb0
tc qdisc del dev $DEV handle ffff: ingress
tc qdisc add dev $DEV handle ffff: ingress
tc filter add dev $DEV parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
# А дальше уже как хотим можем резать _входящий_ трафик.
tc qdisc del dev ifb0 root handle 1:
tc qdisc add dev ifb0 root handle 1: htb default 20 r2q 10
# Main class
tc class add dev ifb0 parent 1: classid 1:1 htb rate 100mbit quantum 6000
# For local traff, ssh etc
tc class add dev ifb0 parent 1:1 classid 1:5 htb rate 10mbit quantum 6000 burst 5k cburst 5k
# For fast traff
tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 128kbit ceil 230kbit quantum 1600 burst 0k
# For other traff
tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 64kbit ceil 230kbit quantum 1600 burst 0k
# Very low
tc class add dev ifb0 parent 1:1 classid 1:30 htb rate 32kbit ceil 100kbit quantum 1600 burst 0k
# User1
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip dst 192.168.117.4/32 flowid 1:30
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip src 192.168.117.4/32 flowid 1:30
#WEB
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip sport 80 0xffff flowid 1:10
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip sport 6667 0xffff flowid 1:10
#SSH
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip sport 22 0xffff flowid 1:5
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip dport 22 0xffff flowid 1:5
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip src 192.168.1.202/32 flowid 1:5
tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 match ip dst 192.168.1.202/32 flowid 1:5
--
Denis Klimov
zver
Подробная информация о списке рассылки Sysadmins