具有 Active Directory 的 SSSD 站点

具有 Active Directory 的 SSSD 站点

我是一名 Windows 管理员,负责管理我们的 AD 基础架构。我们的 Linux 团队一直在构建一些 CentOS 7 VM,并配置它们以使用 SSSD 加入域。

初始配置是查询不同站点中的 DC(而不是之前写的域),因此我要求他们研究将 AD 站点与 SSSD 一起使用。

服务器现在从 DNS 返回 3 个 _ldap DC 记录。它尝试的第一个记录来自不同的站点,因此无法访问。第二个记录成功,并检索到正确的站点名称。在一段时间内(不确定具体多长时间),它将使用响应的 DC,这段时间过后,它将重新从 DNS 获取 3 个 _ldap 记录。

这会导致登录延迟,我们被要求解决这个问题。如果我们在配置中设置站点名称,那么它总是有效的,但我们必须考虑到,我们将这些虚拟机从备份还原到另一个站点,而现在设置的站点名称可能是错误的。

我不太了解 CentOS 中的配置,但有没有办法让它正常工作,或者它已经在这样做了?

答案1

您需要告诉 SSSD 使用哪个站点。

[domain/example.com]
dns_discovery_domain = MyLocalSite._sites.example.com

这将对 ldap/kerberos 执行以下 DNS 查找

dig SRV +short _ldap._tcp.MyLocalSite._sites.example.com
dig SRV +short _kerberos._tcp.MyLocalSite._sites.example.com

您可以从 AD DNS 或站点和服务获取这些站点的列表

nltest.exe /dclist:EXAMPLE.COM

我认为微软在这方面做得很差,根据你的变化率,你可能需要自己设置一个发现子域名或使用 FreeIPA

示例查询dig SRV +short _ldap._tcp.MyLocalSite._sites.example.com

Microsoft 站点和服务 DNS

_ldap._tcp.MyLocalSite._sites.example.com 600 IN SRV 0 100 389 dc1.example.com

IPA 位置 DNS

_ldap._tcp.MyLocalSite._sites.example.com 600 IN SRV 0 100 389 dc1.example.com
_ldap._tcp.MyLocalSite._sites.example.com 600 IN SRV 100 100 389 dc2.example.com

当您配置位置时,IPA 将始终列出所有 ipa 服务器,并根据 geoDNS 修改 dns SRV 记录优先级,希望 Server 2016 能够添加对此的支持,我没有关于如何使用 2016 服务器提供本地 SRV 记录的示例。

如果您想在另一个域下手动创建一个站点,您可以这样做,没有什么规定说您不可以。

例子

SSSD.conf

dns_discovery_domain = MyLocalSite._linux_sites.example.com

DNS

_ldap._tcp.MyLocalSite._linux_sites.example.com 600 IN SRV 0 100 389 dc1.example.com
_ldap._tcp.MyLocalSite._linux_sites.example.com 600 IN SRV 100 100 389 dc2.example.com

相关内容