Никак не могу разобраться как работает функция pfct -o в PF.
есть заведомо не оптимальные правила:
cat /root/rules
pass from 10.1.2.3
pass from 10.3.4.5
pass from 10.4.5.6
pass from 10.5.6.7для начало делаем:
pfctl -nvf /root/rules
pass inet from 10.1.2.3 to any flags S/SA keep state
pass inet from 10.3.4.5 to any flags S/SA keep state
pass inet from 10.4.5.6 to any flags S/SA keep state
pass inet from 10.5.6.7 to any flags S/SA keep stateДалее пробуем оптимизировать:
pfctl -nvf /root/rules -o basic
pass inet from 10.1.2.3 to any flags S/SA keep state
pass inet from 10.3.4.5 to any flags S/SA keep state
pass inet from 10.4.5.6 to any flags S/SA keep state
pass inet from 10.5.6.7 to any flags S/SA keep state
Но не чего не проихошло. Как пользоваться этой функцией или я что то не допонимаю?
>Никак не могу разобраться как работает функция pfct -o в PF.
>есть заведомо не оптимальные правила:
>cat /root/rules
>pass from 10.1.2.3
>pass from 10.3.4.5
>pass from 10.4.5.6
>pass from 10.5.6.7Как раз наоборот, у Вас они изначально оптимальны.
>Как раз наоборот, у Вас они изначально оптимальны.Но так ведь было бы оптимальней:
table <_automatic_0> const { 10.1.2.3 10.3.4.5 10.4.5.6 10.8.9.1 }
pass inet from <_automatic_0> to any ?
или я уже точноне чего не понимаю?
>>Как раз наоборот, у Вас они изначально оптимальны.
>
>Но так ведь было бы оптимальней:Есть некий порог (точное число не скажу) до которого отдельное правило оптимальней чем таблица.
Попробуйте добавить еще таких же тестовых правил и тогда из них сделают одно.
>>>Как раз наоборот, у Вас они изначально оптимальны.
>>
>>Но так ведь было бы оптимальней:
>
>Есть некий порог (точное число не скажу) до которого отдельное правило оптимальней
>чем таблица.
>Попробуйте добавить еще таких же тестовых правил и тогда из них сделают
>одно.А сам принцип я правильно понял pfctl -nvf /root/rules -o basic
это именно так? Или я гдето в написании команды ошибся?
>[оверквотинг удален]
>>>
>>>Но так ведь было бы оптимальней:
>>
>>Есть некий порог (точное число не скажу) до которого отдельное правило оптимальней
>>чем таблица.
>>Попробуйте добавить еще таких же тестовых правил и тогда из них сделают
>>одно.
>
>А сам принцип я правильно понял pfctl -nvf /root/rules -o basic
>это именно так? Или я гдето в написании команды ошибся?Ок спасибо большое после добавления 6-й строй строчки все получилось.
pfctl -nvf /root/rules
table <__automatic_0> const { 10.1.2.3 10.3.4.5 10.4.5.6 10.5.6.7 10.1.2.5 10.3.4.6 }
pass inet from <__automatic_0> to any flags S/SA keep state
Правда он я так понял автоматом оптимизирует так как я не добовлял ключ -о