OpenLDAP 代理缓存未检索条目

OpenLDAP 代理缓存未检索条目

我需要设置一个连接到我们的中央 Active Directory 服务器的本地 LDAP 代理缓存。OpenLDAP 代理缓存看起来就像这样。但是,尽管尽可能严格地按照手册页操作,我还是无法让它工作。

我能够通过本地主机将请求代理到远程服务器,但它们不会被缓存(或者至少不会被检索到缓存)。

我采取的步骤:

  • 安装openldap-serversopenldap-clients软件包
  • 创建了一个slapd.conf配置文件(详细信息如下)
  • 为代理数据库创建一个目录并将默认的 DB_CONFIG 文件复制到那里(详情如下)
  • 运行slapd -d -1命令启动服务器
  • 使用此命令查询服务器:ldapwhoami -vvv -h localhost -D "CN=Melka Martin,OU=(...),DC=int,DC=ourdomain,DC=com" -x -w <password>

结果是成功了。但是嗅探网络流量显示查询是从中央 LDAP 服务器汇集的。

输出slapd非常详细,但它确实在某一点上表明

QUERY NOT ANSWERABLE
QUERY CACHEABLE

唉,即使缓存了,也永远不会得到答复。有什么想法可能出了什么问题吗?

"cn=admin,dc=int,dc=ourdomain,dc=com"是远程 LDAP 服务器中管理员用户的 DN。<something>是他的密码。

slapd配置文件

database        ldap
suffix          "dc=int,dc=ourdomain,dc=com"
rootdn          "cn=admin,dc=int,dc=ourdomain,dc=com"
rootpw          <something>
uri             ldap://dc-04.int.ourdomain.com:389

overlay pcache
pcache         hdb 100000 1 1000 100
pcacheAttrset  0 *
pcacheTemplate (sn=) 0 3600
pcacheBind (sn=) 0 3600 sub dc=int,dc=ourdomain,dc=com

cachesize 200
directory /var/lib/ldap
index       objectClass eq
index       cn eq,sub

数据库配置

# $OpenLDAP$

# one 0.25 GB cache
set_cachesize 0 268435456 1

# Transaction Log settings
set_lg_regionmax 262144
set_lg_bsize 2097152

详细日志输出:http://pastebin.com/9s8HMg7d

答案1

您是否希望缓存以下查询?

ldapwhoami -vvv -h localhost -D "CN=Melka Martin,OU=(...),DC=int,DC=ourdomain,DC=com" -x -w <password>

首先,我将更改模板以匹配身份验证参数:

pcacheTemplate (dn=) 0 3600
pcacheBind (dn=) 0 3600 sub dc=int,dc=ourdomain,dc=com

(dn 为专有名称,sn 为姓氏)

但如果它真的有效,我会很惊讶。事实上,我不确定这个工具是否适合测试这个覆盖。例如,ldapwhoami手册页谈到了。你应该事先配置它并观察它执行了哪些查询,这样你就可以模仿模板、范围和基础。authentication clientsnss_ldap

答案2

提到一些可能有帮助或有助于缩小根本原因范围的事情。。。

第一的

我想指出的是,我注意到你正在运行,slapd -d -1这只是意味着slapd使用调试和日志记录级别1运行verbose/ enable all debugging

从我在下面的帖子 URL 资源中读到的内容来看,如果你没有按照语法运行slapd -f <filename>并完全限定<filename>指向“选择” slapd.config文件,然后...“默认值通常为 /usr/local/etc/openldap/slapd.conf。

因此,这可能无法真正运行slapd并将其指向配置文件以获取您在备用配置文件中放置的指针/参数,因此如果出现此问题,请先尝试一下。

可能与此错误具体相关(ERROR PART1): 564da523 config_back_db_open: No explicit ACL for back-config configured. Using hardcoded default

(资源:http://www.openldap.org/doc/admin24/runningslapd.html


笔记: 我在您提供的详细日志中看到一些与 DB 相关的错误消息,所以也许它无法找到适用的 DB,除非您更改到该目录,否则它可以隐式找到,除非它支持其他显式 DB 指针方法(NOTE2 可能适用于此方法)。

笔记2: 这是关于 LDAP 代理方法的很好的读物,并以这种方式在配置中使用等,只是为了检查文件uri中可能缺少或配置错误的一些明显内容slapd.confhttp://www.openldap.org/faq/data/cache/532.html

Note2 部分资源中的一些有趣点

  • LDAP Proxy
  • binddn
  • bindpw
  • identity assertion
  • identity assertion configuration

版本

首先,看来您在 OpenLADAP 上已经落后了两个版本,因此可能值得阅读此处的发行说明,看看是否有任何内容适用于您的问题http://www.openldap.org/software/release/changes.html如果可能的话,这可以证明升级或从测试升级系统运行是合理的。

错误

其次,详细的日志细节提供了更多的错误消息等,我想按以下顺序特别指出ERROR PART 1、、ERROR PART 2和。ERROR PART 3ERROR PART 4


LDAP 错误的常见原因

(资源:http://www.openldap.org/doc/admin24/appendix-common-errors.html

据我所知,如果您感觉所有配置确实都设置正确,那么ERROR PART 1第一行可能确实只是一个“警告”,可以安全地忽略。

但是()下面的线~Using hardcoded default可能是第一的上面的部分,我列出了 URL 等等。

错误 1

564da523 config_back_db_open: line 0: warning: cannot assess the validity of the ACL scope within backend naming context
564da523 config_back_db_open: No explicit ACL for back-config configured. Using hardcoded default

资源:


错误 2

564da523 <= hdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30988)
564da523 <= hdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30988)

在这个(上面)中,我找到了一个带有文件的示例,还有一个(下面)说明了这一点,所以我想知道它是否像您需要在您的情况下slapd.conf更改文件中的 DB 目录一样简单。slapd.conf

(资源:http://www.zytrax.com/books/ldap/ch5

资源 URL 示例

# root or superuser
rootdn "cn=jimbob, dc=example, dc=com"
rootpw dirtysecret
# The database directory MUST exist prior to running slapd AND 
# change path as necessary
directory   /var/db/openldap/example-com

错误第 3 部分

telnet <host> <port>使用LDAP IP 地址进行故障排除

也可能有用(http://www.openldap.org/faq/data/cache/532.html

ldap_read: want=8 error=Resource temporarily unavailable

错误第 4 部分

64da525 <= hdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30988)
564da525 => bdb_entry_get: cannot find entry: "cn=melka martin,ou=release engineering,ou=development,ou=research and development,ou=cz,dc=int,dc=company,dc=com"
564da525 QUERY NOT ANSWERABLE
564da525 QUERY CACHEABLE

相关内容