version:ldap2.4 低于这版本的不适用
前提:
1:两台服务器A、B
2:两台服务器都已经装好了ldap,并可以正常启动,客户端可以正常连接
3:根域保持一致rootdn "cn=xxx,dc=xxx,dc=com
4:同步之前两者数据必须保持一致
1> 可以直接从其中一台的数据目录打包至另外一台数据目录
2> 可以使用导出导入的方式 (ldif格式)
部署
主
Vim /usr/local/openldap-2.4.24/etc/openldap/slapd.conf
####原有配置下方添加如下配置,对应字段修改
# 设置唯一ID号
serverID 1
# 开启同步
overlay syncprov
# 设置从B服务器获取信息
syncrepl rid=001 # 和B服务器保持一致,告诉B现在和你是同一组。
provider=ldap://xxx.xxx.xxx.xxx:389 #B服务器LDAP的IP及端口
设置为持续同步
searchbase="dc=xxx,dc=com" # 从B服务器同步dc=lhg,dc=com
验证开启
密码验证为简单模式(即明文,此处你可以改为加密)
binddn="cn=xxx,dc=xxx,dc=com" 使用cn=root,dc=lhg,dc=com用户进行读取(B服务器上必须有该用户)
# credentials=xxx # 密码为111111
# retry="60 +" # 重试为60秒,60和“+”之间必须有空格
#
#以上几个都是syncrepl的参数,可以考虑在一行里完成,我这里在最前面用一个TAB做了换行。
#mirrormode on #开启镜像模式
从
vim /usr/local/openldap-2.4.24/etc/openldap/slapd.conf
####原有配置下方添加如下配置,对应字段修改
# 设置唯一ID号
serverID 1
# 开启同步
overlay syncprov
# # 设置从B服务器获取信息
syncrepl rid=001 #和B服务器保持一致,告诉B现在和你是同一组。
provider=ldap://xxx.xxx.xxx.xxx:389 #B服务器LDAP的IP及端口
设置为持续同步
searchbase="dc=xxx,dc=com" #从B服务器同步dc=lhg,dc=com
验证开启
密码验证为简单模式(即明文,此处你可以改为加密)
binddn="cn=xxx,dc=xxx,dc=com" 使用cn=root,dc=lhg,dc=com用户进行读取(B服务器上必须有该用户)
credentials=xxx #密码为111111
重试为60秒,60和“+”之间必须有空格
#
#以上几个都是syncrepl的参数,可以考虑在一行里完成,我这里在最前面用一个TAB做了换行。
mirrormode on #开启镜像模式
启动校验
/etc/init.d/openldap start
1、是否能正常查找已经存在的数据
2、增加数据
比如 A:
1>创建文件
vim test.ldif
dn:cn=ceshi3,dc=xxxx,dc=com
objectclass:person
cn:ceshi3
#mail:
#mobile: 0
sn:: 5p2O5aWJ6b6Z
建立一条这种类型的ldif文件,至于里面的属性得根据自己的实际情况做修改
2>添加这条数据
/usr/local/openldap-2.4.24/bin/ldapadd -x -D "cn=xxxx,dc=xxx,dc=com" -w secret -f test.ldif
一般报无效的密码类型的,都是条目路径不对
A、B校验数据是否存在
/usr/local/openldap-2.4.24/bin/ldapsearch -x -b "dc=xxxxx,dc=com" "cn=ceshi3"
2、删除数据
/usr/local/openldap-2.4.24/bin/ldapdelete -x -D "cn=xxxx,dc=xxxx,dc=com" -w secret "cn=ceshi4,dc=xxx,dc=com"
删除刚刚创建的条目,然后用ldapsearch校验,同上
****个人知识点****
vim /etc/rsyslog.conf
local4.* /data/log/ldap/ldap.log
定义日志输出路径,可以在 vim /etc/syslog.conf 可以看到
/etc/init.d/syslog restart
不能启动时,可以在启动命令后加 -d 256 调试查看具体原因
双向部署拷贝数据同步时,先down掉两边的应用,然后在拷贝