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

Исходное сообщение
"Прозрачный squid. Не работает"

Отправлено Tonn , 06-Авг-09 14:45 
Здравствуйте всем. Очень давно пользуюсь сквидом. Решил сделать прозрачный прокси. Не получается. За пару недель перечитал кучу манов, хелпов, форумов и прочего. Что тока не пробовал. Никак не получается. Сейчас убрал всех польхователей, оставив только себя для теста. Через обычный прокси все работает. Сервер имеет локальный адрес 192.168.0.105. Мой адрес, клиентский - 192.168.0.1.
Рабочий конфиг сквида на данный момент:

http_port 192.168.0.105:8080 transparent
visible_hostname Serv
acl donocache urlpath_regex cgi-bin user submit
no_cache deny donocache
#cache_mem 8 MB
#cache_dir ufs /var/spool/squid 1000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
acl all src 0/0
acl am src 192.168.0.1
always_direct allow am
http_access allow am
http_access deny all

iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p udp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp -m multiport --dport 8082,8083,8091,8100,8101,8102,8103,8080,8888,777 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p udp -m multiport --dport 8082,8083,8091,8100,8101,8102,8103,8080,8888,777 -j REDIRECT --to-port 8080

Через прокси работает. Прописываю шлюз в настройках сетевухи. Не работает. От полной безысходности и не понимания сути проблемы брал готовые конфиги и настройки из разных источников, включая http://www.opennet.me/base/net/transparent_proxy.txt.html. Убирал директивы типа httpd_accel, прописывал transparent. Не работает.

Linux ASP12 2.6.22, Squid-2.6STABLE16-4.0, iptables-1.3.8-2.1.0
Спасибо


Содержание

Сообщения в этом обсуждении
"Прозрачный squid. Не работает"
Отправлено Аноним , 06-Авг-09 18:33 
sysctl net.ipv4.ip_forward=1

"Прозрачный squid. Не работает"
Отправлено reader , 07-Авг-09 11:10 
клиенту так же DNS нужен

"Прозрачный squid. Не работает"
Отправлено Tonn , 07-Авг-09 15:34 
>клиенту так же DNS нужен

какому клиенту? какой ДНС? куда? пожалуйста конкретнее


"Прозрачный squid. Не работает"
Отправлено reader , 07-Авг-09 19:46 
>>клиенту так же DNS нужен
>
>какому клиенту? какой ДНС? куда? пожалуйста конкретнее

прикалываешся? куда уж конкретней?
клиент - в данном случае браузер который в инет должен выйти.
какой ДНС - а какой есть тот и пропишите.
куда - зависит от ОС клиентской машины.


"Прозрачный squid. Не работает"
Отправлено Tonn , 11-Авг-09 06:12 
>>>клиенту так же DNS нужен
>>
>>какому клиенту? какой ДНС? куда? пожалуйста конкретнее
>
>прикалываешся? куда уж конкретней?
>клиент - в данном случае браузер который в инет должен выйти.
>какой ДНС - а какой есть тот и пропишите.
>куда - зависит от ОС клиентской машины.

Если бы мне нужен был браузер, я бы пользовался обычным прокси. прозрачный нужен для других целей.
ДНСа - нет. Порядком не понимаю где его прописать и зачем он вапще нужен. Может что не так понял. Объясните. Спасибо.


"Прозрачный squid. Не работает"
Отправлено reader , 11-Авг-09 10:08 
http://ru.wikipedia.org/wiki/DNS


"Прозрачный squid. Не работает"
Отправлено Tonn , 11-Авг-09 10:57 
>http://ru.wikipedia.org/wiki/DNS

Спасибо большое. Ваша политика типа "сделайте то, что требуется" и "пропишите/поставьте то, что необходимо" очень помогает. Именно этого мне и нехватало.


"Прозрачный squid. Не работает"
Отправлено Tonn , 07-Авг-09 15:33 
>sysctl net.ipv4.ip_forward=1

прописал. даже ребутнул комп. результат тот же


"Прозрачный squid. Не работает"
Отправлено Gerk , 15-Авг-09 22:46 
Попробуйте добавить в конфиг сквида:

header_access via deny all
forwarded_for off

следующие строчки тоже не помешают:

refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

Также попробуйте прицепиться телнетом на 3128 и посмотреть отвечает ли прокся.
Что в логах у сквида? Желательно также полный список правил iptables.
Какая ошибка при попытке вылезти через проксю?

И рекомендуется привести Ваши правила к виду:
iptables -t nat -A PREROUTING -s 192.168.0.0/16 -d ! 192.168.0.105 ...


"Прозрачный squid. Не работает"
Отправлено Tonn , 23-Авг-09 10:56 
>[оверквотинг удален]
>
>acl apache rep_header Server ^Apache
>broken_vary_encoding allow apache
>
>Также попробуйте прицепиться телнетом на 3128 и посмотреть отвечает ли прокся.
>Что в логах у сквида? Желательно также полный список правил iptables.
>Какая ошибка при попытке вылезти через проксю?
>
>И рекомендуется привести Ваши правила к виду:
>iptables -t nat -A PREROUTING -s 192.168.0.0/16 -d ! 192.168.0.105 ...

Добавил строки в конфиг, изменил правила iptables. Результат тотже. Когда лезу в инет через обычный прокси, все работает. В логи записываются строки о нормальной работе сквида. Прописываю шлюз, убираю прокси, лезу в инет - ошибка, URL ненайден, инета нет. В логи ничего не вносится, изменений нет.
Что еще посоветуете?


"Прозрачный squid. Не работает"
Отправлено IvanN , 27-Авг-09 17:31 
>[оверквотинг удален]
>>
>>И рекомендуется привести Ваши правила к виду:
>>iptables -t nat -A PREROUTING -s 192.168.0.0/16 -d ! 192.168.0.105 ...
>
>Добавил строки в конфиг, изменил правила iptables. Результат тотже. Когда лезу в
>инет через обычный прокси, все работает. В логи записываются строки о
>нормальной работе сквида. Прописываю шлюз, убираю прокси, лезу в инет -
>ошибка, URL ненайден, инета нет. В логи ничего не вносится, изменений
>нет.
>Что еще посоветуете?

Попробуйте так

http_port 3128 transparent

В правилах iptables

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d !192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

ну либо нат, если есть постоянный внешний ip


"Прозрачный squid. Не работает"
Отправлено alex , 27-Авг-09 21:39 
>[оверквотинг удален]
>
>http_port 3128 transparent
>
>В правилах iptables
>
>iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d !192.168.0.0/24 -p tcp -m
>multiport --dport 80,8080 -j REDIRECT --to-ports 3128
>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
>
>ну либо нат, если есть постоянный внешний ip

http_port 3128 transparent
#3128PORT
ipfw add fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80
ipfw add divert natd all from any to any via msk0

работает в таком же варианте под freebsd + ipfw
сначала форвардим, потом натим



"Прозрачный squid. Не работает"
Отправлено IvanN , 27-Авг-09 17:32 
у меня работает в таком варианте


"Прозрачный squid. Не работает"
Отправлено Tonn , 31-Авг-09 15:03 
>у меня работает в таком варианте

Помойму проблема у меня в чом то другом, не понимаю вапще. Можешь дать пожалуйста свой полный конфиг и все правила iptables. В рабочем варианте транспарента. Если правил что еще, сообщи пожалуйста.  Если не сложно вышли на toxa87@yandex.ru
Заранее спасибо.