当我尝试启动已集成 NTLM / AD 身份验证设置的 Squid 时,出现错误,我需要一些建议。
以下是背景故事:
我已经关注本指南逐字逐句地介绍服务器的设置、安装和配置。到目前为止,一切都进展顺利,我觉得只需几分钟就可以让这个系统运行起来。
我能做
Wbinfo -a administrator
kinit Administrator
klist
每个命令均确认其已成功运行且按预期工作。
Linux 机器已成功加入我的域,我可以对用户和组进行 AD 查找。
然而,当我尝试启动 squid 服务时,我从 CLI 获得以下内容。
[root@squid ~]# service squid start
Starting squid: . [ OK ]
但是随后从我的浏览器收到连接错误,提示代理拒绝连接,在 /var/log/squid/cache.log 中对 squid 进行进一步调查显示以下错误。
2013/07/31 09:57:30| StatefulHandleRead: no callback data registered
2013/07/31 09:57:30| helperHandleRead: unexpected read from basicauthenticator #2, 28 bytes 'NT_STATUS_OK: Success (0x0)
'
2013/07/31 09:57:30| helperHandleRead: unexpected read from basicauthenticator #3, 28 bytes 'NT_STATUS_OK: Success (0x0)
'
2013/07/31 09:57:30| helperHandleRead: unexpected read from basicauthenticator #4, 28 bytes 'NT_STATUS_OK: Success (0x0)
'
2013/07/31 09:57:30| helperHandleRead: unexpected read from basicauthenticator #5, 28 bytes 'NT_STATUS_OK: Success (0x0)
'
2013/07/31 09:57:30| WARNING: ntlmauthenticator #3 (FD 13) exited
2013/07/31 09:57:30| WARNING: ntlmauthenticator #1 (FD 9) exited
2013/07/31 09:57:30| WARNING: ntlmauthenticator #2 (FD 11) exited
2013/07/31 09:57:30| Too few ntlmauthenticator processes are running
2013/07/31 09:57:30| storeDirWriteCleanLogs: Starting...
2013/07/31 09:57:30| Finished. Wrote 0 entries.
2013/07/31 09:57:30| Took 0.00 seconds ( 0.00 entries/sec).
FATAL: The ntlmauthenticator helpers are crashing too rapidly, need help!
Squid Cache (Version 3.1.10): Terminated abnormally.
CPU Usage: 0.143 seconds = 0.038 user + 0.105 sys
Maximum Resident Size: 35040 KB
Page faults with physical i/o: 0
Memory usage for squid via mallinfo():
total space in arena: 2788 KB
Ordinary blocks: 2757 KB 13 blks
Small blocks: 0 KB 0 blks
Holding blocks: 1012 KB 4 blks
Free Small blocks: 0 KB
Free Ordinary blocks: 30 KB
Total in use: 3769 KB 135%
Total free: 30 KB 1%
这是 squid 配置文件的捕获。
auth_param ntlm program /usr/bin/ntlm_auth -–helper-protocol=squid-2.5-ntlm --username=admin --password=password
auth_param ntlm children 10
auth_param basic program /usr/bin/ntlm_auth -–helper-protocol=squid-2.5-basic --username=admin --password=password
auth_param basic children 5
auth_param basic realm Domain Proxy Server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
authenticate_cache_garbage_interval 10 seconds
##
# Credentials past their TTL are removed from memory
authenticate_ttl 0 seconds
答案1
为什么要为 指定--username
和--password
参数ntlm_auth
?这些参数不是必需的,可能会导致进程ntlm_auth
终止(这可能是失败的根本原因)。