CentOS7 配置OpenLDAP(三)配置OpenLDAP多主模式(镜像模式)

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

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

1. 环境信息说明

主机名称 地址 版本 角色 备注
sysldap-shylf-1 10.116.72.11 CentOS7.6 min openLdap, httpd, phpldapadmin 主节点
sysldap-shylf-2 10.116.72.12 CentOS7.6 min openLdap, httpd, phpldapadmin 主节点
systerm-shylf-1 10.116.72.15 CentOS7.6 min openLdap client

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

2. OpenLDAP服务基础配置

本文档加上2个节点都已经设置好了OpenLDAP服务基础配置(OpenLDAP服务基础配置可以参考上一篇文档 https://blog.csdn.net/oyym_mv/article/details/94404663 )

3. 配置OpenLDAP 双主结构(mirrormode)

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

2个主节点都需要执行

vi 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

#--------------------------------------
vi 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

3.2 主节点1配置(10.116.72.11)同步

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

vi 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

3.3 主节点2配置(10.116.72.12)同步

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

vi 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 
  • 验证
从服务节点验证数据是否同步正常
ldapsearch -x -b 'ou=People,dc=example,dc=com'
[输出内容省略]

验证是OK的。

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

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

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

[800001@systerm-shylf-1 ~]$ 

参考文档:https://www.server-world.info/en/note?os=CentOS_7&p=openldap&f=6

你可能感兴趣的:(Linux)