Ключевые слова:ipf, proxy, squid, (найти похожие документы)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Aleksey Fedorov 2:5025/3.7 Wed 16 Feb 28 08:38
Subj : transparent proxy via ipfw
________________________________________________________________________________
Hello Eugene!
At 15 Feb 00 15:50:57, Eugene Vasilchenko wrote to All:
>> > #squid.conf
>> > tcp_outgouing_port ${oip}
>> > tcp_icoming_port ${iip}
>> >
>> Закоментарь это ^^^^^^^^^^^^^
EV> Закоментарил - не работает. Вот ведь какая штука.
EV> ipfw выполняет форвард а сквиду пофигу. Он просто
EV> не отвечает. У меня сквид и ipfw на одно машине живут - может тут
EV> прроблема?
EV> Может у всех у кого получилось proxy и gateway - это разные машины
EV> физически?
EV> Все рекомендации существующие в Инете по внедрению %subj% перечитаны до
EV> дыр и опробованы вживую. Просто мистика.
Забей на ipfw и используй ipf. Он гораздо гибче.
У меня все работает на одной машине.
>===== Start cut [ipnat_rules] =====<
rdr fxp1 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128
map fxp2 192.168.0.0/16 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map fxp2 192.168.0.0/16 -> 0.0.0.0/32 portmap tcp/udp 40000:65000
map fxp2 192.168.0.0/16 -> 0.0.0.0/32
>===== End cut [ipnat_rules] =====<
fxp1 - это внутренняя сетка 192.168.0.0/16
fxp2 - это реальная сетка наружу
squid-2.2, когда собираем, то говорим ./confgure --enable-ipf-transparent
Вот это должно быть в его конфиге:
http_port 3128
icp_port 3130
acl pvt_net src 192.168.0.0/255.255.0.0
http_access allow pvt_net
icp_access allow pvt_net
miss_access allow pvt_net
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Все прекрасно работает.
--- QDed alpha v3.57pl9.1g / FreeBSD / COMPAQ Proliant 1850R * Origin: Воронежсвязьинформ ISP (2:5025/3.7)
все работает с ipfw нужно акуратно писать правило
вот я написал пример
ipfw add 1 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24{локальный сетка} to any 80 out via {внешный интерфейс}
ipfw add 2 divert natd ip from any to any via {внешный интерфейс}
а в squid.conf нужно обязительно следующий строк
==============squid.conf====================
http_port 127.0.0.1:3128 {нужно указать внутренный и локалный интерфейс}
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
============================================