> Гениально. Продолжаем разговор, возвращаясь к исходному вопросу, мне бы очень хотелось,
> чтобы после фильра пакеты попали на nat. С deny все чудесно,
> одна беда - после попадания на allow ipfw прекращает обработку правил,
> и пакет улетает на внешний интерфейс с приватным адресом. Где же
> мне разместить nat правило ?эээ а попытаться хоть чуточку напряч хотябы одну извилину? открыть наконец дефолтный /etc/rc.firewall, и снова напряч извилины? ах да, два раза напряч за одно строчку это слишком ...
если бы прочитал таки man ipfw, то понял что в ipfw гораздо больше действий чем аллоу и дени. например есть skipto которое не прерывает обработку.
берем мой пример:
> ipfw add 100 allow from 192.168.1.3,192.168.1.4 ...
> ipfw add 200 deny from 192.168.0.0/16 ...
и вуаля!
ipfw add 100 skipto 300 from 192.168.1.3,192.168.1.4 ...
ipfw add 200 deny from 192.168.0.0/16 ...
ipfw add 300 nat ...
или вообще цепочки:
ipfw add 10 skipto 1000 from any to any in via $oif
ipfw add 20 skipto 2000 from any to any out via $oif
ipfw add 30 skipto 3000 from any to any in via $iif
ipfw add 40 skipto 40000 from any to any out via $iif
....
ipfw add 1000 count from any to any // IN VIA OIf
... some rules ...
ipfw nat ...
... some rules ...
ipfw deny from any to any
ipfw add 2000 count from any to any // OUT VIA OIf
... some rules ...
ipfw nat ...
... some rules ...
ipfw deny from any to any
ipfw add 3000 count from any to any // IN VIA IIf
... some rules ...
ipfw deny from any to any
ipfw add 4000 count from any to any // OUT VIA IIf
... some rules ...
ipfw deny from any to any
iif - internal interface
oif - outer inteface