LINUX.ORG.RU
ФорумAdmin

Прозрачный прокси!(squid)


0

0

У нас выделка в инет через Шлюз(адреса у нас локальныё 192.168.Х.Х поэтому на шлюзе выполняется ещё и маскеровка) под управлением Линук (ред хат). За каждым юзером я считаю трафик. Все жалуются типа когда по вебу лазиеш трафик улетает быстро(оно и понятно выделка 2 Мб) ну решил я поставить прозрачную проксю - ме надо чтобы входящий трафик кэшировался с одной стороны, но с другой стороны надо чтобы сам прокся в инет не лазил ))) тоесть надо чтобы прокся смотрела если это у нее, если нету то пропускала запрос (тоесть просто маршрутизировала пакет), а если есть то кидала страницу, но не от своего имени а от имени адресата. Но в таком случае как она будет наберать кэш я так и не понял.

Кинте адреса ге мона про это все почитать))) А то я находил где все в краже или под БЗДУ.

Зарание ПаСиБкИ!!!


На сколько я знаю, прозрачный прокси это немного другое......просто запросы на http порт пересылаются на сквидовский автоматом и юзверю не надо говорить что мол прокся работает и соответсвенно не надо настоек в браузерах делать. Только в таком режиме Сквид не потдерживает ауторизацию по пользователям....... .

anonymous
()

такого небывает! максимум можно отдельным юзерам дать работать только из кэша, но на практике они не смогут работать, т.к. эффективность прокси около 30-40% и постоянно снижается (благодаря русским апачам, баннерам и сайтам с динамическим контентом)

можешь урезать им скорость! :-)))
ну или вырезать баннеры...

только это все малоэффективно и отстойно!

поставь NT + Winroute он кладет на Expired date! эффективность кэша до 80%, правда случайно можно попасть в чужую почту где-нибудь на яндексе или невзначай прочитать позапрошлогодние новости на лента.ру и т.д. :-))

сквид, наверное, тоже можно так изуродовать...

desperado
()

В процессе участвуют маршрутизатор, Linux и Squid:

1. http-пакеты, бегущие мимо, должн отлавливаться маршрутизаторо переадресовываться на proxy-сервер. Как понять, что это http-пакет? Будем считать, что все пакеты, направленные на tcp/80, являются запросами на HTTP. Возникал вопрос: а может кешировать и другие порты? После обработки статистики (большой объем - 422MB, в ситуации с добровольным использованием proxy) выяснилось, что всего обращений было 3120260, из них HTTP - 92%. Из них на нестандартные порты - 2.3% (3128 - 0.05%, 8000 - 0.09%, 8001 - 0.13%, 8080 - 1.06%, 8081 - 0.15%, 8100 - 0.11%, 8101 - 0.46%). Я не вижу смысла бороться за 1%, разве что найду готовое решение ;) * Proxy-сервер уже стоит на пути этих пакетов (например, squid установлен на маршрутизаторе или firewall). * Cisco отлавливает такие пакеты и с помощью route-map перенаправляет их на proxy-сервер. 2. ОС proxy-сервера должна принимать эти пакеты, как родные, и перенаправлять к squid * linux 2.2. 1. конфигурация ядра: CONFIG_EXPERIMENTAL=y # включен и так CONFIG_NET=y # само собой CONFIG_FIREWALL=y # чтобы иметь возможность тонко управлять маршрутизацией (несовместим с FAST_SWITCHING) # CONFIG_IP_ALIAS is not set # у меня включено и вроде работает (при нехватке ОП зависает драйвер eth0, если ALIAS выключить, то прикладная программа) CONFIG_INET=y # включен и так # CONFIG_IP_MULTICAST is not set # а почему нельзя? CONFIG_IP_FIREWALL=y # чтобы иметь возможность тонко управлять IP-маршрутизацией CONFIG_IP_MASQUERADE=y # а необходимо ли это для transparent proxy? CONFIG_IP_TRANSPARENT_PROXY=y CONFIG_IP_ROUTER=y # необязательно, но может ускорить обработку пакетов 2. при загрузке включать ip_forward, ip_always_defrag (вставить в загрузочные скрипты: /etc/rc.d/init.d/network) echo 1 > /proc/sys/net/ipv4/ip_forward # ядро д.б. сконфигурировано поддержкой /proc и sysctl) echo 1 > /proc/sys/net/ipv4/ip_always_defrag # в ядре 2.2.12 указывается во время конфигурации 3. ipchains (ipfwadm в ядре 2.2 работать не будет) * ipchains -A input -p TCP -d 127.0.0.1/32 www -j ACCEPT * ipchains -A input -p TCP -d адрес-хоста/32 www -j ACCEPT * ipchains -A input -p TCP -d 0/0 www -j REDIRECT 3128 * дополнительные правила для firewall и др. 3. squid д.б. скомпилирован так, чтобы он принимал эти пакеты, как родные. * linux 2.2 и squid 2.2. Происходит само собой. 4. squid д.б. сконфигурирован так, чтобы обрабатывать эти пакеты соответствующим образом. * http_port 3128 # redirect д.б. на этот порт * httpd_accel_host virtual # имитирует акселератор http-сервера, но не совсе нормально * httpd_accel_port 80 # а если перенаправляли не только 80 порт? * httpd_accel_with_proxy on # иначе при работе в режиме акселератора отключается кеширование * httpd_accel_uses_host_header on # иначе виртуальные домены будут неправильно кешироваться (см. замечание про безопасность)

Проблема. дырка в firewall: запрос приходит на прокси-сервер, который от своего имени (уже изнутри) лезет куда не надо.

Ссылки:

* FAQ * The Compleat (sic) Idiot's Guide to Transparent Proxy with Linux and Squid

///////////////////////////ЭТО Я НАШЕЛ НА ОДНОМ ИЗ САЙТОВ//////////// ЗНАЧИТ ТАК СДЕЛАТЬ МОЖНО -- НО ЗДЕСЬ МАЛО ПОДРОБНОСТЕЙ!!!!!!!!

ns
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.