pf altq hfsc

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-16 15:55:36

Код: Выделить всё

ext_if="ng0"
int_if="rl1"
a_ext_if="rl0"
dad="192.168.1.3"
sith="192.168.1.2"
tit="192.168.1.4"
table <a_private_net> { 10.0.0.0/8 192.168.1.0/24 81.28.160.181 } //Локальные сети провайдера гуляем максимально на скорости 99 mb

altq on $int_if bandwidth 100Mb hfsc queue { inet_in, default_in }
        queue default_in bandwidth 99Mb priority 1 hfsc(default) // Приоритет 1!!!
        queue inet_in bandwidth 256Kb priority 7 hfsc{ q_sith_in, q_dad_in, q_tit_in} // Приоритет 7!!!
                queue q_sith_in bandwidth 128Kb priority 5 hfsc(realtime 128Kb upperlimit 256Kb)
                queue q_dad_in bandwidth 64Kb priority 5 hfsc(realtime 64Kb upperlimit 256Kb)
                queue q_tit_in bandwidth 64Kb priority 1 hfsc(realtime 64Kb upperlimit 256Kb)

nat on $ext_if from $int_if:network to any -> ($ext_if)
nat on $a_ext_if from $int_if:network to any -> ($a_ext_if)

pass out on $int_if from ! <a_private_net> to $sith queue q_sith_in 
pass out on $int_if from ! <a_private_net> to $dad queue q_dad_in
pass out on $int_if from ! <a_private_net> to $tit queue q_tit_in
Почему когда качаю ченибудь с локальных сетей провайдера внешка начинает жутко тормазить хотя приоритет на дефолтовую очередь 1. А на внешку 7. Ставил ограничение до 8 мегабит на дефолтовую - тормозит поменьше(не на много=/). Но этоже нонсонс. На винде и то все летало без всяких там очередей... Не могу больше терпеть эту несправедливость=)
Последний раз редактировалось manefesto 2008-11-16 19:49:27, всего редактировалось 1 раз.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-16 18:51:24

случайно не оно?
_http://lists.freebsd.org/pipermail/freebsd-pf/2005-November/001670.html
_http://forum.lissyara.su/viewtopic.php?f=8&t=11003&start=0&st=0&sk=t&sd=a

зы
тег

Код: Выделить всё

 поюзай

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-17 19:45:10

Я так понял, что от приоритетов входящего трафика ничего толком не зависит. Тогда встает вопрос как сделать очереди для исходящего трафика от разных пользователей с разными приоритетами и скоростью при учете что у меня Nat(если не обязательно для каждого главное чтобы закачка с локальных ресурсов провайдера(макс 100мб) не тормазила внешку(макс 256кб)):

Код: Выделить всё

nat on $ext_if from $int_if:network to any -> ($ext_if)
nat on $a_ext_if from $int_if:network to any -> ($a_ext_if)
Пробывал по разному но смысл тотже:

Код: Выделить всё

altq on $a_ext_if bandwidth 100Mb hfsc queue { inet_out, default_out }
        queue default_out bandwidth 1kb priority 0 hfsc(default)
        queue inet_out bandwidth 256Kb priority 7 hfsc { q_sith_out, q_dad_out, q_tit_out}
                queue q_sith_out bandwidth 128Kb priority 7 hfsc(realtime 128Kb upperlimit 256Kb)
                queue q_dad_out bandwidth 64Kb priority 7 hfsc(realtime 64Kb upperlimit 256Kb)
                queue q_tit_out bandwidth 64Kb priority 0 hfsc(realtime 64Kb upperlimit 256Kb)

pass out on $a_ext_if from $sith to ! <a_private_net> queue q_sith_out
pass out on $a_ext_if from $tit to ! <a_private_net> queue q_tit_out
pass out on $a_ext_if from $dad to ! <a_private_net> queue q_dad_out 
Подазреваю что не сработало из-за nat.

p.s. Спасибо за ссылки paradox. Но как всегда боян. Нильзя ли сделать простой пример altq hfsc, sbq или priq планировщика pf для рядовой домашней сети без изощрений (качаем с осла/торрента, лазяем по страничкам(без лагов от скачки с осла/торрента))?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-17 19:55:02

впринципе все примеры есть в

Код: Выделить всё

src\share\examples\pf
но думаеться мне что тебе и обычнй cbq (borrow) подойдет
что бы как говриться если канал(полоса) лишний(я) то не простаивал

зы
потерял линк на краткий мануал по hfsc
правда там на игнлыше
но наскоко помню там очень понятно было рассписано что и для чего
найду запостю
мож кому пригодиться

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-17 20:02:55

_http://www.probsd.net/pf/index.php/HFSC
вторая линка

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-17 23:08:57

Еще раз спасибо paradox за ссылочки... Теперь встал вопрос про p2p протокол. Быть может без блокировки и обрезания скорости можно его както отключать на время пока пройдут пакеты со внешки. То есть если кто то работает с внешкой p2p соединение тутже вырубается(ну или хотябы замедляется на столько чтобы работающий со внешкой не заметил разницы в скорости) а когда заканчивает включается опять. :-D

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-17 23:14:41

p2p разные бывает
уточни какой
что бы народу стало понятно что подсказать

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 0:52:55

Помоему для шейпинга спомощью pf будет не важно какой p2p. Можно будет только указать порты и использовать QoS hfsc(покрайней мере многие пишут об этом... и больше ничего не пишут :st: как всегда). Интересно почему все молчат (или все ограничиваются блокировкой/урезанием(статичным) скорости для p2p?) :cz2:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 0:57:16

