htb.init

И так есть шлюз/прокси сервер с двумя сетевыми картами eth0(инет) eth1(локаль)
Так как все любят пользоваться торрентами, решил установить и настроить htb.init
Задумывалось расставить трафик по следующим приоритетам:

1. Интерактив (ssh, vnc, rdp и т.д.)
2. Веб, аська
3. Все остальное

И если канал свободен пускать торренты на всю :)

Получилась следующая конфигурация:

/etc/htb/eth1

DEFAULT=30
R2Q=100

/etc/htb/eth1-2.root

RATE=100Mbit

/etc/htb/eth1-2:3.local

RATE=100Mbit
RULE=192.168.1.*,192.168.1.*
PRIO=10

/etc/htb/eth1-2:4.remote

RATE=10Mbit

/etc/htb/eth1-2:4:10.fast

RATE=8Mbit
LEAF=sfq
RULE=:1022,
RULE=:1022
MARK=3
PRIO=10

/etc/htb/eth1-2:4:20.slow

RATE=1Mbit
CEIL=8Mbit
LEAF=sfq
MARK=4
PRIO=20

/etc/htb/eth1-2:4:30.other

RATE=16Kbit
CEIL=8Mbit
LEAF=sfq
PRIO=30

htb.init compile

/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 htb default 30 r2q 100

/sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 100Mbit

/sbin/tc class add dev eth1 parent 1:2 classid 1:3 htb rate 100Mbit prio 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip src 192.168.1.* match ip dst 192.168.1.* classid 1:3

/sbin/tc class add dev eth1 parent 1:2 classid 1:4 htb rate 10Mbit

/sbin/tc class add dev eth1 parent 1:4 classid 1:10 htb rate 8Mbit prio 10
/sbin/tc qdisc add dev eth1 parent 1:10 handle 10 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 3 fw classid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip sport 1022 0xffff classid 1:10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dport 1022 0xffff classid 1:10

/sbin/tc class add dev eth1 parent 1:4 classid 1:20 htb rate 1Mbit ceil 8Mbit prio 20
/sbin/tc qdisc add dev eth1 parent 1:20 handle 20 sfq perturb 10
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 200 handle 4 fw classid 1:20

/sbin/tc class add dev eth1 parent 1:4 classid 1:30 htb rate 16Kbit ceil 8Mbit prio 30
/sbin/tc qdisc add dev eth1 parent 1:30 handle 30 sfq perturb 10

/var/lib/iptables/rules-save

:PREROUTING ACCEPT [0:0]
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto ssh
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto radmin
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto vnc
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto x11
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto rdp
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto skypeout
-A POSTROUTING -m layer7 -j MARK --set-mark 3 --l7proto skypetoskype
-A POSTROUTING -m layer7 -j MARK --set-mark 4 --l7proto aim
-A POSTROUTING -m layer7 -j MARK --set-mark 4 --l7proto ssl
-A POSTROUTING -m layer7 -j MARK --set-mark 4 --l7proto http

Но есть не понятные минусы :(
Почему то трафик по прежнему жреться торрентами :(
Подскажите пожалуйста, где я ошибся?

Сам читаю о шейпинге, скоро

Сам читаю о шейпинге, скоро буду внедрять. Правда немного в другом качестве.

Бросилось в глаза следующее:
>Чем больше prio в классе, тем ниже приоритет при наследовании полосы. Допустимый диапазон - 0-7.
У вас - он 20, 30. Значения можно попробовать поправить.

А так в целом логично. Быстрому трафику отделили 8М, Причем остальным отдали на растрезание все остальное.
Только такой момент - с таким подходом к оценке высокоприоритетного трафика вас затопчут )))
У людей много еще приоритетов в жизни, игры, например. А кое-кто для удаленной работы использует cisco vpn (GRE). И у вас он попадет на самое дно болота. )))
Непонятно правда почему трафик локальный такой же по приоритету как и внешний. Нехорошо, на мой взгляд.

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

Это на работе :)

Это на работе:) Поэтому в игры играть не дают :)

Цитата:
Непонятно правда почему трафик локальный такой же по приоритету как и внешний. Нехорошо, на мой взгляд.

Исправлю :)

Завтра утром надо будет проверить с приоритетами ;)

Заочно спасибо :)

Working on Gentoo Linux for Asus P535 and Qtopia :-)

М не совсем помогло

М не совсем помогло, при подключении по ssh через инет, наблюдаются небольшие задержки.

Может нужно добавить какой то параметр?

Working on Gentoo Linux for Asus P535 and Qtopia :-)

Покажите последнюю версию.

Покажите последнюю версию. Загрузка процессора какая?

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

Это работает

Ну в общем вот так вот. Это работает, но один очень хороший администратор сказал что это не совсем правильно :)
Поэтому я еще в поиске решения
eth1 - это локальная сеть, инет 10mbit eth0
6mbit"ами я специально ограничил, иначе эффект почти не чувствуется
Загрузка процессора от 2% до 5%

eth1

DEFAULT=30

eth1-2.root

RATE=6Mbit
BURST=15k

eth1-2:10.interactive

RATE=6Mbit
LEAF=sfq
PRIO=0
MARK=3

eth1-2:20.normal

RATE=1Mbit
CEIL=6Mbit
LEAF=sfq
PRIO=1
MARK=4

eth1-2:30.default

RATE=1Kbit
CEIL=6Mbit
PRIO=7
LEAF=sfq

Working on Gentoo Linux for Asus P535 and Qtopia :-)

И ssh подтормаживает? Если

И ssh подтормаживает? Если да, попробуйте добавить в /var/lib/iptables/rules-save
-A POSTROUTING -m tcp -p tcp --dport 22 --set-mark 3 -j MARK

А чтобы увидеть изменения - зажмите CEIL в eth1-2:30.default, например до 2-3M. В любом случае по-моему лучше низкоприоритетному трафику всю полосу никогда не отдавать, даже если она не используется, т.о. сильно осложните жизнь любителям халявы на работе.

Кстати, вспомнил что меня смущало в вашем решении, в eth1-2:30.default из всего остаточного трафика попадeт только tcp-пакеты. Все остальное просто пролетит мимо шейпера ;) Об этом написано во многих местах, например здесь: http://xgu.ru/wiki/QoS_в_Linux ;)

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".