Я успешно настроил iptables и squid, теперь пытаюсь запустить проверку подлинности прокси. Мой файл squi.conf выглядит следующим образом:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/proxy_users
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
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.7.0/24
acl passwd proxy_auth REQUIRED
http_access allow localnet passwd
http_access allow localhost
http_access deny all
Так. Согласно книге. Это работает до тех пор, пока я запускаю браузер, он выдает мне по запросу страницу «Доступ запрещен». Но у меня нет возможности подтвердить свою подлинность! Я слышал, что может быть Firefox автоматически передаст любого пользователя, что, конечно, будет отклонено.
Как заставить браузер открывать окно аутентификации?
Мне жаль. Прозрачный означает, что браузер перенаправляется на прокси-сервер, не зная об этом. Это означает, что в браузере не настроен прокси-сервер, следовательно, не настроена проверка подлинности прокси. Более того, HTTP, используемый для взаимодействия с прокси-сервером, отличается от того, который используется в обычном браузере - разговоре с веб-сервером.
Как именно вы пытаетесь выполнить аутентификацию, смешанную с прозрачным прокси? Я сразу же подумал об этом, проверил Google и подтвердил это. Куда ни глянь, везде написано, что это невозможно.
Проксирование перехвата работает с активным агентом (прокси) там, где его не должно быть. Браузер не ожидает, что он будет там, и для всех эффектов и целей его обманывают или, в лучшем случае, путают. Как пользователь этого браузера, я бы потребовал, чтобы он не выдавал никаких учетных данных неожиданной стороне, вы согласны? Особенно, когда пользовательский агент может делать это без уведомления пользователя, как это могут делать браузеры Microsoft, когда прокси-сервер предлагает любую из схем проверки подлинности, разработанных Microsoft, например NTLM (см. ../ProxyAuthentication и Возможности / NegotiateAuthentication).
Другими словами, это не ошибка кальмара, а безопасность браузера характерная черта.
ВНИМАНИЕ: аутентификация не может использоваться в прокси-сервере с прозрачным перехватом, поскольку клиент думает, что он обращается к исходному серверу, а не к прокси-серверу. Это ограничение изменения протокола TCP / IP для прозрачного перехвата порта 80, а не ограничение в Squid.
Ваш IP-адрес отклоняется, поскольку разрешены только localnet и localhost. Так что добавьте еще один acl с вашим IP или диапазоном IP. acl myisp src your.ip.goes.here
http_access allow myisp passwd
Затем перезапустите, и вам будет предложено ввести имя пользователя и пароль.
Для дальнейшего использования проверьте /var/log/squid/access.log
на случай будущих ошибок аутентификации squid.
Вы не можете.
http://www.cyberciti.biz/faq/squid-proxy-authentication-in-transparent-mode/
Если ваша проблема заключается в автоматической настройке клиентов, проверьте WPAD.