Назад | Перейти на главную страницу

Локальный прозрачный прокси с ipfw и squid

Я хочу использовать локальный прозрачный прокси, чтобы иметь единое место для ввода пароля к офисному прокси. По сути, все TCP-пакеты, отправленные на порт 80, кроме тех, которые отправлены в определенную подсеть, должны быть перенаправлены на локальный Squid.

Squid отлично работает в обычном режиме, но когда я переключаю его на прозрачный и отключаю прокси в браузере, браузер не может подключаться к удаленным хостам. ipfw работает, проверено добавлением deny ip from any to any правило. Отладка сложна, потому что это Mac OS, а журналы расположены бог знает где.

Кальмар

 $ squid -v
Squid Cache: Version 3.2.9
configure options:  '--disable-debug' '--disable-dependency-tracking' '--prefix=/usr/local/Cellar/squid/3.2.9' '--localstatedir=/usr/local/var' '--enable-ssl' '--enable-ssl-crtd' '--disable-eui' '--enable-ipfw-transparent' 'CC=cc' 'CXX=c++' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.8'

Правила

 $ sudo ipfw list
00100 fwd 127.0.0.1,3128 tcp from me to any dst-port 80
65535 allow ip from any to any

Соответствующая часть из squid.conf

http_access allow localhost manager
http_access deny manager
http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localnet
http_access allow localhost

http_access deny all

http_port 3128 transparent

cache_peer proxy.office.com parent 8080 0 login=user:password
never_direct allow all