>[оверквотинг удален]
>>>> block in
>>>> block out
>>>> pass in quick on $int_if inet from $vip to !(self) queue
>>>> down_vip
>>> ALTQ на fbsd не режет входящий трафик.
>> А где вы видели в моем примере обратное. Вы путаете сказанное с
>> _назначением_ очереди для конкретного вида траффика с учетом специфики PF (имеется
>> ввиду stateful filtering).
>> Почему не читаете доки?
> Доки читал. Разъясните разницу - буду благодарен. Смотрите, вся прелесть PF именно в stateful firewalling. Как с точки зрения производительности так и безопасности, поэтому лучше использовать как раз keep-state. Если вы пытаетесь ограничивать или приоритизировать трафик "в локальную сеть", то да его можно направить в нужную очередь фактически без keep-stating на внутрееннем интерфейсе (с помощью опции nostate), что не есть хорошо.
Лечше, когда у вас все keep-state и стейты привязаны к интерфейсу (set state-policy if-bound).
Допустим, клиент из локальной сети запросил www ресурс. На внутр. интерфейсе создается стейт с очередью, которая ограничивает траффик на закачку. Этот стейт будет служить как-бы обратным маршрутом для ответа от www сервера, т.е. вы можете вообще явно не разрешать трафик с внутреннего интерфейса в лок. сеть. Вот этот ответ от сервера попадает под созданный ранее стейт с назначенной очередью, поэтому такое правило будет работать:
pass in quick on $int_if inet proto tcp from $int_if:network to !(self) port {80 443} queue www_dounload
Что касается ограничения upload, то тут все просто:
pass out quick on $ext_if inet proto tcp from $ext_if to any port {80 443} queue www_upload
Допустим, вам нужно ограничить исходящий канал для разных пользователей\подсетей\etc.
pass out quick on $ext_if inet proto tcp from $computer_bossa to any port {80 443} queue www_upload_boss
но так не прокатит, потому что у нас _NAT_. Вот что бы это обойти нам и надо пометит пакеты, пришедшие на внутр. ифейс с машины босса и "отделить" его от остального.
pass in quick on $int_if inet proto tcp from $computer_bossa to !(self) port {80 443} queue www_dounload_boss tag BOSS
pass out quick on $ext_if inet from $ext_if to any queue www_upload_boss tagged BOSS
Плюс еще в том, что в исходящих правилах на $ext_if вам не нужно дублировать протоколы и порты назначения. Это уменьщает конечное число правил.
НУ вроде все. Надеюсь понятно объяснил.)