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

Исходное сообщение
"openbsd 4.6 + pf + списки доступа"

Отправлено varag , 17-Мрт-10 20:02 
     Столкнулся с проблемой разграничения доступа на 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>.
Где-то я туплю ?


Содержание

Сообщения в этом обсуждении
"openbsd 4.6 + pf + списки доступа"
Отправлено reader , 17-Мрт-10 21:01 
>[оверквотинг удален]
>
>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, на входящем интерфейсе.



"openbsd 4.6 + pf + списки доступа"
Отправлено varag , 18-Мрт-10 14:35 
>[оверквотинг удален]
>> Создаю еще один список 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, на входящем интерфейсе.

а не могли бы привести пример такого правила ?


"openbsd 4.6 + pf + списки доступа"
Отправлено reader , 18-Мрт-10 16:01 
>[оверквотинг удален]
>>>и правило для него:
>>>
>>>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


"openbsd 4.6 + pf + списки доступа"
Отправлено varag , 18-Мрт-10 17:11 
>[оверквотинг удален]
>>а не могли бы привести пример такого правила ?
>
>так же как и у вас
>
>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

Спасибо. Попробую