本程序顯示在複寫拓樸中設定兩部主伺服器的複寫之指令範例。
此範例顯示使用自行簽署的憑證之簡單複寫配置。在生產環境中設定經由 SSL 的複寫時,如果改用憑證授權機構信任的憑證會更安全。
如果供應者伺服器憑證為僅用於 SSL 伺服器的憑證,而無法在 SSL 訊號交換期間做為用戶端,則經由 SSL 的複寫會失敗。
經由 SSL 保護複寫時,複寫管理員的認證仍會使用簡單連結與密碼完成。您可以使用以用戶端為基礎的認證來完整保護複寫,但是這麼做需要更複雜的設定。
您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
建立並啟動新的伺服器。
$ dsadm create -p 1389 -P 1636 /local/ds1 $ dsadm create -p 2389 -P 2636 /local/ds2 $ dsadm start /local/ds1 $ dsadm start /local/ds2 |
在所有伺服器上建立空的尾碼。
$ dsconf create-suffix -e -i -p 1389 dc=example,dc=com $ dsconf create-suffix -e -i -p 2389 dc=example,dc=com |
在所有伺服器上設定多重主伺服器密碼檔案。
$ dsconf set-server-prop -e -i -h example1.server -p 1389 \ def-repl-manager-pwd-file:/local/ds1/replmanrpwd1.txt $ dsconf set-server-prop -e -i -h example2.server -p 2389 \ def-repl-manager-pwd-file:/local/ds1/replmanrpwd2.txt |
在所有伺服器上啟用複寫。
$ dsconf enable-repl -h example1.server -p 1389 -e -i -d 1 master dc=example,dc=com $ dsconf enable-repl -h example2.server -p 2389 -e -i -d 2 master dc=example,dc=com |
在所有伺服器上檢視現有的預設憑證。
$ dsadm show-cert -F der -o certfile1 /local/ds1 defaultCert $ dsadm show-cert -F der -o certfile2 /local/ds2 defaultCert |
從所有其他伺服器將 CA 信任的憑證增加至所有伺服器上。
$ dsadm add-cert --ca /local/ds1 "ds2 Repl Manager Cert" certfile2 $ dsadm add-cert --ca /local/ds2 "ds1 Repl Manager Cert" certfile1 |
在所有主伺服器與集散 (來源) 伺服器上,建立所有用戶 (目標) 伺服器的複寫協議。
請注意,複寫協議使用 LDAP 安全連接埠。
$ dsconf create-repl-agmt -h example1.server -p 1389 -e -i \ --auth-protocol "ssl-simple" dc=example,dc=com example2.server:2636 $ dsconf create-repl-agmt -h example2.server -p 2389 -e -i \ --auth-protocol "ssl-simple" dc=example,dc=com example1.server:1636 |
請針對所有複寫協議,在複寫協議中將認證密碼檔案配置為用戶 (目標) 伺服器的複寫管理員密碼檔案。
$ dsconf set-repl-agmt-prop -h example1.server -p 1389 -e -i \ dc=example,dc=com example2.server:2636 auth-pwd-file:/local/ds1/replmanrpwd2.txt $ dsconf set-repl-agmt-prop -h example2.server -p 2389 -e -i \ dc=example,dc=com example1.server:1636 auth-pwd-file:/local/ds1/replmanrpwd1.txt |
如果選擇該選項,在初始化尾碼之後,供應者會將所有複寫更新訊息經由 SSL 傳送給用戶,並將使用憑證。用戶初始化如果使用為 SSL 配置的協議透過 DSCC 執行,也將使用安全連線。
請在所有伺服器上重新啟動伺服器,以使配置變更生效。
$ dsadm restart /local/ds1 $ dsadm restart /local/ds2 |
在其中一部主伺服器上初始化尾碼。
$ dsconf import -h example1.server -p 1389 -e -i /tmp/Example.ldif dc=example,dc=com |
在尚未初始化的所有伺服器上,使用複寫協議初始化伺服器。
$ dsconf init-repl-dest -e -i -h example1.server -p 1389 \ dc=example,dc=com example1.server:2636 |