Запускаю команду:
pfctl -oonvf /etc/pf.conf >after
или
pfctl -onvf /etc/pf.conf >after
(как описано тут http://www.opennet.me/base/net/pf_optimization.txt.html)
но никакого упорядочивания записей не происходит, выходной файл содержит исходные записи в том же порядке, но с подстановкой макросов и раскрытием скобок в сокращённых записях. При этом правила очевидно нуждаются в оптимизации (они даже по интерфейсам не отсортированы).
Если написать просто: "pfctl -o", то команда "pfctl -sr" тоже покажет, что правила неоптимизированы.Почему оптимизация не работает, может, я что-то не так делаю? ОС: FreeBSD 6.2.
>Почему оптимизация не работает, может, я что-то не так делаю? ОС: FreeBSD
>6.2.uname -a ?
Покажите примеры "неработающих" правил.
>
>>Почему оптимизация не работает, может, я что-то не так делаю? ОС: FreeBSD
>>6.2.
>
>uname -a ?
>Покажите примеры "неработающих" правил.FreeBSD 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Sun Jul 8 13:19:32
Вот часть правил (остальные написаны в том же духе):
pass in quick on $int_if inet proto {tcp, udp, icmp} from $user1 to any tag U1 queue www1_in keep state
pass out quick on $ext_if inet proto {tcp, udp, icmp} from $ext_if to any tagged U1 queue www1_ex keep statepass in quick on $int_if inet proto {tcp, udp, icmp} from $user2 to any tag U2 queue www2_in keep state
pass out quick on $ext_if inet proto {tcp, udp, icmp} from $ext_if to any tagged U2 queue www2_ex keep statepass in quick on $int_if inet proto {tcp, udp, icmp} from $user3 to any tag U3 queue www3_in keep state
pass out quick on $ext_if inet proto {tcp, udp, icmp} from $ext_if to any tagged U3 queue www3_ex keep statepass in quick on $int_if inet proto {tcp, udp, icmp} from $user4 to any tag U4 queue www4_in keep state
pass out quick on $ext_if inet proto {tcp, udp, icmp} from $ext_if to any tagged U4 queue www4_ex keep stateНа всякий случай: очереди сделаны через hfsc, но дело, кажется, не в этом. Без quick пробовал — тоже не работает.
В FreeBSD 7.0 проверил — тоже не работает оптимизация. Мистика какая-то...
В ядре вот такие параметры:
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
device pf #PF OpenBSD packet-filter firewall
device pflog #logging support interface for PF
device pfsync #synchronization interface for PFВ rc.conf — такие:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="NO"
pflog_logfile="/var/log/pflog"
pflog_flags=""У кого-нибудь эта оптимизация вообще работает? Посмотрите свои настройки, если не сложно. И должна ли команда pfctl -sr показывать оптимизированный список правил после автоматической оптимизации (pfctl -o), или он будет выглядеть по-старому?
http://www.opennet.me/base/net/pf_optimization.txt.html
>http://www.opennet.me/base/net/pf_optimization.txt.htmlВ первом смоём посту я упомянул эту ссылку и сказал, что делал всё так, как там написано. И это не работает.