потому что p2p не так прост
и порты там рандомные
и на уровне tcp ip ты его просто так не поймешь

если я правльно понял о каком p2p ты говришь

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 1:00:03

мне только для моего Тольяттинского bit-torrenta и emule ed2k.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 1:11:22

не если у тебя татические порты то без проблем
посто у торрентах обычно все динамически
и нет ничего постоянного

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 2:19:02

Из всего прочитанного сделал вывод что если торрент качает на скорости 6 мегобайт в секунду о быстрой(в моем случае отключается всо) внешке можно забыть :ROFL: Или может кто-нибудь покажит "как нада" :Search: .

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 2:37:33

если ты неможет выловить кто из них торрент то никак

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 13:44:44

Допустим я знаю порт(ы). Возможно надо уменьшить приоритет ack запросов для очереди p2p bittor.

Должно же быть что-то примерно такое?:

Код: Выделить всё

altq on $a_ext_if bandwidth 5Mb hfsc queue { http, other, bittor }
        queue http bandwidth 90% priority 7 qlimit 500 hfsc
        queue other bandwidth 9% priority 5 qlimit 500 hfsc(default, realtime 9%)
        queue bittor bandwidth 1% priority 0 qlimit 500 hfsc(upperlimit 99%)

pass out on $a_ext_if inet proto tcp from any to any port 80 flags S/SA keep state queue http
pass out on $a_ext_if proto {tcp udp} from any to any port 4661 flags S/SA keep state queue bittor
Делали же похожее на cbq или priq??? Можете скинуть рабочий пример? Это же так легко -> copy/paste :sorry:
Последний раз редактировалось Scomp 2008-11-18 15:19:22, всего редактировалось 1 раз.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 14:05:38

queue bittor bandwidth 1% priority 0 qlimit 500 hfsc(upperlimit 99%)
эт ты типа по умолчанию дал 1 процент
и разрешил заюзать все 99% ?

зы
у меня нет примеров
я такие связки не настраиваю

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 14:13:30

https://calomel.org/pf_hfsc.html

Код: Выделить всё

queue bittor bandwidth 1% priority 3 qlimit 500 hfsc (upperlimit 99%)
This is bittor queue. The bittor queue can borrow as much at 1% of the total bandwidth, it is at priority at 3, and has a very high queue limit of 500 slots. Notice this rule does not have a real time directive. This is because we have decided that bittor traffic is expendable and we want to make sure this queue gives up all bandwidth to higher priority queues need it. The upperlimit directive makes sure this rule will never borrow more than 99% of the total bandwidth from any other queue.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 14:19:22

The upperlimit directive makes sure this rule will never borrow more than 99% of the total bandwidth from any other queue
как бы это имеллось ввиду не от 1%
а от общего канала 5MB
в итоге оно у тебя так и работает
появляеться торрент который забиывает все

а сделай по примеру с екземплс в бсд по hscf ?
без приоритетов итд
просто тупо поделить
поделит?
или будет также глючить

зы
документацию надо читать поверхностно

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 14:36:49

This rule will allow the data to transfer at up to 99% of your full speed, but if another queue needs the bandwidth, the bittor queue will be pruned almost instantly to 1%. Оттудоже.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 14:38:16

наскоко я понял из того что читал в документации на примерах
7 приоритет это минимальный
а 0 это максимальный
вот у тебя торрнеты и максимально входят в очередь

или я опять не то читаю?

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 14:56:52

Ну насколько я знаю для cbq приоритет изменяется от 0 до 7, priq диапазон от 0 до 15. Приоритет 0 считается самым низким. Для hfsc вроде также(если не так можно ссылочку)?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 15:01:00

ну я из примеров смотрю
1. Here i've given 640Kb of linkshare to the o_def queue.
2. No traffic is being assigned to this queue, but child queues under it will take from this value.
3. Priority is lower than the other queues because this traffic is not critical.
queue o_def bandwidth 640Kb priority 7 hfsc(linkshare 640Kb) { o_brst, o_other, o_tput }
тоесть я так понимаю

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 15:17:23

Помоему это пример с ошибкой :smile:

Код: Выделить всё

queue ack bandwidth 80% priority 7 qlimit 500 hfsc (realtime 50%)
This is the ack queue. it can borrow as much as 80% of the total bandwidth, it is the highest priority at 7, and has a very high queue limit of 500 slots. The realtime of 50% means this queue is guarantee at least 50% of the total bandwidth no matter what any other rules wants.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 15:18:37

ммда офигенная документация у них....

самая лучшая документация это суорсы)))
может там проще почитать?

Scomp
рядовой
Сообщения: 13
Зарегистрирован: 2008-08-22 18:32:12

Re: pf altq hfsc

Непрочитанное сообщение Scomp » 2008-11-18 15:37:26

У меня еще вопрос а я вообще правильно задаю правила?($a_ext_if это у меня rl0 внешний интерфейс). Мне это читается: "Пропустить на внешнем интерфейсе ack пакеты (tcp, udp) от любых к любым ip с портом 80 в очередь http ".....

Код: Выделить всё

pass out on $a_ext_if proto {tcp udp} from any to any port 80 flags S/SA keep state queue http
pass out on $a_ext_if proto {tcp udp} from any to any port 4661 flags S/SA keep state queue bittor
:pardon:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: pf altq hfsc

Непрочитанное сообщение paradox » 2008-11-18 16:06:08

вообем то правильно

но похоже за логикой работы шедуллера hsfc наверное нужно лезить в сорусы