Dalam panduan ini, kita akan mempelajari cara men-setup OpenLDAP Master-Master Replication pada CentOS 8. OpenLDAP mendukung berbagai macam topologi replikasi seperti provider-slave, provider-providertopologi. Oleh karena itu, multi-penyedia alias replikasi multi-master, adalah teknik replikasi yang menggunakan LDAP Sync Replication engine( Syncrepl) untuk mereplikasi data ke beberapa server Direktori penyedia (“Master”).
Siapkan Replikasi Master-Master OpenLDAP di CentOS 8
Dalam pengaturan kami, kami menggunakan dua node server OpenLDAP:
- Node Penyedia 01: ldapmaster01.kifarunix-demo.com
- Node Penyedia 02: ldapmaster02.kifarunix-demo.com
Replikasi kami melibatkan konfigurasi OpenLDAP ( olcDatabase={0}config,cn=config) dan olcDatabase={1}mdb,cn=configreplikasi database ( ).
Atur Sinkronisasi Waktu
Sebelum Anda dapat melanjutkan ke penyiapan replikasi multi-master OpenLDAP, pastikan bahwa jam server OpenLDAP Anda disinkronkan.
Lihat tautan di bawah ini untuk mengatur server NTP Anda di CentOS 8.
Siapkan Server NTP menggunakan Chrony di CentOS 8
Instal dan Siapkan Server OpenLDAP
Dalam pengaturan kami, kami akan mereplikasi seluruh konfigurasi OpenLDAP dan direktori data. Dengan demikian, instal, atur, dan konfigurasikan salah satu node Penyedia. Ikuti panduan di bawah ini untuk menginstal server OpenLDAP di CentOS 8.
Instal dan Siapkan OpenLDAP di CentOS 8
Setelah salah satu node OpenLDAP dikonfigurasi, klon untuk membuat node kedua dalam keadaan konfigurasi yang sama.
Jika Anda tidak dapat mengkloning node OpenLDAP, cukup instal dan atur node OpenLDAP lainnya, lalu buat cadangan konfigurasi dan direktori data dari node yang sudah disiapkan dan pulihkan di node lain. Pastikan bahwa semua direktori, file, dan izin yang diperlukan telah diatur dengan benar.
Aktifkan Modul Hamparan Penyedia Sinkronisasi LDAP (syncprov)
Untuk mengaktifkan sinkronisasi konten LDAP (replikasi sinkronisasi), Anda harus mengaktifkan modul Overlay syncprov on all the Provider nodes.
Untuk mengaktifkan Modul Overlay Syncprov, Anda dapat membuat file LDIF seperti yang ditunjukkan di bawah ini dan menggunakan ldapmodifyatau ldapaddperintah untuk memperbarui konfigurasi database OpenLDAP.
vim enable-syncprov-module.ldif
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la
Perhatikan bahwa file LDIF ini mengasumsikan bahwa syncprov.lamodul terletak di bawah jalur modul yang ditentukan,/usr/libexec/openldap. Untuk memverifikasi jalur modul;
slapcat -n 0 | grep -i modulepath
olcModulePath: /usr/libexec/openldap
Perbarui konfigurasi database OpenLDAP;
ldapadd -Y EXTERNAL -H ldapi:/// -f enable-syncprov-module.ldif
Jika Anda tidak ingin menggunakan file LDIF, cukup jalankan ldapaddperintah seperti gambar di bawah ini;
ldapadd -Y EXTERNAL -H ldapi:/// -Q
Setelah perintah berjalan, rekatkan konten di bawah ini;
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la
Tekan ENTER dan tambahkan ubah entri pada database.
modifying entry "cn=module{0},cn=config"
Setelah entri ditambahkan, tekan Ctrl+d untuk menghentikan perintah.
Jika Anda membuat moduleentri baru, cukup gunakan konten di bawah ini baik dalam file LDIF atau sebagai masukan ldapaddatau ldapmodifyperintah.
dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/libexec/openldap olcModuleLoad: syncprov.la
Tetapkan ID Server
Pada setiap node OpenLDAP, Anda perlu menetapkan ID untuk mengidentifikasi penyedia secara unik. ID server ditentukan dalam format;
olcServerID: <integer> [<URL>]
Oleh karena itu, pada setiap node, jalankan perintah di bawah ini untuk menetapkan ID.
vim assign-server-ID.ldif
Di kedua node penyedia;
dn: cn=config changetype: modify add: olcServerID olcServerID: 1 ldap://ldapmaster01.kifarunix-demo.com olcServerID: 2 ldap://ldapmaster02.kifarunix-demo.com
Perbarui konfigurasi basis data.
ldapadd -Y EXTERNAL -H ldapi:/// -f assign-server-ID.ldif
Siapkan Pengaturan Replikasi Master-Master OpenLDAP
Setelah Anda mengaktifkan modul penyedia Sinkronisasi dan mengatur ID node penyedia, lanjutkan untuk mengonfigurasi pengaturan replikasi.
Aktifkan Replikasi Konfigurasi OpenLDAP
Untuk mengaktifkan replikasi konfigurasi OpenLDAP ( olcDatabase={0}config,cn=config), buat file LDIF dengan konten di bawah ini dan perbarui database OpenLDAPon all provider nodes.
vim syncprov-config-options.ldif
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
Konsultasikan man slapo-syncprov untuk deskripsi opsi yang digunakan di atas.
Perbarui database OpenLDAP dengan opsi replikasi yang ditentukan di atas.
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov-options.ldif
Selanjutnya, atur password root DN untuk database konfigurasi OpenLDAP on all provider nodes.
Karena kami tidak mengatur password RootDN konfigurasi OpenLDAP seperti yang ditunjukkan pada perintah di bawah ini;
ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase={0}config olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={0}config,cn=config olcRootDN: cn=config...
Hasilkan hash password.
slappasswd
New password: [email protected] Re-enter new password: [email protected] {SSHA}tq3ZI0S1AyyeiAVuB2JZGfNaQ2RYVtZn
Tetapkan password konfigurasi basis data.
vim rootpwd.ldif
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}h97GS2nwkHFkwMCbhYmeoRqhJ2ROrMLJ
Tambahkan password root basis data.
ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif
Mengonfirmasi;
ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase={0}config olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={0}config,cn=config olcRootDN: cn=config olcRootPW: {SSHA}6Gdu7FnwaSRYpbCFwMastAyN1CAgHY4n
Selanjutnya, aktifkan opsi replikasi untuk konfigurasi OpenLDAP pada all nodes.
vim enable-config-replication.ldif
Be sure to replace the options used here according to your environment setup.
dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncRepl olcSyncRepl: rid=001 provider=ldaps://ldapmaster01.kifarunix-demo.com binddn="cn=config" bindmethod=simple credentials="[email protected]" searchbase="cn=config" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" olcSyncRepl: rid=002 provider=ldaps://ldapmaster02.kifarunix-demo.com binddn="cn=config" bindmethod=simple credentials="[email protected]" searchbase="cn=config" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" - add: olcMirrorMode olcMirrorMode: TRUE
Perbarui database OpenLDAP dengan pengaturan replikasi di atas.
ldapadd -Y EXTERNAL -H ldapi:/// -f enable-config-replication.ldif
Aktifkan Replikasi Database OpenLDAP
Untuk mengaktifkan replikasi database OpenLDAP, cukup buat file LDIF dengan konten di bawah ini. Be sure to make the necessary changes on the defined options.
CATATAN bahwa dalam kasus kami, kami telah memiliki user pengikat DN Root dan password
yang ditetapkan untuk database penyimpanan data.
ldapsearch -Y EXTERNAL -H ldapi:/// -b olcDatabase={1}mdb,cn=config olcRootDN olcRootPW -LLL -Q
dn: olcDatabase={1}mdb,cn=config olcRootDN: cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com olcRootPW: {SSHA}DoFW9xVBNRBy4it31167J82ZJ83Qoj1v...
Jika Anda tidak memiliki user dan password Root DN, buat satu atau cadangan sebelum melanjutkan.
Aktifkan penyedia sinkronisasi untuk database OpenLDAP on all providers.
vim enabl-mdb-syncprov.ldif
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov olcSpSessionlog: 100
ldapadd -Y EXTERNAL -H ldapi:/// -f enabl-mdb-syncprov.ldif
Aktifkan entryCSN dan entryUID indeks untuk meningkatkan kecepatan pemindaian database dan kinerja log sesi pada penyedia masing-masing.
vim enable-indexing.ldif
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryCSN eq - add: olcDbIndex olcDbIndex: entryUUID eq
ldapadd -Y EXTERNAL -H ldapi:/// -f enable-indexing.ldif
Selanjutnya, tentukan opsi replikasi database on all providers.
vim enable-database-repl.ldif
dn: olcDatabase={1}mdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: rid=003 provider=ldaps://ldapmaster01.kifarunix-demo.com binddn="cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com" bindmethod=simple credentials="[email protected]" searchbase="dc=ldapmaster,dc=kifarunix-demo,dc=com" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" olcSyncrepl: rid=004 provider=ldaps://ldapmaster02.kifarunix-demo.com binddn="cn=admin,dc=ldapmaster,dc=kifarunix-demo,dc=com" bindmethod=simple credentials="[email protected]" searchbase="dc=ldapmaster,dc=kifarunix-demo,dc=com" type=refreshAndPersist timeout=0 network-timeout=0 retry="30 5 300 +" - add: olcMirrorMode olcMirrorMode: TRUE
Perbarui basis data.
ldapadd -Y EXTERNAL -H ldapi:/// -f enable-data-replication.ldif
Konsultasikan man slapd-configuntuk opsi replikasi yang digunakan dalam file LDIF di atas.
Memverifikasi Replikasi Master-Master OpenLDAP
Konfigurasi replikasi penyedia-penyedia (master-master) OpenLDAP sekarang selesai. Untuk mengonfirmasi itu, coba buat perubahan apa pun pada salah satu penyedia.
Misalnya, tambahkan user, setel ulang password, perbarui acl. Ini harus tercermin pada salah satu penyedia.
Untuk keperluan demonstrasi, izinkan kami mengatur ulang password untuk entri user di bawah ini pada Penyedia 01, ldapmaster01.kifarunix-demo.com.
uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
[[email protected] ~]# ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com"
New password: newpassword Re-enter new password: newpassword SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0
Verifikasi perubahan password pada Provider 02, ldapmaster02.kifarunix-demo.com.
[[email protected] ~]# ldapwhoami -x -h ldapmaster01.kifarunix-demo.com -D "uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com" -W
Enter LDAP Password: newpass dn:uid=linus,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
Demikian pula, coba setel ulang password user pada Penyedia 02, ldapmaster02.kifarunix-demo.com.
[[email protected] ~]# ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=koromicha,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com"
New password: mypassword Re-enter new password: mypassword SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0
Verifikasi pada Penyedia 01;
[[email protected] ~]# ldapwhoami -x -h ldapmaster01.kifarunix-demo.com -D "uid=koromicha,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com" -W
Enter LDAP Password: mypassword dn:uid=koromicha,ou=people,dc=ldapmaster,dc=kifarunix-demo,dc=com
Besar. Anda telah berhasil mengatur OpenLDAP Master-master (penyedia-penyedia) di CentOS 8.
Itu menandai akhir dari panduan kami tentang cara menginstal dan mengatur OpenLDAP Master-Master Replication di CentOS 8.
Referensi:
Replikasi OpenLDAP
Panduan Terkait
Siapkan Replikasi Master-Slave OpenLDAP di CentOS 8
Cara Mengonfigurasi Otentikasi OpenLDAP DokuWiki
Terapkan Kebijakan Kata Sandi OpenLDAP
Cara Mengkonfigurasi SUDO melalui OpenLDAP Server