从 OSX OpenDirectory 复制到 OpenLDAP

从 OSX OpenDirectory 复制到 OpenLDAP

我在 OSX Server 机器上运行着一个 OpenDirectory 服务器,我想通过安装一个从属服务器来提高服务的可靠性。问题是,我只有 1 个 OSX Server,但有很多可用的 Linux 服务器。我对与 OpenDirectory 集成的 Apple 工具很满意,但考虑到 Apple 最近停止了 XServe 的销售,我对继续使用 Apple 硬件并不特别感兴趣。

我记得听说过 OpenDirectory (现在远远) 基于 OpenLDAP 代码库;有没有什么方法可以从 OpenDirectory 复制到 OpenLDAP,而不必购买另一台 OSX 服务器?

答案1

有点。Open Directory 域实际上是 3 个半集成服务:LDAPv3 用于大多数数据(由相当标准的 OpenLDAP 服务器提供)、Kerberosv5 KDC 用于单点登录身份验证(由 MIT 的 Kerberos 实现提供,并进行了一些调整)以及基于 SASL 的密码服务器用于其他类型的身份验证(由至少部分基于 CMU SASL 项目的某个程序提供)。

复制 LDAP 组件不应该太难 —— 像配置任何其他 OpenLDAP 实现一样配置 syncrepl,然后将额外的服务器 URL 添加为 LDAP 中 cn=ldapreplicas,cn=config,whateveryoursearchbaseis 记录的 apple-ldap-replica 属性的值(这会告诉客户端有关副本的信息)。

密码服务和 Kerberos 则困难得多。据我所知,Apple 已大大扩展了 CMU SASL 代码,因此我认为如果不付出巨大努力,就不可能复制它。Kerberos 会很容易……只不过它依赖于密码服务器进行复制(副本网络中的密码服务器会相互更新新密码,然后每个服务器都负责更新同一服务器上的 Kerberos KDC)。请注意,cn=config 下还有 LDAP 记录,告诉客户端所有可用的密码服务器和 KDC 在哪里;Kerberos 的记录相当明显,但密码服务器的记录更难辨认。

因此,您可以进行 LDAP 复制,但我认为密码服务器和 KDC 副本并不实用。如果您没有备份这些服务,复制 LDAP 就没什么好处。

如果你只关心正常运行时间,那么添加一台 Mac Mini 服务器作为副本如何?它们无论如何都无法提供高吞吐量服务,但作为紧急备份,我认为它们恰好是最佳选择。

相关内容