Hi all.
Такие дела, значит. есть ipfw, ipnat и squid? все на одном сервере.1. squid.conf
http_port 192.168.0.1:8080
http_port 127.0.0.1:8080 transparent
2. ipfw.rules
${ipfw} add forward 127.0.0.1,8080 tcp from ${int_net} to any 80 in via ${int} # для HTTP заворачиваем в squid
${ipfw} add allow tcp from ${int_net} to any 443 in recv ${int} # HTTPS наружу через ipnat
3. ipnat.rules
map ext_nic from 192.168.0.0/24 to any -> external_ip portmap tcp 20201:25000
так вот, пакеты, идущие по HTTP, форвардятся нормально, но в сквид не попадают!!!... то есть браузер страницы не грузит, в логах сквида пусто...
в чем грабли???....
З.Ы.... есть внутренний сайт, в отдельной подсети (например, ${web}=192.168.1.2), есть правило ipfw, пропускающее пакеты на него, минуя squid:
${ipfw} add allow tcp from ${int_net} to ${web} 80 via ${int_nic} setup keep-state
${ipfw} add allow tcp from ${int_net} to ${web} 443 via ${int_nic} setup keep-state
но tcpdump ПОКАЗЫВАЕТ, что пакеты на 192.168.1.2 нататся и выходят наружу уже с публичным адресом!!!
Так что отрабатывает первым - ipnat или ipfw? как они пакеты обрабатывают?...