OpenLDAP 主副配置 Master-Slave
在上篇有教學怎麼安裝及配置 OpenLDAP 服務,這一篇是教怎麼設定主從配置,因為在使用這一類的服務最好要有兩台以上這樣子配置會比較好,不然日後如有狀況的話會影響的層面是全部的有跟 LDAP 配置都有可能無法使用。
Master 設定檔
首先,我們建立一個對所有 LDAP 對象具有讀訪問權限的用戶,以避免因安全原因使用 LDAP root(ldapadm)帳戶進行複制。
vim rpuser.ldif
dn: uid=rpuser,dc=itzgeek,dc=local <<修改 dc=xxx 資訊
objectClass: simpleSecurityObject
objectclass: account
uid: rpuser
description: Replication User
userPassword: root1234 <<修改要登入的密碼
存檔後將剛剛建立的資訊寫入 LDAP 服務
ldapadd -x -W -D "cn=ldapadm,dc=itzgeek,dc=local" -f rpuser.ldif << cn=xxx 及 dc=xxx 修改成管理者帳號及網域
登入成功並且寫入畫面
Enter LDAP Password:
adding new entry "uid=rpuser,dc=itzgeek,dc=local"
在 Master 服務上啟用 syncprov 模組
vim syncprov_mod.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
存檔後,寫入 LDAP 服務
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif
成功後的畫面
將每個目錄都啟用 syncprov
vim syncprov.ldif
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
存檔後加入 LDAP 服務
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
成功後的畫面
Slave 設定檔
現在,我們將配置 Slave,將最重要的配置(如LDAP服務器URI,LDAP用戶和密碼)填入每個從屬節點的文件中。
vim rp.ldif
設定檔填入以下內容。但是不要忘記更改 rid = xxx 信息,這是每個服務器唯一的三位數字。
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
### LDAP Master URI ###
provider=ldap://192.168.12.11:389/
bindmethod=simple
### LDAP Domain ###
binddn="uid=rpuser,dc=itzgeek,dc=local"
### Replication user credential ###
credentials=root1234
searchbase="dc=itzgeek,dc=local"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="30 5 300 3"
interval=00:00:05:00
不要忘記刪除#hashed行,因為它可能會在更新LDAP配置時導致錯誤
將剛剛設定檔寫入 LDAP 服務
ldapmodify -Y EXTERNAL -H ldapi:/// -f rp.ldif
寫入成功畫面
這樣子 Slave 設定完畢,可以試著到 Master 管理畫面測試新增人員名單,然後再登入 Slave 管理畫面是否有沒有正常同步,如果有正常同步的話那表示 Master 及 Slave 設定都是正常的