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

Исходное сообщение
"Squid3 и прозрачное проксирование"

Отправлено EuGen , 21-Мрт-08 18:16 
Здравствуйте!
Столкнулся с проблемой создания прозрачного прокси сервера на squid3
В iptables стоит стандартное правило:

$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128

Это перенаправляет трафик на 80-й порт к сквиду.
В сквиде указано так:

http_port 3128 transparent

В результате если не указывать настройки прокси-сервера явно, в браузере получаем ответ:

Invalid URL

(полный текст ошибки не привожу).
Пробовал объявлять прокси-сервер в squid.conf так:

http_port 192.168.2.63:3128 transparent

и так:

http_port 127.0.0.1:3128 transparent

Результат был один и тот же. Во всех результатах поиска в гугл видно, что правильный вариант - первый, но он почему-то не работает. Значит ли это, что нужно переходить на squid 2.6 ??


Содержание

Сообщения в этом обсуждении
"Squid3 и прозрачное проксирование"
Отправлено reader , 21-Мрт-08 18:32 
>[оверквотинг удален]
>
>http_port 192.168.2.63:3128 transparent
>
>и так:
>
>http_port 127.0.0.1:3128 transparent
>
>Результат был один и тот же. Во всех результатах поиска в гугл
>видно, что правильный вариант - первый, но он почему-то не работает.
>Значит ли это, что нужно переходить на squid 2.6 ??

А dns и шлюз у клиента прописан?


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 22-Мрт-08 17:12 
>[оверквотинг удален]
>>
>>и так:
>>
>>http_port 127.0.0.1:3128 transparent
>>
>>Результат был один и тот же. Во всех результатах поиска в гугл
>>видно, что правильный вариант - первый, но он почему-то не работает.
>>Значит ли это, что нужно переходить на squid 2.6 ??
>
>А dns и шлюз у клиента прописан?

dns и default gateway выдаются по dhcp (dhcpd, он крутится там же, где и squid). С dns и шлюзом проблем нет.


"Squid3 и прозрачное проксирование"
Отправлено reader , 23-Мрт-08 11:31 
>[оверквотинг удален]
>>>http_port 127.0.0.1:3128 transparent
>>>
>>>Результат был один и тот же. Во всех результатах поиска в гугл
>>>видно, что правильный вариант - первый, но он почему-то не работает.
>>>Значит ли это, что нужно переходить на squid 2.6 ??
>>
>>А dns и шлюз у клиента прописан?
>
>dns и default gateway выдаются по dhcp (dhcpd, он крутится там же,
>где и squid). С dns и шлюзом проблем нет.

а если клиентов попробывать выпустить не через squid, а через NAT - работает?
у меня squid3 на debian 4.0 работает в прозрачном режиме нормально.


"Squid3 и прозрачное проксирование"
Отправлено kaa , 24-Мрт-08 10:16 
>[оверквотинг удален]
>>>>Значит ли это, что нужно переходить на squid 2.6 ??
>>>
>>>А dns и шлюз у клиента прописан?
>>
>>dns и default gateway выдаются по dhcp (dhcpd, он крутится там же,
>>где и squid). С dns и шлюзом проблем нет.
>
>а если клиентов попробывать выпустить не через squid, а через NAT -
>работает?
>у меня squid3 на debian 4.0 работает в прозрачном режиме нормально.

У меня подобная проблема при запросах к веб-серверу, находящихся на той-же машине, что и сам прокси. Всё остальное (урлы вне сервера) нормально работает. До этого стоял 2.6 - всё было без проблем при той-же конфигурации (http_port 3128 transparent и iptables ... REDIRECT). Обидно :(


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 24-Мрт-08 10:59 
>[оверквотинг удален]
>>>где и squid). С dns и шлюзом проблем нет.
>>
>>а если клиентов попробывать выпустить не через squid, а через NAT -
>>работает?
>>у меня squid3 на debian 4.0 работает в прозрачном режиме нормально.
>
>У меня подобная проблема при запросах к веб-серверу, находящихся на той-же машине,
>что и сам прокси. Всё остальное (урлы вне сервера) нормально работает.
>До этого стоял 2.6 - всё было без проблем при той-же
>конфигурации (http_port 3128 transparent и iptables ... REDIRECT). Обидно :(

У меня Slackware 12. Без сквида все работает (если маршрутизацию оставить для ipv4_forward а правила - для iptables), проблем с интернетом нет.
В логах сквида я вижу, что он делает что-то вроде:

1205860032.074      1 192.168.2.128 NONE/400 1751 GET /index.php - NONE/- text/html

То есть по какой-то причине он "обрезает" адрес самого веб-узла, оставляя только запрашиваемую на нем страницу.


"Squid3 и прозрачное проксирование"
Отправлено reader , 24-Мрт-08 13:31 
>[оверквотинг удален]
>
>У меня Slackware 12. Без сквида все работает (если маршрутизацию оставить для
>ipv4_forward а правила - для iptables), проблем с интернетом нет.
>В логах сквида я вижу, что он делает что-то вроде:
>
>1205860032.074      1 192.168.2.128 NONE/400 1751 GET /index.php
>- NONE/- text/html
>
>То есть по какой-то причине он "обрезает" адрес самого веб-узла, оставляя только
>запрашиваемую на нем страницу.

может параметры сборки squid?


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 24-Мрт-08 13:38 
>[оверквотинг удален]
>>ipv4_forward а правила - для iptables), проблем с интернетом нет.
>>В логах сквида я вижу, что он делает что-то вроде:
>>
>>1205860032.074      1 192.168.2.128 NONE/400 1751 GET /index.php
>>- NONE/- text/html
>>
>>То есть по какой-то причине он "обрезает" адрес самого веб-узла, оставляя только
>>запрашиваемую на нем страницу.
>
>может параметры сборки squid?

