此过程显示的示例命令用于在包含两个主服务器的复制拓扑上设置复制。
此示例显示了一个简单复制配置(使用自签名证书)。在生产环境中设置通过 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 -w password-file -p 1389 dc=example,dc=com $ dsconf create-suffix -e -i -w password-file -p 2389 dc=example,dc=com |
在所有服务器上设置多主密码文件。
$ dsconf set-server-prop -e -i -w password-file -h example1.server -p 1389 \ def-repl-manager-pwd-file:/local/ds1/replmanrpwd1.txt $ dsconf set-server-prop -e -i -w password-file -h example2.server -p 2389 \ def-repl-manager-pwd-file:/local/ds1/replmanrpwd2.txt |
在所有服务器上启用复制。
$ dsconf enable-repl -h example1.server -p 1389 -e -i -w password-file -d 1 master dc=example,dc=com $ dsconf enable-repl -h example2.server -p 2389 -e -i -w password-file -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 -w password-file\ --auth-protocol "ssl-simple" dc=example,dc=com example2.server:2636 $ dsconf create-repl-agmt -h example2.server -p 2389 -e -i -w password-file\ --auth-protocol "ssl-simple" dc=example,dc=com example1.server:1636 |
针对所有复制协议,在复制协议中将验证密码文件配置为使用方(目标)服务器的复制管理员密码文件。
$ dsconf set-repl-agmt-prop -h example1.server -p 1389 -e -i -w password-file\ 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 -w password-file\ 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 \ -w password-file /tmp/Example.ldif dc=example,dc=com |
在尚未初始化的所有服务器上,使用复制协议初始化这些服务器。
$ dsconf init-repl-dest -e -i -w password-file \ -h example1.server -p 1389 dc=example,dc=com example1.server:2636 |