LINUX.ORG.RU
ФорумAdmin

Проблемы со squid'ом


0

0

Есть: комп, мандрива, сквид (на 3128 порту)172.16.24.3 на котором висит комп. Настроил сквид, полет нормальный, но напрягает, что во всех прогах нужно прописывать прокси ручками. Да и умельцы, сносят галочки с 'использовать прокси' поправил слегка iptables, чтоб весь трафик заворачивался на сквид iptables -t nat -A PREROUTING -s 172.16.24.0/255.255.255.128 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128. Но не работает, вылезает вот такая вот ошибка ================================================================== ERROR The requested URL could not be retrieved

While trying to process the request: GET / HTTP/1.1 User-Agent: Opera/9.25 (Windows NT 5.1; U; ru) Host: ya.ru Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Pragma: no-cache Cache-Control: no-cache Connection: Keep-Alive, TE TE: deflate, gzip, chunked, identity, trailers

The following error was encountered: Invalid Request

Some aspect of the HTTP Request is invalid. Possible problems: Missing or unknown request method Missing URL Missing HTTP Identifier (HTTP/1.0) Request is too large Content-Length missing for POST or PUT requests Illegal character in hostname; underscores are not allowed

Your cache administrator is root. Generated Mon, 21 Jul 2008 10:55:18 GMT by unconfigured (squid/2.6.STABLE16) ==================================================================

что делать? Как быть? Спасбо!


>что делать? Как быть?

То что вы делаете, называется "Transparent proxy" (прозрачное проксирование). Sqiud'у нужно сообщить об этом:

"http_port 3128 transparent"

А так сходите в google найдите там FAQ или HOWTO и прочитайте её. А в правилах iptables может нужно не делать REDIRECT для пакетов, идущих на 80 порт данного сервера.

>Да и умельцы, сносят галочки с 'использовать прокси'

Самое правильно просто отключит NAT и разрешить выход только через proxy, чтобы не возникало проблемм с web страницами на нестандартных портах (81 и т.д.). А тот, кто снес себе настройки, тот сам себе злобный дендромутант.

mky ★★★★★
()
Ответ на: комментарий от mky

блин, вроде все сделал. При прописаной проксе в браузере все работает. Если убрать, то ничего не происходит. Просто отправка запроса и все. Пробую пинги

ping ya.ru

Обмен пакетами с ya.ru [213.180.204.8] по 32 байт:

Превышен интервал ожидания для запроса. Превышен интервал ожидания для запроса.

Итд итп.

expl
() автор топика
Ответ на: комментарий от expl

squid(8)                                                              squid(8)

NAME
       squid - proxy caching server

SYNOPSIS
       squid [ -dhirsvzCDFNRVYX ] [ -l facility ] [ -f config-file ] [ -[ au ]
       port ] [ -k  signal ] [ -n service-name ] [ -O cmd-line ]

DESCRIPTION
       squid is a high-performance proxy caching server for web clients,  sup-
       porting FTP, gopher, and HTTP data objects.

----8<---------------------8<---------------------8<---------------------8<----

mutronix ★★★★
()

У меня вот так работает (2.6):
squid.conf
==========
...
http_port 192.168.0.129:3128 # для LAN у кого явно вкл. прокси
http_port 192.168.3.1:3128 # для PPTP у кого явно вкл. прокси
http_port 192.168.0.129:3129 transparent # для LAN у кого НЕ вкл. прокси
http_port 192.168.3.1:3129 transparent # для PPTP у кого НЕ вкл. прокси
...

firewall
========
iptables -t nat -A PREROUTING -i ppp+ -p tcp -s 192.168.0.0/16 -d ! 192.168.0.0/16 --dport 80 -j REDIRECT --to-port 3129
iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.0.0/16 -d ! 192.168.0.0/16 --dport 80 -j REDIRECT --to-port 3129

Те кто прописали у себя прокси - попадают на 3128, а те кто не прописал - перенаправляются на 3129, где squid слушает с опцией "transparent".

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