>[оверквотинг удален]
> Вот такая схема мне очень понятна.
> Только один момент остался немного не ясен, опция one-pass
> Если она выключена, то пакет после маскирования в нат снова
> попадает на цепочку ipfw и каким образом при
> повторном прохождении этой цепочки он снова не попадает в правило что все
> заруливается в nat, а если не попадает, то какое правило после
> нат выпускает наружу его. Вот в моей цепочке правида pass
> all from any to any нет в конце, между тем все
> рабоает очень корректно, по умолчанию сам ipfw правилом 65355 ставит all
> deny. Как же после нат пакет попадает во внешку?все велосипеды давным-давно изобретены, как впрочем и само колесо
но практически каждый начинающий "гонщик" начинает со своего "самоката" )))
ну в смысле - есть готовые несложные примеры ipfw правил
самые типичные и распространённые смотрим в /etc/rc.firewall
Определите тип брандмауэра в /etc/rc.conf. Допустимые значения:
open - открытый, разрешает входящий трафик любому хосту
client - клиент, будет защищать именно эту машину
simple - простой, будет защищать всю сеть
closed - закрытый, полностью отключает IP-сервисы, кроме интерфейса lo0
workstation - защищает только эту машину с помощью учёта состояния соединений. Смотрите ниже используемые переменные для rc.conf
UNKNOWN - неизвестный, полностью отключает загрузку правил брандмауэра
filename - загружает правила из указанного файла (требуется полный путь)Для "клиент" и "простой" примеры ниже должны быть настроены соответствующим образом.
разумеется, если у вас не тривиальный случай, не типичный, а "атипичный )))"
вам это не подойдёт, но как за основу вполне
по поводу one_pass
опять же обратимся к первоисточнику
info ipfw | grep -A4 "net.inet.ip.fw.one_pass: 1"
"если установлено ... после выполнения действия, пакет повторно возвращается в брандмауэр
и обрабатывается последующим правилом"
такие дела