А нужны особые параметры? Нет, гугл мне сказал, что все по-умолчанию должно сработать. Если Вы знаете, что они нужны, буду благодарен (хотя пересборка равнозначна переходу на 2.6 по усилиям так-то ..)


"Squid3 и прозрачное проксирование"
Отправлено reader , 24-Мрт-08 13:54 
>[оверквотинг удален]
>>>- NONE/- text/html
>>>
>>>То есть по какой-то причине он "обрезает" адрес самого веб-узла, оставляя только
>>>запрашиваемую на нем страницу.
>>
>>может параметры сборки squid?
>
>А нужны особые параметры? Нет, гугл мне сказал, что все по-умолчанию должно
>сработать. Если Вы знаете, что они нужны, буду благодарен (хотя пересборка
>равнозначна переходу на 2.6 по усилиям так-то ..)

squid3 -v
Squid Cache: Version 3.0.PRE5
configure options: '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--disable-maintainer-mode' '--disable-dependency-tracking' '--srcdir=.' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-cppunit-basedir=/usr' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,coss' '--enable-diskio=AIO,Blocking,DiskDaemon,DiskThreads' '--enable-removal-policies=lru,heap' '--enable-poll' '--enable-digest-pools' '--enable-snmp' '--enable-htcp' '--enable-select' '--enable-carp' '--enable-large-files' '--enable-underscores' '--enable-auth=basic,digest,ntlm' '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,getpwnam,multi-domain-NTLM' '--enable-ntlm-auth-helpers=SMB' '--enable-digest-auth-helpers=ldap,password' '--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--with-filedescriptors=4096' '--enable-epoll' '--enable-linux-netfilter' 'CC=cc' 'CFLAGS=-g -Wall -O2' 'CPPFLAGS=' 'CXXFLAGS=-g -Wall -O2' 'CXX=g++' 'LDFLAGS=' 'build_alias=i486-linux-gnu'


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 24-Мрт-08 15:23 
>[оверквотинг удален]
>>сработать. Если Вы знаете, что они нужны, буду благодарен (хотя пересборка
>>равнозначна переходу на 2.6 по усилиям так-то ..)
>
>squid3 -v
>Squid Cache: Version 3.0.PRE5
>configure options: '--build=i486-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--disable-maintainer-mode' '--disable-dependency-tracking'
>'--srcdir=.' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--with-cppunit-basedir=/usr' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,coss' '--enable-diskio=AIO,Blocking,DiskDaemon,DiskThreads' '--enable-removal-policies=lru,heap' '--enable-poll'
>'--enable-digest-pools' '--enable-snmp' '--enable-htcp' '--enable-select' '--enable-carp' '--enable-large-files' '--enable-underscores' '--enable-auth=basic,digest,ntlm' '--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SASL,SMB,YP,getpwnam,multi-domain-NTLM' '--enable-ntlm-auth-helpers=SMB' '--enable-digest-auth-helpers=ldap,password'
>'--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group' '--with-filedescriptors=4096' '--enable-epoll' '--enable-linux-netfilter' 'CC=cc' 'CFLAGS=-g -Wall -O2' 'CPPFLAGS=' 'CXXFLAGS=-g -Wall
>-O2' 'CXX=g++' 'LDFLAGS=' 'build_alias=i486-linux-gnu'

У меня:

Squid Cache: Version 3.0.STABLE1
configure options:  '--prefix=/usr/local/squid'


"Squid3 и прозрачное проксирование"
Отправлено reader , 24-Мрт-08 15:35 
>У меня:
>
>Squid Cache: Version 3.0.STABLE1
>configure options:  '--prefix=/usr/local/squid'

