The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с PF+ALTQ на FreeBSD7.1"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Проблема с PF+ALTQ на FreeBSD7.1"  
Сообщение от neoen (ok) on 15-Янв-09, 21:01 
Подскажите кто работал с 7 веткой фри и юзал на ней pf+altq, переехал на новый серв на нем поставил 7.1 фрю, слил со старого конфиги pf, ясное дело что поправил все интерфейсы и айпи
так вот какая грабля (не считая прикола с тем что в новом pf автоматом добавляет keep state) пакеты не проходят через очереди шейпера, т.е. вообще ни один пакет не попадает в очередь altq бьюсь уже второй день, ткните носом где ошибся, ниже конфиг

ext_if="em0"
ext_ad="xxx.xxx.xxx.xxx"
int_if="em1"

table <internet_hosts> { xx.xx.xx.xx/16 }
table <nated_hosts> { xx.xx.xx.xx/16 }
table <server_ip> { xx.xx.xx.xx, xx.xx.xx.xx }
table <bad_hosts> persist
table <rfc1918> {10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16}
table <users_on> persist
table <users_off> persist
set limit states 50000

#ALTQ
#-OUT-
altq on $ext_if cbq bandwidth 500Mb queue { defl }
queue defl bandwidth 100% cbq(default) { user1_out, user2_out, user3_out }
queue user1_out bandwidth 1024Kb
queue user2_out bandwidth 512Kb
queue user3_out bandwidth 2Mb

#-IN-
altq on $int_if cbq bandwidth 500Mb queue { inqueue }
queue inqueue bandwidth 100% cbq(default) { user1_in, user2_in, user3_in }
queue user1_in bandwidth 1024Kb
queue user2_in bandwidth 2048Kb
queue user3_in bandwidth 2Mb

nat on $ext_if from <nated_hosts> to any -> $ext_ad

pass quick proto tcp from <internet_hosts> to <server_ip> port 80 keep state

#-=black hole=- >:-)
block in quick from <bad_hosts>
pass in quick proto tcp to <server_ip> port 22 flags S/SA keep state \
    (max-src-conn-rate 3/60, overload <bad_hosts> flush global)

set skip on lo0
pass quick on lo0 all no state
pass quick proto tcp from <server_ip> to any keep state
pass quick proto udp from <server_ip> to any keep state
pass quick proto icmp from <server_ip> to any keep state
pass quick proto icmp from any to <server_ip> keep state
pass quick proto tcp from any to <server_ip> port 22 keep state
pass quick proto tcp from any to <server_ip> port 80 keep state
pass quick proto udp from <internet_hosts> to <server_ip> port 111 no state
pass quick proto udp from any to <server_ip> port 53 no state
pass quick proto tcp from any to <server_ip> port 53 no state

block quick from <rfc1918> to <internet_hosts>
block quick from <internet_hosts> to <rfc1918>

block quick from <users_off> to any
block quick from any to <users_off>

#ALTQ
pass quick from xx.xx.xx.1 to any queue user1_out no state
pass quick from any to xx.xx.xx.1 queue user1_in no state
pass quick from xx.xx.xx.2 to any queue user2_out no state
pass quick from any to xx.xx.xx.2 queue user2_in no state
pass quick from xx.xx.xx.3 to any queue user3_out no state
pass quick from any to xx.xx.xx.3 queue user3_in no state

pass quick from <users_on> to any no state
pass quick from any to <users_on> no state

block all

А вот вывод на этом серве статистики по очередям

# pfctl -sq -v

queue root_em0 on em0 bandwidth 500Mb priority 0 cbq( wrr root ) {defl}
  [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
queue  defl on em0 bandwidth 500Mb cbq( default ) {user1_out, user2_out, ruser3_out }
  [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
queue   user1_out on em0 bandwidth 1.02Mb
  [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
queue   user2_out on em0 bandwidth 512Kb
  [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50  borrows:      0  suspends:      0 ]
queue   user3_out on em0 bandwidth 2Mb
  [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50  borrows:      0  suspends:      0 ]

как видно ни одного пакета не попадает в очередь :(

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с PF+ALTQ на FreeBSD7.1"  
Сообщение от alexpn (ok) on 16-Янв-09, 11:23 
В Ядре все опции есть ???
Насколько понял altq работает только на входящем трафике

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема с PF+ALTQ на FreeBSD7.1"  
Сообщение от alexpn (ok) on 16-Янв-09, 11:50 
Вот статейка
http://house.hcn-strela.ru/BSDCert/BSDA-course/apcs02.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблема с PF+ALTQ на FreeBSD7.1"  
Сообщение от neoen (ok) on 16-Янв-09, 13:34 
Да конечно все опции включены, не первый день собираю фрю, уже с закрытыми глазами ядро собирать могу )
в ядре все ненужное отрублено, добавлено:
options         DEVICE_POLLING
device          pf
device          pflog
device          pfsync
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
options         ALTQ_RED        # Random Early Detection (RED)
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
options         ALTQ_NOPCC      # Required for SMP build

Статейка то тут причем? я уже и конфиг привел, говорю же что на 6 ветке все пашет как часы причем и на 6.2 и на 6.3 , 6.4 правда не юзал нет тазика а накатить лень )
а вот на 7.1 свежеустановленной точнее ставил 7.0 а недельку назад накатил до 7.1 если честно на 7.0 проверить неуспел некогда было да и серв не был в работе.
Потому и спрашиваю у кого есть рабочий таз с 7.0 или 7.1 и рабочим pf+altq в котором юзеры нормально попадают в очередь и шейпятся

ЗЫ altq работает не на вход а на исход как вообще и любой другой шейпер.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Проблема с PF+ALTQ на FreeBSD7.1"  
Сообщение от neoen (ok) on 16-Янв-09, 22:51 
Вобщем сам покопался в том что есть, вспомнил что накатывал с 7.0 на 7.1 и похоже что бок вылез во время накатки, снес ось и заново поставил 7.0 не обновляя, PF заработал как часы, вобщем тема закрыта по причине отсутсвия проблемы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Проблема с PF+ALTQ на FreeBSD7.1"  
Сообщение от Павликжуравлик email on 23-Янв-09, 12:54 
Ну просто супер решение проблемы! Грррр!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру