настраиваю ipfilter на freebsd 6.2, дефолтное правило allow all (нужно блок олл, но пересобирать ядро - эт самый самый последний рассматриваемый вариант)
пишу такой конфиг:
-------ipf.rules------------
pass out quick on lo0 all
pass in quick on lo0 all#local net traffic
pass out quick on rl0 all
pass in quick on rl0 all#icmp
pass out quick proto icmp from any to any
pass in quick proto icmp from any to any#local->internet
pass out quick on rl1 proto tcp from 192.168.70.128/26 to any keep state
pass out quick on rl1 proto udp from 192.168.70.128/26 to any keep state
block in quick on rl1 from any to 192.168.70.128/26#gate->internet
pass out quick on rl1 proto tcp from {ext_ip} to any keep state
pass out quick on rl1 proto udp from {ext_ip} to any keep stateblock out on rl1 from any to any
block in on rl1 from any to any
---------ipnat.rules-------------------
rdr rl0 0.0.0.0/0 port 80 -> 192.168.70.138 port 3128
rdr rl0 0.0.0.0/0 port 8080 -> 192.168.70.138 port 3128
rdr rl0 0.0.0.0/0 port 8081 -> 192.168.70.138 port 3128map rl1 192.168.70.138/26 -> {ext_ip} proxy port ftp ftp/tcp
map rl1 192.168.70.138/26 -> {ext_ip}
---------------------------------------где rl0 - внутренний интерфейс, rl1 - внешний. точно такой же конфиг (только без последних двух правил, т.к. дефолтное блок олл) на другой машине работает отлично, а этот - почему-то нет: на фтп не пускает, на какие-либо порты кроме http тоже. без последних двух правил - пускает, но тогда и смысла в этом фаере нет, ибо дефолт правило аллоу_алл.
ipfstat -ih показывает что при коннекте на фтп срабатывают именно блок правила, хотя должны срабатывать пасс от локалки или гейта...
ппрошу помощи, в чем же фишка?
Простейший вариант - включи журналирование опцией log и посмотри какое правило блокирует и коректируй правила.
>Простейший вариант - включи журналирование опцией log и посмотри какое правило блокирует
>и коректируй правила.дык ipfstat -ih и так показывает, какое правило срабатывает, я про это написал - срабатывает последнее правило block. но почему оно срабатывает - непонятно, по логике сессия с фтп сервером должна попадать под правило pass out quick on rl1 from {ext_ip} to any keep state - т.к. на шлюзе ipnat проксирует фтп соединения. и исходящий пакет-то спокойно уходит на фтп сервак, а вот ответ уже блокируется :(
и еще раз повторю - на другой машине тот же конфиг (кроме последних двух правил) - работает без проблем. в чем же разница между default to block и добвлением правил block in any/ block out any в конец?