Centos7上配置最新版openldap服务多主模式(镜像模式)

目的

在实际产线运维环境下,使用最多的就是镜像模式,当然多IDC机房的情况下也会结合使用其他模式,例如主从模式。

镜像模式只允许2个主节点,如果超过2个节点其他节点只会同步获取前面2个节点的配置(这个是博客文档里面看到的,没有验证)

环境

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

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

OpenLDAP服务基础配置

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

配置OpenLDAP 双主结构(mirrormode)

OpenLDAP的2个主节点都需要添加模块syncprov

2个主节点都需要执行

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

主节点1配置(10.116.72.11)同步

需要根据实际情况修改的参数:
provider 同步来源,也就是主节点,可以包含多个主节点
binddn 主节点管理账户
credentials 主节点管理账户密码
searchbase 根目录
特别主机:2个主节点属性 olcServerID的值不能相同,provider指向对方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
vim master_node_1.ldif
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 0

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
provider=ldap://10.116.72.12: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
-
add: olcMirrorMode
olcMirrorMode: TRUE

dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov

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

主节点2配置(10.116.72.12)同步

特别主机:2个主节点属性 olcServerID的值不能相同,provider指向对方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
vim master_node_2.ldif

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1

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
-
add: olcMirrorMode
olcMirrorMode: TRUE

dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov

# 发送配置使之生效
ldapadd -Y EXTERNAL -H ldapi:/// -f master_node_2.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/3337f7d4.html

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

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