centos搭建squid+ladp认证

Squid搭建与ldap认证配置

安装squid

yum install squid

ladp认证的配置语句

auth_param basic program /usr/lib64/squid/basic_ldap_auth -R -b "cn=Employee,ou=Account,dc=nova,dc=com" -D "用户dn" -w "password"  -h ldap.nova.net.cn -f "(&(businessCategory=d233f8fd-be02-43d1-b2e9-7fd9ef59c6b1)(uid=%s))" 

配置文件修改

将下面配置添加到/etc/squid/squid.conf

auth_param basic program /usr/lib64/squid/basic_ldap_auth -R -b "cn=Employee,ou=Account,dc=nova,dc=com" -D "用户dn" -w "password"  -h ldap.nova.net.cn -f "(&(businessCategory=d233f8fd-be02-43d1-b2e9-7fd9ef59c6b1)(uid=%s))"  #此句是使用LDAP认证
auth_param basic children 5 # 用于认证的进程数
auth_param basic realm Squid proxy-caching web server # 弹窗时窗口名
auth_param basic credentialsttl 1 seconds 用户ttl有效期,可以理解为,用户不操作后,多长时间从内存中踢出
auth_param basic casesensitive off

参数说明:

  • b 基础的ldap dn搜索域
  • D 用户的dn(找ldap管理创建一个, 用于登录、去拿取ldap所有用户的信息,格式一般为cn=admin,dc=nova,dc=com)
  • w 密码
  • h ldap地址
  • p ldap的端口(可不填默认389)
  • f 过滤(上述列子&是与, |是或, uid=%s必须要带上)
  • d debug模式

与服务器内测试

cd /usr/lib64/squid/
./basic_ldap_auth -R -b "cn=Employee,ou=Account,dc=nova,dc=com" -D "用户dn" -w "password"  -h ldap.nova.net.cn -f "(&(businessCategory=d233f8fd-be02-43d1-b2e9-7fd9ef59c6b1)(uid=%s))" -d 

# 输入 账号+空格+密码
# 如返回 
# basic_ldap_auth.cc(691): pid=31367 :user filter '(&(businessCategory=d233f8fd-be02-43d1-b2e9-7fd9ef59c6b1)(uid=zhuangpeilong))', searchbase 'cn=Employee,ou=Account,dc=nova,dc=com'
# basic_ldap_auth.cc(746): pid=31367 :attempting to authenticate user 'uid=zhuangpeilong,cn=Employee,ou=Account,dc=nova,dc=com'
# OK
# 即成功
# 如返回basic_ldap_auth: WARNING, could not bind to binddn 'Invalid credentials',可能由于-D与-w这里面的账号密码错误或者由于-f的格式有问题,可先把-f及后面的参数删除,如在报这个错误即是-D -w账号密码错误

启动

systemctl start squid

测试

wget -e use_proxy=yes -e http_proxy=http://账号:密码@ip:port http://mirrors.163.com/.help/CentOS7-Base-163.repo

# 后可查看/var/log/squid/cache.log 输出无报错即启动成功
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。