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

Исходное сообщение
"Локальные запросы через прокси"

Отправлено Monty , 22-Окт-05 11:24 
Имеется сервер под управление FreeBSD. На нем установлен squid.
Адрес внешнего интерфейса 192.168.111.1 (реальный считаем). Если сделать прямой запрос, например, lynx www.mail.ru то все работает.

Сделал прохождение www запросов через прокси:\
ipfw add 02500 fwd 127.0.0.1,3128 tcp from 192.168.111.1 to any dst-port 80 out via внеш_интерфейс

В squid.conf прописаны следующие строки:
acl all src 0.0.0.0/0
http_access allow all

Пробую lynx mail.ru
Выдает
The requested URL could not be retrieved
     _______________________________________________________________________________________________________________________________________________

   While trying to retrieve the URL: http://www.mail.ru/

   The following error was encountered:
     * Access Denied.
       Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is
       incorrect.

Почему же сквид не разрешает?


Содержание

Сообщения в этом обсуждении
"Локальные запросы через прокси"
Отправлено SselemaN , 22-Окт-05 21:54 
>Имеется сервер под управление FreeBSD. На нем установлен squid.
>Адрес внешнего интерфейса 192.168.111.1 (реальный считаем). Если сделать прямой запрос, например, lynx
>www.mail.ru то все работает.
>
>Сделал прохождение www запросов через прокси:\
>ipfw add 02500 fwd 127.0.0.1,3128 tcp from 192.168.111.1 to any dst-port 80
>out via внеш_интерфейс
>
>В squid.conf прописаны следующие строки:
>acl all src 0.0.0.0/0
>http_access allow all
>
>Пробую lynx mail.ru
>Выдает
>The requested URL could not be retrieved
>     _______________________________________________________________________________________________________________________________________________
>
>   While trying to retrieve the URL: http://www.mail.ru/
>
>   The following error was encountered:
>     * Access Denied.
>       Access control configuration prevents your
>request from being allowed at this time. Please contact your service
>provider if you feel this is
>       incorrect.
>
>Почему же сквид не разрешает?


Дай весь squid.conf


"Локальные запросы через прокси"
Отправлено Monty , 22-Окт-05 22:38 
### squid.conf ###

http_port 3128
hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY


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

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443 563    # https, snews
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl our_networks src 10.30.0.0/16 192.168.111.0/24 127.0.0.0/8
http_access allow our_networks
http_access deny all
http_reply_access allow all
icp_access allow all
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


"Локальные запросы через прокси"
Отправлено Андрей Слободяник , 23-Окт-05 00:18 
Посмотри в access.log с какого ip-адреса идет обращение, что ему выдается DENY.

"Локальные запросы через прокси"
Отправлено Monty , 23-Окт-05 08:34 
>Посмотри в access.log с какого ip-адреса идет обращение, что ему выдается DENY.
>

1130042067.506      0 192.168.111.1 TCP_DENIED/403 1353 GET http://www.mail.ru/ - NONE/- text/html
1130042067.507      5 192.168.111.1 TCP_MISS/403 1387 GET http://www.mail.ru/ - DIRECT/194.67.57.26 text/html


"Локальные запросы через прокси"
Отправлено Monty , 23-Окт-05 09:38 
Во всей этой схеме меня смущает одна вещь.
Смотри, когда я запускаю lynx www.mail.ru браузер отправляет запрос на www.mail.ru:80 и адрес отправитель при этом 192.168.111.1 (адрес внешнего интерфейса). Пакет попадает в файрвол и срабатывает правильно "fwd 127.0.0.1,3128 tcp from 192.168.111.1 to any 80 out via внеш_интерфейс". Пакет нашего браузера перенаправляется на проксик на этой же машине. Проксик, получив этот пакет, в свою очередь, отправляет запрос на www.mail.ru:80 и при этом адрес отправителя будет 192.168.111.1 (т.к. это адрес внешнего интерфейса), а далее этот пакет попадает в файрвол и соответствует правилу fwd. В результате запрос самого проксика, должен быть перенправлен на его же вход (127.0.0.1:3128). По логике получается петля. В полне возможно, что проксик от этого защищается, выдавая сообщение, что доступ запрещен. Потому что, в конфиге все списки доступа прописаны более чем достаточно.
Только я пока не могу придумать, как корректно решить эту задачу.