Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Transparent HTTP/HTTPS proxy и port redirect

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Столкнулся с интересным поведением squid после редиректа порта на 3128. Схема такая:
 
Есть рабочий компьютер, который также использую дома (выход в инет напрямую). Есть на работе где-то proxy server с авторизацией. Поскольку настройка global proxy в gnome хромает, настроил локальный squid для работы с корпоративным прокси. Далее идея автоматизировать определение положения копьютера в сети и при необходимости перенапрявлять все 80 и 443 с помощью iptables на локальный прокси, который в свою очередь обменяется данными с корпоративным прокси сервером. Загвоздка в том, что вся схема почти работает:
 

Код:
iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 3128
перенапрявляет исходящие 80 на локалхост 3128 с такой конфигарацией:
 

Код:
 
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
 
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
acl localnet src 172.16.0.0/12    # RFC1918 possible internal network
acl localnet src 192.168.0.0/16    # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
 
acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
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
 
#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
 
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
 
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
 
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost
 
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
 
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
 
# And finally deny all other access to this proxy
http_access deny all
 
# Squid normally listens to port 3128
http_port 3128
 
# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256
 
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
 
# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:        1440    20%    10080
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern -i (/cgi-bin/|\?) 0    0%    0
refresh_pattern .        0    20%    4320
 
cache_peer proxy.company.com parent 8080 0 no-digest login=user:pass
never_direct allow all
 

 
Однако ответ локального прокси после этого несколько неожиданный:
 
1316778762.513     25 ip NONE/400 3609 GET /some/seo/url.php - NONE/- text/html
 
вместо ожидаемого полного адреса domain.com/some/seo/url.php имеем все, кроме domain.com
 
Без iptables redirect и прописывания прокси вручную все нормально:
 

Код:
1316784455.961   1177 127.0.0.1 TCP_MISS/200 1806 POST http://forum.ru-board.com/postings.cgi - FIRST_UP_PARENT/proxy.company.com text/html
1316784310.148    327 127.0.0.1 TCP_MISS/200 1274 GET http://forum.ru-board.com/forall/ajax/resize.gif - FIRST_UP_PARENT/proxy.company.com image/gif

 
Есть мысли почему так? Заранее благодарен.

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 17:25 23-09-2011 | Исправлено: mtxd, 18:46 26-09-2011
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
исправьте  
http_port 3128
на
http_port 3128 transparent

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 19:21 23-09-2011
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Большое спасибо, помогло.
 
Кстати, если кто-то ещё случайно наткнется на эту тему с такой же бредовой идеей и неработающим проксированием ssl соединений: _http://wiki.squid-cache.org/Features/SslBump

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 12:01 26-09-2011 | Исправлено: mtxd, 18:47 26-09-2011
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SSLBump, и как результат прозрачное проксирование HTTPS соединений, не завелся в intercept (depr. transparent) mode. Может кто-нибудь наведет на мысли как сделать рабочую конфигурацию такой схемы?
 
Открытый баг-репорт по проблеме: _http://bugs.squid-cache.org/show_bug.cgi?id=2314
 
tproxy?...

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 18:47 26-09-2011 | Исправлено: mtxd, 18:53 26-09-2011
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть кто-нибудь, у кого получилось прозрачное проксирование https соединений?

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 12:09 04-10-2011
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Transparent HTTP/HTTPS proxy и port redirect


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru