生产环境OpenLDAP主从集群

1、背景

在很多组织中,需要对用户和系统进行统一的身份认证和授权管理。为了实现这一目标,通常会使用LDAP(轻量级目录访问协议)来构建集中化的身份认证和授权服务。而在生产环境中,为了保证高可用性和可扩展性,需要构建OpenLDAP主从集群来提供稳定的身份认证服务。

2、环境

在开始部署之前,需要准备以下环境:

  • 操作系统:Centos7
  • OpenLDAP版本:OpenLDAP: slapd 2.4.44
  • 服务器数量:2台(1台主服务器和1台从服务器)
  • 网络环境:两台服务器应在同一局域网内,确保网络连接稳定

3、主节点安装

清参考下方链接
https://blog.csdn.net/heian_99/article/details/138963912

在这里插入图片描述

4、从节点安装

假设master节点的地址为192.168.102.20。对于master节点,完全参照前述章节操作并配置好。

对于slave节点,也参照前述章节安装并配置,但只到执行ldapdomain.ldif文件后就行。也就是设置了管理员用户账号就行,不用添加部门或其它人员信息。另外,phpLDAPadmin可以安装。

1、配置master节点

在master节点上,我们需要导入相关的信息。

创建syncprov_mod.ldif文件:

cat > syncprov_mod.ldif << "EOF"
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
EOF

执行:

ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif

创建syncprov.ldif文件:

cat > syncprov.ldif << "EOF"
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpCheckpoint: 1 1
olcSpSessionLog: 1024
EOF

执行:

ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

2、配置slave节点

在slave节点上配置主从。

创建rp.ldif文件:

cat > rp.ldif << "EOF"
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
    provider=ldap://192.168.102.20:389
    bindmethod=simple
    binddn="cn=Manager,dc=fujfu,dc=com"
    credentials=examplePassword
    searchbase="dc=fujfu,dc=com"
    scope=sub
    schemachecking=on
    type=refreshAndPersist
    retry="30 5 300 3"
    attrs="*,+"
    interval=00:00:02:00
EOF

provider表示master的地址,其他的都是些基础信息。需要注意的是认证用户一定要使用超级管理员,如果使用普通用户连接master的话,slave将不会同步用户的密码字段信息。credentials是管理员的密码。
执行:

ldapmodify -Y EXTERNAL -H ldapi:/// -f rp.ldif

除此之外,为了优化openldap的查询速度,我们添加了相关字段属性的索引。

cat > index.ldif << "EOF"
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uid eq,pres
olcDbIndex: uniqueMember eq,pres
olcDbIndex: uidNumber,gidNumber eq,pres
olcDbIndex: member,memberUid eq,pres
olcDbIndex: entryUUID eq
olcDbIndex: entryCSN eq
EOF

执行:

ldapadd -Y EXTERNAL -H ldapi:/// -f index.ldif

3、验证主从正确性

slave机器上配置完毕后,无需重启master机器和slave机器的slapd服务。

在slave机器上查看openldap日志,如下:

journalctl -u slapd -n 100 -f

在这里插入图片描述
通过上图,我们可以很明显的看到slave机器上slapd服务没有报错,而且已经在同步相关openldap数据。

现在切换到master机器上查看openldap日志,如下:

journalctl -u slapd -n 100 -f

在这里插入图片描述
通过上图我们也可以发现master没有报错,而且也看到slave机器已经在同步信息了。

现在我们再使用phpLDAPadmin工具,登录slave查看相关信息,如下:
在这里插入图片描述

通过上图,我们可以看到slave节点上已经有账号信息了。这也就说明OpenLDAP的master-slave已经在正常同步数据。

4、测试

可测试如下两点:
1、在master节点上修改用户字段信息,slave节点上应能同步到修改信息。
2、在slave节点修改用户字段信息,应该无法操作。因为我们采用的主从模式中,slave节点是自读的。

如果测试无问题,说明我们的主从的确正常运行。
LDAP查看命令
附ldap查看配置命令:
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config
ldapsearch -x cn=test -b dc=local,dc=cn

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要实现OpenLDAP 2.2版本的主从配置,需要按照以下步骤进行: 1. 首先,确保主服务器和从服务器都安装了OpenLDAP 2.2版本,并且已经配置好了基本的LDAP服务。 2. 在主服务器上,编辑slapd.conf文件,添加以下内容: replication host=从服务器IP地址:LDAP端口 binddn="cn=管理员账号,dc=域名,dc=com" bindmethod=simple credentials=管理员账号密码 searchbase="dc=域名,dc=com" scope=sub schemachecking=on type=refreshAndPersist retry="60 +" interval=00:00:05:00 3. 在从服务器上,同样编辑slapd.conf文件,添加以下内容: syncrepl rid=001 provider=ldap://主服务器IP地址:LDAP端口 type=refreshAndPersist interval=00:00:05:00 searchbase="dc=域名,dc=com" scope=sub schemachecking=on bindmethod=simple binddn="cn=管理员账号,dc=域名,dc=com" credentials=管理员账号密码 4. 在主服务器上,使用ldapadd命令添加以下配置到LDAP数据库: dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://从服务器IP地址:LDAP端口 bindmethod=simple binddn="cn=管理员账号,dc=域名,dc=com" credentials=管理员账号密码 searchbase="dc=域名,dc=com" scope=sub schemachecking=on type=refreshAndPersist retry="60 +" interval=00:00:05:00 5. 在从服务器上,同样使用ldapadd命令添加以下配置到LDAP数据库: dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldap://主服务器IP地址:LDAP端口 bindmethod=simple binddn="cn=管理员账号,dc=域名,dc=com" credentials=管理员账号密码 searchbase="dc=域名,dc=com" scope=sub schemachecking=on type=refreshAndPersist retry="60 +" interval=00:00:05:00 6. 最后,重新启动OpenLDAP服务,在主服务器和从服务器上分别使用slapcat命令检查LDAP数据库是否同步成功。 以上就是OpenLDAP 2.2版本主从配置的步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南宫乘风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值