Столкнулся с проблемой разграничения доступа на pf.
Суть в следующем:есть список клиентов client.conf
ext_if="xl0"
int_if="rl0"table <clients> persist file "/etc/clients.conf"
разрешаю нат только для <clients>
nat on $ext_if from <clients> -> $ext_ifТеперь хочу разграничить доступ к различным url и протоколам
pass out quick on $ext_if proto tcp from <clients> to any port www modulate state flags S/SA queue www_out ( это правило работает)
Создаю еще один список work:
table <work> persist file "/etc/work.conf"
и правило для него:pass out quick on $ext_if proto tcp from <work> to any port 22 modulate state flags S/SA queue ssh_out
и доступ к ssh получают все , кто прописан в table <clients>. Потому что натится таблица
<clients>.
Где-то я туплю ?
>[оверквотинг удален]
>
>pass out quick on $ext_if proto tcp from <clients> to any port www modulate state flags S/SA queue www_out ( это правило работает)
> Создаю еще один список work:
>table <work> persist file "/etc/work.conf"
>и правило для него:
>
>pass out quick on $ext_if proto tcp from <work> to any port 22 modulate state flags S/SA queue ssh_out
> и доступ к ssh получают все , кто прописан в table <clients>. Потому что натится таблица
><clients>.
>Где-то я туплю ?это делать нужно до nat, на входящем интерфейсе.
>[оверквотинг удален]
>> Создаю еще один список work:
>>table <work> persist file "/etc/work.conf"
>>и правило для него:
>>
>>pass out quick on $ext_if proto tcp from <work> to any port 22 modulate state flags S/SA queue ssh_out
>> и доступ к ssh получают все , кто прописан в table <clients>. Потому что натится таблица
>><clients>.
>>Где-то я туплю ?
>
>это делать нужно до nat, на входящем интерфейсе.а не могли бы привести пример такого правила ?
>[оверквотинг удален]
>>>и правило для него:
>>>
>>>pass out quick on $ext_if proto tcp from <work> to any port 22 modulate state flags S/SA queue ssh_out
>>> и доступ к ssh получают все , кто прописан в table <clients>. Потому что натится таблица
>>><clients>.
>>>Где-то я туплю ?
>>
>>это делать нужно до nat, на входящем интерфейсе.
>
>а не могли бы привести пример такого правила ?так же как и у вас
pass in on $int_if proto tcp from <work> to any port 22
pass in on $int_if proto tcp from <clients> to any port wwwесли это просто шлюз для локалки, то натить лучше все, что бы провайдер не возмущался про адреса от вас.
очереди на $ext_if делайте, только без проверка from <...> т.к. адресом источника будет ip = $ext_if
>[оверквотинг удален]
>>а не могли бы привести пример такого правила ?
>
>так же как и у вас
>
>pass in on $int_if proto tcp from <work> to any port 22
>pass in on $int_if proto tcp from <clients> to any port www
>
>если это просто шлюз для локалки, то натить лучше все, что бы
>провайдер не возмущался про адреса от вас.
>очереди на $ext_if делайте, только без проверка from <...> т.к. адресом источника будет ip = $ext_ifСпасибо. Попробую