首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenLDAP通过代理推送复制-安装syncrepl指南

OpenLDAP通过代理推送复制-安装syncrepl指南
EN

Server Fault用户
提问于 2021-12-29 18:45:17
回答 2查看 204关注 0票数 0

我有一些与OpenLDAP和389-ds进行交互和故障排除的基本经验,但我没有建立或配置OpenLDAP服务器的全部经验。

我的目标是从受信任网络内部的主服务器向外设置复制到不受信任网络中的副本,而不允许副本由于防火墙流和网络需求而直接访问主服务器。即使对于初始连接也是如此,所以简单的RefreshAndPersist配置无法工作。

我已经读到,可以使用代理设置基于推送的复制,这样:

  • 代理作为“隐藏”数据库安装到与主服务器相同的服务器上。
  • 代理使用RefreshAndPersist设置主复制。
  • 然后,代理可以将数据从副本中推开。

我已经浏览并重新阅读了本文档中的许多部分:https://www.openldap.org/doc/admin24/replication.html --我还遵循了这个基本指南来设置一个具有复制功能的主程序:https://ubuntu.com/server/docs/service-ldap-replication

我遇到麻烦的是找到一个有用的指南,它将引导我完成前面描述的设置和配置代理的过程。

在我的研究和尝试中,我学习了如何加载和启用模块、打开日志记录和设置TLS支持。

我目前在Ubuntu20.04上运行了OpenLDAP 2.4,运行于Ubuntu资源库(slapd和ldap-utils与apt一起安装)。

下面是当前启用的模块:

代码语言:javascript
复制
root@davidw-ldap-provider-with-proxy:~# slapcat -n 0 | grep olcModuleLoad
olcModuleLoad: {0}back_mdb
olcModuleLoad: {1}pcache
olcModuleLoad: {2}back_ldap
olcModuleLoad: {3}syncprov
olcModuleLoad: {4}back_monitor
olcModuleLoad: {5}rwm

以下是日志记录设置:

代码语言:javascript
复制
root@davidw-ldap-provider-with-proxy:~# ldapsearch -Y EXTERNAL -H ldapi:/// -b 'cn=config' -D 'cn=config' -s base -LLL -W olcLoglevel
Enter LDAP Password: 
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: cn=config
olcLogLevel: Sync
olcLogLevel: stats

我们可以在上面的输出中看到,我加载了back_ldap (OpenLDAP的后端)和syncprov (覆盖)模块。我现在正试图按照https://www.pixelstech.net/article/1509263631-OpenLDAP-Proxy----slapd-conf的指南来设置代理。我在/etc/ldap/ldap.conf中添加了以下内容:

代码语言:javascript
复制
modulepath /usr/lib/ldap
moduleload back_bdb.la

database               ldap
readonly               yes
protocol-version       3
rebind-as-user
uri:                    "ldapi:///"
suffix                  "dc=ma,dc=us,dc=example,dc=com"
overlay                 rwm

我试图使用以下命令将其转换为ldif,这将产生一个错误,即"ldap“是一个无法识别的数据库类型:

代码语言:javascript
复制
root@davidw-ldap-provider-with-proxy:~# slaptest -f /etc/ldap/ldap.conf -F /etc/ldap/slapd.d/
Unrecognized database type (ldap)
61ccaacf /etc/ldap/ldap.conf: line 21: <database> failed init (ldap)
slaptest: bad configuration directory!

问题

  1. 为什么我会收到这个Unrecognized database type错误消息,即使我们可以证明ldap后端已经加载了呢?
  2. 一旦我得到代理设置,我在哪里可以找到有帮助的指示,以满足我的项目的其余需求?我已经向https://lists.openldap.org/hyperkitty/list/openldap-technical@openldap.org/thread/UDTYKW6AEDR2ALY43V2DQZSL7AVTG5GB/的openldap邮件列表发送了几封电子邮件,因为我被困住了,而且不知道如何前进。有一段时间,我试着从源代码编译v2.5,但无法像使用Ubuntu包那样接近配置,所以我又回到了使用apt的标准包上。
EN

回答 2

Server Fault用户

发布于 2021-12-30 13:17:54

我第一个问题的答案是我犯了一个愚蠢的错误。在ldap.conf文件中,我有以下内容:

代码语言:javascript
复制
modulepath /usr/lib/ldap
moduleload back_bdb.la

database               ldap

我加载的是back_bdb模块,而不是back_ldap模块。我需要将moduleload值更改为back_ldap.la

愚蠢的错误,可能是由于长时间盯着这些配置文件造成的。

票数 0
EN

Server Fault用户

发布于 2022-10-29 08:19:02

没有答案..。

你好大卫。想知道你是否成功了?我还试图在可信网络中设置ldap代理,该代理可以将更改的内容推送到不受信任的网络中的ldap。如果您有任何最新消息,非常感谢您能与我们分享。非常感谢。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1088505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档