Добрый день.Имеем Squid 3.4.4 на OpenSuSE 13.2, домен на Active Directory. Настроена сквозная аутентификация на Squid по Kerberos. Задача - для машин (учетных записей, телефонов, планшетов, etc), которые не в домене, использовать Basic-аутентификацию.
Секция настроек аутентификации (реальные имена заменены на вымышленные):
# Настройки аутентификации - Kerberos only
auth_param negotiate program /usr/sbin/negotiate_kerberos_auth -r -s HTTP/proxy.domain.ru@DOMAIN.RU
auth_param negotiate children 100
auth_param negotiate keep_alive on
# Настройки аутентификации - Basic (если не проходит остальное (для недоменных машин))
auth_param basic program /usr/sbin/basic_ldap_auth -R -D proxy@domain.ru -W /etc/squid/ad_user_pass.txt -b "dc=domain,dc=ru" -f "sAMAccountName=%s" dc.domain.ru
auth_param basic children 20
auth_param basic realm Corporate proxy server
auth_param basic credentialsttl 10 hour
Проблема следующая. Если с недоменной учетной записи ломиться в интернет через прокси, то выскакивает окно для ввода логина-пароля. Это, в принципе, правильно, но это окно не является окном секции Basic-аутентификации, т.к. в нем не содержится содержимое директивы auth_param basic realm. Другими словами, если бы это окно было вызвано Basic-схемой, то в нем было бы написано "Corporate proxy server", а в нашем случае написано "Выполняется подключение к серверу <доменное имя сервера>. Вводим логин-пароль, прокси отфутболивает. В логах при этом видно, что производится попытка аутентификации по Kerberos. Если подождать минуту-две и снова пихнуть логин-пароль, то прокси успешно пропускает и в логах видно, что запущен процесс Basic-аутентификации.
Внимание, вопрос. Что в Squid отвечает за согласование процессов аутентификации? Как его заставить предлагать пользователю Basic, если не проходит Kerberos?
P.S. Конфиг, который я выложил, успешно работал до вчерашнего дня. Абсолютно ничего в нем не трогали и не меняли, проблема появилась, как ни странно, сама по себе. Может, какой-то доп. процесс в Squid есть, который валится?