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

Исходное сообщение
"Проблема_не_работает_nat_в_pf"

Отправлено Riskkman , 22-Ноя-10 21:48 
Коллеги, добрый вечер.
Имеется проблема след. плана:
Исходные данные:
Шлюз на OpenBSD_4.7 в качестве firewall используется pf
Шлюз имеет 2 интерфеса - один смотрит в инет, другой в LAN (192.168.1.0/24)
Конфиг pf (pf.conf):
# Define network interfaces
ext_if="xl2"    #ISP
int_if="xl0"    #Internal network interface
ext_ip="XX.YY.ZZ.II"           #IP provided by provider
int_ip="192.168.1.254"         #IP for internal interface
# Define tables
table <office> persist {192.168.1.0/24} #Our office net
# Define group services
web_srv="{www,https,8080,tftp,ftp}"                     #Common internet services

# SET OPTIONS
set skip on lo                                  #Don't check for loopback
set block-policy return                         #Safe block policy (RST-packet)
set loginterface  none                          #Disable packet logging
set ruleset-optimization none
set limit states 20000                          #Max limit entries
# NAT AND REDIRECT RULES
# NAT on each external network interface
match out on $ext_if from <office>,<dmz> to any nat-to $ext_ip        #NAT for office network
# RULES
block all

pass in quick on $int_if inet proto tcp from <office> to \
any port $web_srv no state                                       #Access to web
pass out quick on $ext_if inet proto tcp from $ext_ip to \
any port $web_srv no state                                       #Access to web outgoing

pass in quick on $ext_if inet proto tcp from any to \
<office> no state                                           #Access to web outgoing local
pass out quick on $int_if inet proto tcp from any port $web_srv to \
<office> no state                                           #Access to web outgoing local

Подобные пары правил мне нужны для дальнейшей организации ограничения входящего трафика (полосы) из интернета в локальную сеть по отдельным протоколам (веб, почта и т.д.)
В описанной выше конфигурации не срабатывает NAT (tcpdump на внешнем интерфейсе показывает, что пакеты из локальной сети выходят наружу с адресами из локальной сети)
Если убрать no state, то NAT работает.
Подскажите, в чем может быть проблема?
P.S.
Как можно вернуть забытый пароль на форум? :-(


Содержание

Сообщения в этом обсуждении
"Проблема_не_работает_nat_в_pf"
Отправлено EL , 23-Ноя-10 13:14 
Давно я уже с этим не работал, но насколько я помню в pf nat работает с сохранением состояний, то есть как только есть nat то уже подразумевается keep-state, а ты все это повырубал. Хотя могу и ошибаться.

"Проблема_не_работает_nat_в_pf"
Отправлено Riskkman , 23-Ноя-10 13:57 
> Давно я уже с этим не работал, но насколько я помню в
> pf nat работает с сохранением состояний, то есть как только есть
> nat то уже подразумевается keep-state, а ты все это повырубал. Хотя
> могу и ошибаться.

Дык вот и у меня такая мысль есть... Но в доках ничего про это не написано...
У меня задача - шейпить трафик ОТ провайдера по сервисам (web, почта и т.д.) во внутреннюю сеть. Может есть мысли по этому поводу?


"Проблема_не_работает_nat_в_pf"
Отправлено EL , 23-Ноя-10 15:45 
>> Давно я уже с этим не работал, но насколько я помню в
>> pf nat работает с сохранением состояний, то есть как только есть
>> nat то уже подразумевается keep-state, а ты все это повырубал. Хотя
>> могу и ошибаться.
> Дык вот и у меня такая мысль есть... Но в доках ничего
> про это не написано...

Как раз то что nat сохраняет состояния в доках написано

> У меня задача - шейпить трафик ОТ провайдера по сервисам (web, почта
> и т.д.) во внутреннюю сеть. Может есть мысли по этому поводу?

А для этого средствами pf можно с altq работать. Погугли - примеров куча



"Проблема_не_работает_nat_в_pf"
Отправлено Riskkman , 23-Ноя-10 17:00 
>[оверквотинг удален]
>>> pf nat работает с сохранением состояний, то есть как только есть
>>> nat то уже подразумевается keep-state, а ты все это повырубал. Хотя
>>> могу и ошибаться.
>> Дык вот и у меня такая мысль есть... Но в доках ничего
>> про это не написано...
> Как раз то что nat сохраняет состояния в доках написано
>> У меня задача - шейпить трафик ОТ провайдера по сервисам (web, почта
>> и т.д.) во внутреннюю сеть. Может есть мысли по этому поводу?
> А для этого средствами pf можно с altq работать. Погугли - примеров
> куча

pf можно с altq пробовал в том то вся проблема - там нужно no state делать... А мне на выходе нат нужен :-(