--enable-linux-netfilter -? , помоему это нужно для прозрачного прокси


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 24-Мрт-08 15:49 
>>У меня:
>>
>>Squid Cache: Version 3.0.STABLE1
>>configure options:  '--prefix=/usr/local/squid'
>
>--enable-linux-netfilter -? , помоему это нужно для прозрачного прокси

Не уверен. Например, тут:

http://www.opennet.me/openforum/vsluhforumID1/27966.html

сказано, что это для Linux 2.4 и для поддержки конкретных пакетов такие ключи нужны. У меня же ядро 2.6. Но все равно спасибо; наверное проще оставить squid3 в покое и откатиться к 2.6


"Squid3 и прозрачное проксирование"
Отправлено reader , 24-Мрт-08 13:32 
>[оверквотинг удален]
>>>где и squid). С dns и шлюзом проблем нет.
>>
>>а если клиентов попробывать выпустить не через squid, а через NAT -
>>работает?
>>у меня squid3 на debian 4.0 работает в прозрачном режиме нормально.
>
>У меня подобная проблема при запросах к веб-серверу, находящихся на той-же машине,
>что и сам прокси. Всё остальное (урлы вне сервера) нормально работает.
>До этого стоял 2.6 - всё было без проблем при той-же
>конфигурации (http_port 3128 transparent и iptables ... REDIRECT). Обидно :(

а на этот веб-сервер нужно обязательно через squid пускать?


"Squid3 и прозрачное проксирование"
Отправлено kaa , 24-Мрт-08 23:02 

>>>у меня squid3 на debian 4.0 работает в прозрачном режиме нормально.
>>
>>У меня подобная проблема при запросах к веб-серверу, находящихся на той-же машине,
>>что и сам прокси. Всё остальное (урлы вне сервера) нормально работает.
>>До этого стоял 2.6 - всё было без проблем при той-же
>>конфигурации (http_port 3128 transparent и iptables ... REDIRECT). Обидно :(
>
>а на этот веб-сервер нужно обязательно через squid пускать?

нет конечно. Можно и не через сквид. Можно вообще клиентам сказать, что интернет - зло, а браузер - дверь в его обитель. Но почему нужно прилагать какие-то усилия (настраивать у клиента работу через прокси для конкретных сайтов) если специально для избежания этого придумали transparent proxy ?

А по поводу "у меня всё работает" - проверяли на сайтах, которые имеют тот-же адрес, что и прокси? Потому как на остальных и у меня работает. А на этих сквид, похоже, просто игнорирует хидер "host".


"Squid3 и прозрачное проксирование"
Отправлено reader , 25-Мрт-08 11:24 
>
>>>>у меня squid3 на debian 4.0 работает в прозрачном режиме нормально.
>>>
>>>У меня подобная проблема при запросах к веб-серверу, находящихся на той-же машине,
>>>что и сам прокси. Всё остальное (урлы вне сервера) нормально работает.
>>>До этого стоял 2.6 - всё было без проблем при той-же
>>>конфигурации (http_port 3128 transparent и iptables ... REDIRECT). Обидно :(
>>
>>а на этот веб-сервер нужно обязательно через squid пускать?
>

1
>нет конечно. Можно и не через сквид. Можно вообще клиентам сказать, что
>интернет - зло, а браузер - дверь в его обитель. Но

вы занимаетесь администрированием или сочинением страшилок?

>почему нужно прилагать какие-то усилия (настраивать у клиента работу через прокси
>для конкретных сайтов) если специально для избежания этого придумали transparent proxy
>?

сформулирую по другому.
Действительно ли оправдана работа с вашим локальным, по отношения к squid, веб-сервером через прокси? При transparent proxy пустить клиентов к нему мимо squid не трудно и у клиентов делать ни чего не потребуется.
>
>А по поводу "у меня всё работает" - проверяли на сайтах, которые

по поводу " у меня работает " - это ответ на вопрос работает ли squid3 как прозрачный прокси или еще не доделали.

>имеют тот-же адрес, что и прокси? Потому как на остальных и
>у меня работает. А на этих сквид, похоже, просто игнорирует хидер
>"host".

это не проверял, на шлюзе с squid3 веб-сервера нет и подымать его, что бы потом читать ваши сочинения, не собираюсь.


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 25-Мрт-08 20:26 
>[оверквотинг удален]
>
>по поводу " у меня работает " - это ответ на вопрос
>работает ли squid3 как прозрачный прокси или еще не доделали.
>
>>имеют тот-же адрес, что и прокси? Потому как на остальных и
>>у меня работает. А на этих сквид, похоже, просто игнорирует хидер
>>"host".
>
>это не проверял, на шлюзе с squid3 веб-сервера нет и подымать его,
>что бы потом читать ваши сочинения, не собираюсь.

Оставил в покое squid3, собрал squid2.6 stable19, все работает как надо. Обидно. Хотелось поюзать фичи 3-го сквида..


"Squid3 и прозрачное проксирование"
Отправлено AMur , 31-Мрт-08 09:33 
>>это не проверял, на шлюзе с squid3 веб-сервера нет и подымать его,
>>что бы потом читать ваши сочинения, не собираюсь.
>
>Оставил в покое squid3, собрал squid2.6 stable19, все работает как надо. Обидно.
>Хотелось поюзать фичи 3-го сквида..

Та же самая фигня.
Squid Cache: Version 3.0.STABLE2
FreeBSD: 6.0-RELEASE
До перехода на третий свид все прекрасно работало на squid2.6 stable19...
Прозрачное проксирование сделано через PF.
После зперезода на третий сквид полезли ошибки типа "Invalid URL"
Сквид собирался с опцией --enable-pf-transparent.
Уже потеряв веру в доброе, вечное, чистое  - пересобрал сквид,
заменив PF на IPFW (--enable-ipfw-transparent).
Заработало сразу и без проблем..
Как то это все нелогично выглядит.


"Squid3 и прозрачное проксирование"
Отправлено EuGen , 31-Мрт-08 11:28 
>[оверквотинг удален]
>Squid Cache: Version 3.0.STABLE2
>FreeBSD: 6.0-RELEASE
>До перехода на третий свид все прекрасно работало на squid2.6 stable19...
>Прозрачное проксирование сделано через PF.
>После зперезода на третий сквид полезли ошибки типа "Invalid URL"
>Сквид собирался с опцией --enable-pf-transparent.
>Уже потеряв веру в доброе, вечное, чистое  - пересобрал сквид,
>заменив PF на IPFW (--enable-ipfw-transparent).
>Заработало сразу и без проблем..
>Как то это все нелогично выглядит.

Я где-то на буржуйских форумах читал решения, предваряемае чем-то вроде "After much pain .." так я понял, что 3-й сквид хоть и стабилен, но не протестирован как надо.


"Squid3 и прозрачное проксирование"
Отправлено AMur , 31-Мрт-08 11:45 
>Я где-то на буржуйских форумах читал решения, предваряемае чем-то вроде "After much
>pain .." так я понял, что 3-й сквид хоть и стабилен,
>но не протестирован как надо.

тоже самое..
http://www.freebsdguy.co.uk/2007/07/23/squid-30-p6-20070623/


"Squid3 и прозрачное проксирование"
Отправлено antono , 10-Дек-08 18:03 
>[оверквотинг удален]
>
>http_port 192.168.2.63:3128 transparent
>
>и так:
>
>http_port 127.0.0.1:3128 transparent
>
>Результат был один и тот же. Во всех результатах поиска в гугл
>видно, что правильный вариант - первый, но он почему-то не работает.
>Значит ли это, что нужно переходить на squid 2.6 ??

К вопросу о недоступности апача на машине со Squid. Нужно исключить сеть из редиректа:

iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128


"Squid3 и прозрачное проксирование"
Отправлено prince5 , 28-Ноя-09 21:26 
>[оверквотинг удален]
>>
>>Результат был один и тот же. Во всех результатах поиска в гугл
>>видно, что правильный вариант - первый, но он почему-то не работает.
>>Значит ли это, что нужно переходить на squid 2.6 ??
>
>К вопросу о недоступности апача на машине со Squid. Нужно исключить сеть
>из редиректа:
>
>iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 192.168.1.0/24
>--dport 80 -j REDIRECT --to-port 3128

Вам нужно посмотреть вот этот пример чтобы у вас заработало: http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat


"Squid3 и прозрачное проксирование"
Отправлено EuGen_ , 01-Дек-09 17:24 
>[оверквотинг удален]
>>>видно, что правильный вариант - первый, но он почему-то не работает.
>>>Значит ли это, что нужно переходить на squid 2.6 ??
>>
>>К вопросу о недоступности апача на машине со Squid. Нужно исключить сеть
>>из редиректа:
>>
>>iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 192.168.1.0/24
>>--dport 80 -j REDIRECT --to-port 3128
>
>Вам нужно посмотреть вот этот пример чтобы у вас заработало: http://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxDnat

Спасибо :) Уже черт знает как давно не заходил сюда и забыл пароль, уже давно не работаю в той конторе, уже давно не администрирую, но все таки приятно вспомнить бывает - подписка то на ветку осталась:) Этакое письмо из прошлого :)