URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 1801
[ Назад ]

Исходное сообщение
"Не поднимается прозрачный прокси"

Отправлено sgy , 04-Фев-04 17:17 
Система Freebsd 5.2, squid 2.5.4_7
собран с опцией --enable-ipf-transparent
В squid.conf прописал
http_port 3128
        httpd_accel_host virtual
        httpd_accel_port 80
        httpd_accel_with_proxy on
        httpd_accel_uses_host_header on
на squid запросы перенаправляет роутер меняет dst на $squid port 80 -> 3128
они приходят на порт squid 3128 а он вместо того что бы прозрачно пробрасывать пытается соедениться с хостом отправителем от своего адреса,
шлет ему SYN тот в свою очередь соединение обрывает RST так как не соединялся  с хостом squida а ждет соединения с WWW.....
То есть squid не работает как прозрачный прокси. Как просто прокси он нормально работает, т.е когда в браузере прописываешь его как прокси работает на ура.Пробовал перенаправлять запросы с ipfw fwd 127.0.0.1,3128 ... тот же еффект.Если прокси проставить как шлюз и форвардить 80 -> 3128  работает.Но нужно что бы на него заворачивал внешний роутер
Помогите найти грабли,

Содержание

Сообщения в этом обсуждении
"Не поднимается прозрачный прокси"
Отправлено ipmanyak , 04-Фев-04 17:46 
цитирую доку :
Принудительное проксирование в FreeBSD
Для принудительного проксирования, на прокси-сервере следует ввести правила Firewall:
Для FreeBSD:
01000 fwd 127.0.0.1,3128 tcp from 10.128.0.0/16 to any 80,8080,8101

В squid.conf нужно добавить:

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
При этом принудительное проксирование будет работать, если ПРОКСИ-сервер стоит в качестве маршрутизатора. Если же нет, то следует на маршрутизаторе "развернуть" Веб-трафик на ПРОКСИ-сервер. Например, так:

ipfw add 10 fwd 195.131.31.3 tcp from 10.128.0.0/16 to any 80,8080 out xmit lnc0

(195.131.31.3 - адрес ПРОКСИ-сервера)


"Не поднимается прозрачный прокси"
Отправлено sgy , 04-Фев-04 19:08 
>цитирую доку :
>Принудительное проксирование в FreeBSD
>Для принудительного проксирования, на прокси-сервере следует ввести правила Firewall:
>Для FreeBSD:
>01000 fwd 127.0.0.1,3128 tcp from 10.128.0.0/16 to any 80,8080,8101
>
>В squid.conf нужно добавить:
>
>httpd_accel_host virtual
>httpd_accel_port 80
>httpd_accel_with_proxy on
>httpd_accel_uses_host_header on
>При этом принудительное проксирование будет работать, если ПРОКСИ-сервер стоит в качестве маршрутизатора.
>Если же нет, то следует на маршрутизаторе "развернуть" Веб-трафик на ПРОКСИ-сервер.
>Например, так:
>
>ipfw add 10 fwd 195.131.31.3 tcp from 10.128.0.0/16 to any 80,8080 out
>xmit lnc0
>
>(195.131.31.3 - адрес ПРОКСИ-сервера)

Трафик разворачивается на маршрутизаторе путем подмены dst host и dst port
на адрес прокси и порта прокси. Если заворачивать только меняя dst host
оставляя порт то прокси не примет на 80 порт ничего т.к этот порт у него не открыт и ipfw add fwd 127.0.0.1,3128 from any to any 80 in не поможет