htb.init
oleg_kaa 26 мая, 2009 - 22:23
И так есть шлюз/прокси сервер с двумя сетевыми картами 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
eth1-2.root
eth1-2:10.interactive
eth1-2:20.normal
eth1-2:30.default
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 ;)
Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!