URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 79898
[ Назад ]

Исходное сообщение
"pf+vlan+ALTQ"

Отправлено weldpua2008 , 19-Апр-08 02:07 
Вот задачка....
Есть FreeBSD + умный свич с vlan'ами  + 2-а интерфейса

#cat /etc/rc.conf

ifconfig_em0="inet 192.168.1.1  netmask 255.255.255.0" #Смотрит на умный свич
ifconfig_vr0="inet 10.1.1.2 netmask 255.255.0.0"      #смотрит на локалку
cloned_interfaces="vlan1 vlan2 vlan3"
ifconfig_vlan1="inet 10.12.1.1 netmask 255.255.255.0 vlan 3 vlandev em0"
ifconfig_vlan2="inet 10.13.1.1 netmask 255.255.255.0 vlan 4 vlandev em0"
ifconfig_vlan3="inet 10.14.1.1 netmask 255.255.255.0 vlan 5 vlandev em0"

Схема работы:

---Local'ка---vr0 (Роутер) em0 ---- Vlan'ы
<------------------------------------------->10.12.1.0/24
10.11.1.0/24<------------------------>10.13.1.0/24
<------------------------------------------->10.14.1.0/24

Тоесть Мне надо роутить 4-ре подсети:
10.11.1.0/24,10.12.1.0/24,10.13.1.0/24,10.14.1.0/24

Теперь Мне надо нарезать на каждом vlan'е 20Мбит/с вход и 20Мбит/с исход.

Поместить в очередь, что бы Инет(по PPTP - gre протокол) был с наивысшим приорететом,траффик от клиента до сервера с чуть меньшим приорететом, траффик локальный с небольшим преорететом, весь неучтённый траффик 2%.


Правильно ли Я нарезал исходящую скорость на Vlan1?

#cat /etc/pf.conf
vlan1="vlan1"
table <me>  {10.1.1.2}
table <vlan1> {10.12.1.0/24}
table <server> {10.1.1.1}
table <local> {10.13.1.0/24,10.14.1.0/24,10.15.1.0/24,10.16.1.0/24,10.17.1.0/24}

scrub in all

##Vlan1
  altq on $vlan1 bandwidth 20Mb cbq queue \
        { gre_vlan1, server_vlan1, local_vlan1, other_vlan1 }
  queue gre_vlan1 bandwidth 60% cbq(borrow red)
  queue server_vlan1 bandwidth 30% cbq(borrow red)
  queue local_vlan1 bandwidth 8% cbq(borrow red)
  queue other_vlan1 bandwidth 2% cbq(default borrow red)
  queue q_pri_vlan1 priority 7
##

pass quick proto icmp all
pass in quick on lo0 all
pass quick proto tcp from any to any port = 22 keep state

##VLAN1

pass in quick proto tcp from <vlan1> to <server> port = 1723 keep state \
        queue q_pri_vlan1
pass in on $vlan1 proto tcp from <vlan1> to any flags S/SA \
        keep state queue q_pri

pass in quick on $vlan1 proto gre from <vlan1> to <server> keep state  queue gre_vlan1

pass in quick on $vlan1 from <vlan1> to <server> keep state \
        queue server_vlan1

pass in quick on $vlan1 from <vlan1> to <local> keep state \
        queue local_vlan1
pass in quick on $vlan1 from <local> to <vlan1> keep state \
        queue local_vlan1
##

block quick log all

Как Теперь нарезать скорость для входящего траффика на vlan1?
Я так понимаю что входящая скорость на Vlan1 это будет исходящаяя на Vlan2+Vlan3+vr0, а так как Я знаю какие там подсети, то....тупик, интерфейсов то у Меня много....


Содержание

Сообщения в этом обсуждении
"pf+vlan+ALTQ"
Отправлено weldpua2008 , 19-Апр-08 02:25 
Поправил ошибку:

# cat /etc/pf.conf
vlan1="vlan1"
table <me>  {10.1.1.2}
table <vlan1> {10.12.1.0/24}
table <server> {10.1.1.1}
table <local> {10.13.1.0/24,10.14.1.0/24,10.15.1.0/24,10.16.1.0/24,10.17.1.0/24}

scrub in all

##Vlan1
  altq on $vlan1 bandwidth 20Mb cbq queue \
        { gre_vlan1, server_vlan1, local_vlan1, other_vlan1 }
  queue gre_vlan1 bandwidth 60% cbq(borrow red) { gre_vlan1_hi,gre_vlan1_lo }
    queue gre_vlan1_hi bandwidth 25% priority 7 cbq(borrow red)
    queue gre_vlan1_lo bandwidth 75% priority 7 cbq(borrow red)

  queue server_vlan1 bandwidth 30% cbq(borrow red)
  queue local_vlan1 bandwidth 8% cbq(borrow red)
  queue other_vlan1 bandwidth 2% cbq(default borrow red)

##

pass quick proto icmp all
pass in quick on lo0 all
pass quick proto tcp from any to any port = 22 keep state

##VLAN1

pass in quick proto tcp from <vlan1> to <server> port = 1723 keep state \
        queue gre_vlan1_hi
pass in quick on $vlan1 proto tcp from <vlan1> to any flags S/SA \
        keep state queue gre_vlan1_hi

pass in quick on $vlan1 proto gre from <vlan1> to <server> keep state \
         queue gre_vlan1_lo

pass in quick on $vlan1 from <vlan1> to <server> keep state \
        queue server_vlan1

pass in quick on $vlan1 from <vlan1> to <local> keep state \
        queue local_vlan1

pass in quick on $vlan1 from <local> to <vlan1> keep state \
        queue local_vlan1

pass in quick on $vlan1 from <vlan1> to any keep state \
        queue local_vlan1
##

block quick log all


"pf+vlan+ALTQ"
Отправлено weldpua2008 , 24-Апр-08 16:18 
Помогите ограничить скорость...

"pf+vlan+ALTQ"
Отправлено zedis , 24-Апр-08 16:56 
>[оверквотинг удален]
> pass in quick on $vlan1 from <local> to <vlan1> keep state \
>        queue local_vlan1
>##
>
> block quick log all
>
>Как Теперь нарезать скорость для входящего траффика на vlan1?
>Я так понимаю что входящая скорость на Vlan1 это будет исходящаяя на
>Vlan2+Vlan3+vr0, а так как Я знаю какие там подсети, то....тупик, интерфейсов
>то у Меня много....

Вопервых при деление скорости ALTQ не какой keep state в правилах нарезки не в коем случае а то такую канетель можешь получить.


"pf+vlan+ALTQ"
Отправлено weldpua2008 , 24-Апр-08 19:16 
>[оверквотинг удален]
>>
>> block quick log all
>>
>>Как Теперь нарезать скорость для входящего траффика на vlan1?
>>Я так понимаю что входящая скорость на Vlan1 это будет исходящаяя на
>>Vlan2+Vlan3+vr0, а так как Я знаю какие там подсети, то....тупик, интерфейсов
>>то у Меня много....
>
>Вопервых при деление скорости ALTQ не какой keep state в правилах нарезки
>не в коем случае а то такую канетель можешь получить.

ок.
Ну а как нарезать скорость?