跳到主內容

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

成功後的畫面

ldap-3.png

將每個目錄都啟用 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

成功後的畫面

ldap-4.png

 

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

寫入成功畫面

ldap-5.png

這樣子 Slave 設定完畢,可以試著到 Master 管理畫面測試新增人員名單,然後再登入 Slave 管理畫面是否有沒有正常同步,如果有正常同步的話那表示 Master 及 Slave 設定都是正常的

 

參考相關網頁: