Возможно я не уловил сути проблемы, прошу прощения. Почему бы просто не
загонять траффик от самбы в вашу очередь, ну или вцелом от сервера в
локальную сеть? Напр. так:
pass quick on $lknat_iface proto {tcp,udp} from $lknat_iface port {135,137:139}
to $lknat_net no state
pass quick on $lknat_iface proto {tcp,udp} from $lknat_net to $lknat_iface port
{135,137:139} no state
ну и далее
pass quick on {$inet_iface,$lknat_iface} from any to $lknat_net queue
q_lknat_in no state
pass quick on {$inet_iface,$lknat_iface} from $lknat_net to any queue
q_lknat_out no state
P.S. С keep-state мне кажется вообще достаточно будет одного правила.
15.04.2014 10:50, Vasiliy P. Melnik пишет:
> Hi all.
>
> Возможно странный вопрос.
>
> Есть сервер, раздает в локалку интернет через nat, на сервере 2
> интерфейса.Фаервол используется pf и в определнный момент был настроен
> шейпер - дабы шибко наглые не укладывали весь канал, а ходить каждый
> раз стучать по голове как-то ну совсем лень.
>
> Шейпер работает отлично, но есть проблема - на этом же сервере есть
> самба, и скорость работы с самбой зажата по шейперу. А как отличить
> трафик самбы от интернет трафика придумать не могу.
>
> Может будут идеи у кого? а то кроме как поставить отдельный сервер под
> раздачу интернета умнее ничего придумать не могу, а плодить железки не
> хочется.
>
>
>
> Конструкция вот такая.
>
> altq on re0 hfsc bandwidth 50Mb queue {q_default_out, q_lknat_out }
> queue q_default_out bandwidth 1% hfsc ( default upperlimit 49Mb )
> queue q_lknat_out bandwidth 1% hfsc ( upperlimit 49Mb )
>
> altq on em0 hfsc bandwidth 50Mb queue {q_default_in, q_lknat_in}
> queue q_default_in bandwidth 1% hfsc ( default upperlimit 49Mb )
> queue q_lknat_in bandwidth 1% hfsc ( upperlimit 49Mb )
>
> # vlan100 lknat
> nat on $inet_iface from $lknat_net to any -> ($citynet_iface)
>
> # vlan100 lknat
> pass quick on {$inet_iface,$lknat_iface} from any to $lknat_net queue
> q_lknat_in no state
> pass quick on {$inet_iface,$lknat_iface} from $lknat_net to any queue
> q_lknat_out no state