Centos7上配置最新版openldap服务主从架构

目的

在实际产线运维环境下,可能包含多个IDC机房,每个机房的主机都需要通过OpenLDAP体系管理运维账户登录。这种情况下可以配置OpenLDAP的主从架构实现(当然同一个机房也可以配置主从架构,客户端配置ldap uri指定多个地址)。主openldap节点称为“provider”可读可写,从openldap节点称为“consumer”只读。

环境

主机名称地址版本角色备注
sysldap-shylf-110.116.72.11CentOS7.6 minopenLdap, httpd, phpldapadmin主节点
sysldap-shylf-210.116.72.12CentOS7.6 minopenLdap从节点,可以配置多从的
systerm-shylf-110.116.72.15CentOS7.6 minopenLdap client

前提条件,为了方便配置防火墙以及禁用selinux
配置示例:dc=example,dc=com

OpenLDAP服务基础配置

本文档假设2个节点都已经设置好了OpenLDAP服务基础配置

配置OpenLDAP主从结构

主节点配置(10.116.72.11),添加模块syncprov

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
vim mod_syncprov.ldif

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la

# 发送配置使之生效
ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif

#--------------------------------------
vim syncprov.ldif
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100

# 发送配置使之生效
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

从节点配置(10.116.72.12)同步

需要根据实际情况修改的参数:
provider 同步来源,也就是主节点,可以包含多个主节点
binddn 主节点管理账户
credentials 主节点管理账户密码
searchbase 根目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vim syncrepl.ldif

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
provider=ldap://10.116.72.11:389/
bindmethod=simple
binddn="cn=Manager,dc=example,dc=com"
credentials=openldap
searchbase="dc=example,dc=com"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="30 5 300 3"
interval=00:00:05:00

# 发送配置使之生效
ldapadd -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
  • 验证
1
2
3
4
5
从服务节点验证数据是否同步正常
ldapsearch -x -b 'ou=People,dc=example,dc=com'
[输出内容省略]

验证是OK的。

远程主机配置(客户端 10.116.72.15)

客户端 可以指定多个openldap uri 修改配置如下(当然也可以只配置其中1个)

1
authconfig --enableldap --enableldapauth --ldapserver="10.116.72.11,10.116.72.12" --ldapbasedn="dc=example,dc=com" --update
  • 验证
1
2
3
4
5
6
ssh  800001@10.116.72.15
Warning: Permanently added '10.116.72.15' (ECDSA) to the list of known hosts.
800001@10.116.72.15's password:
Last login: Thu Jul 4 17:59:32 2019 from 10.116.71.200

[800001@systerm-shylf-1 ~]$
-------------本文结束感谢您的阅读-------------

本文标题:Centos7上配置最新版openldap服务主从架构

文章作者:豌豆多多

发布时间:2019年08月28日 - 13:08

最后更新:2019年11月01日 - 18:11

原始链接:https://wandouduoduo.github.io/articles/760f3c02.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

原创技术分享,您的支持将鼓励我继续创作