Коллеги, добрый вечер.
Имеется проблема след. плана:
Исходные данные:
Шлюз на 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 allpass 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 outgoingpass 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.
Как можно вернуть забытый пароль на форум? :-(
Давно я уже с этим не работал, но насколько я помню в pf nat работает с сохранением состояний, то есть как только есть nat то уже подразумевается keep-state, а ты все это повырубал. Хотя могу и ошибаться.
> Давно я уже с этим не работал, но насколько я помню в
> pf nat работает с сохранением состояний, то есть как только есть
> nat то уже подразумевается keep-state, а ты все это повырубал. Хотя
> могу и ошибаться.Дык вот и у меня такая мысль есть... Но в доках ничего про это не написано...
У меня задача - шейпить трафик ОТ провайдера по сервисам (web, почта и т.д.) во внутреннюю сеть. Может есть мысли по этому поводу?
>> Давно я уже с этим не работал, но насколько я помню в
>> pf nat работает с сохранением состояний, то есть как только есть
>> nat то уже подразумевается keep-state, а ты все это повырубал. Хотя
>> могу и ошибаться.
> Дык вот и у меня такая мысль есть... Но в доках ничего
> про это не написано...Как раз то что nat сохраняет состояния в доках написано
> У меня задача - шейпить трафик ОТ провайдера по сервисам (web, почта
> и т.д.) во внутреннюю сеть. Может есть мысли по этому поводу?А для этого средствами pf можно с altq работать. Погугли - примеров куча
>[оверквотинг удален]
>>> pf nat работает с сохранением состояний, то есть как только есть
>>> nat то уже подразумевается keep-state, а ты все это повырубал. Хотя
>>> могу и ошибаться.
>> Дык вот и у меня такая мысль есть... Но в доках ничего
>> про это не написано...
> Как раз то что nat сохраняет состояния в доках написано
>> У меня задача - шейпить трафик ОТ провайдера по сервисам (web, почта
>> и т.д.) во внутреннюю сеть. Может есть мысли по этому поводу?
> А для этого средствами pf можно с altq работать. Погугли - примеров
> кучаpf можно с altq пробовал в том то вся проблема - там нужно no state делать... А мне на выходе нат нужен :-(