Страница 1 из 1

И снова PF и PBR

Добавлено: 2010-04-28 19:46:54
Yanis
Имеется pf, из локалки он работает правильно - маршруты меняются для сетей из таблицы <nursat>
Однако они не меняются, если источником трафика является сам комп с этим файерволом.
Шлюз по умолчанию установлен через карту $ext_xcom

Самое нижнее правило писал и так и сяк, запутался совсем.
Или м.б. там должно быть больше одного правила?

Код: Выделить всё

table <nursat> persist file "/etc/pf.nursat"

set block-policy drop
set skip on lo0
scrub in all fragment reassemble

int_if="re0"
ext_nursat="rl0"
ext_xcom="re1"

nat on $ext_nursat from $int_if:network to any -> $ext_nursat
nat on $ext_xcom from $int_if:network to any -> ($ext_xcom)

pass in quick on $int_if from $int_if:network to $int_if:network

block in on $ext_nursat
block in on $ext_xcom

pass in on $ext_xcom inet proto tcp to port 80 flags S/SA keep state
pass in on $ext_xcom inet proto tcp to port 21 flags S/SA keep state
pass in on $ext_xcom inet proto tcp to port 20 flags S/SA keep state
pass in on $ext_xcom proto tcp from any to any port > 49151 keep state

pass in inet proto tcp to port 22 flags S/SA keep state

pass in on $int_if from $int_if:network to any keep state

pass in on $int_if route-to ($ext_nursat 1.2.3.3) inet from $int_if:network to <nursat> flags S/SA keep state
pass in on $ext_nursat reply-to ($ext_nursat 1.2.3.3) inet from any to 1.2.3.4 flags S/SA keep state

pass out all
# Вот тут должно стоять что-то вроде
#pass out on $ext_xcom route-to ($ext_nursat 1.2.3.3) inet from any to <nursat> flags S/SA keep state

Re: И снова PF и PBR

Добавлено: 2010-04-28 20:00:03
Yanis
Т.е. когда ставлю
pass out ... route-to ...
С сервера пинги на хосты из <nursat> никуда не проходят.

Re: И снова PF и PBR

Добавлено: 2010-04-28 21:50:48
Yanis
Уффф, победил, спасибо тспдампу :)
Не хватало строки в НАТе, и та строчка приобрела вид

Код: Выделить всё

nat on $ext_xcom from self to <nursat> -> 1.2.3.4
...
pass out route-to ($ext_nursat 1.2.3.3) inet from self to <nursat> flags S/SA keep state