在一家快速发展的公司中,我们拥有许多台主要为 Linux 的服务器(ubuntu 和 debian),并且我们正在转向 AD 进行用户管理、访问控制等。我已经设置了一个测试服务器,以使用 realmd/sssd 对 AD 进行身份验证。作为此过程的一部分,按照指南/向导,AD 服务器成为我们的主要公共域 example.com 的权威 DNS 服务器(我希望我说的正确,这对我来说是新事物)。但是它使用 SOA 为我们的主要域 example.com 创建了一个 DNS 服务器;我认为它这样做是因为它需要发送一条 SRV 记录)。但是,我们已经有一个内部使用的 DNS 服务器(使用 dnsmasq),当然它有自己的 SOA。我们的内部域是我们的主要公共域。
这是绝对必要的吗?如果不是,我该如何配置 AD 以将 example.com 的所有 DNS 请求转发到我们的内部名称服务器,同时仍创建和广播 SRV 记录,我很确定这正是 realmd 和/或 sssd 工作的原因。
答案1
这是一个可能出现的问题,需要仔细规划。
最佳做法是使用真实存在的 DNS 区域作为内部 AD 区域。这可以防止与真实外部资源发生冲突。埃萨建议您可以使用子域来实现这一点,这有助于防止与您为自己的公共资源运行的面向公众的 DNS 等发生冲突。您不希望您的内部 DNS 拥有与公共 DNS 不同的记录,例如“www.example.com”。这篇 Microsoft 文章很好地概述了“裂脑” DNS 场景以及如何处理它。
完全支持不是安装 DNS 时使用 Microsoft DNS 服务器。这篇 Stack Overflow 文章详细解释如何使用外部(非 Windows)DNS 来托管您的所有AD 区域信息。
因此,您应该谨慎选择主要内部域名 - 如果这是您面向公众的主要域名,则可能要避免使用“example.com”。然后,您应该选择 AD 区域是否与此相同或不同 - 可能是子域,但这是可选的。
对于什么是最好的,没有绝对的答案,但是这里有一个建议:
example.com - public-facing zone example.net - internal zone (purchased from appropriate registrar) ad.example.net - internal AD zone
通过共享完全相同的区域以供“正常”内部使用和 AD 使用,并使用现有的非 Microsoft DNS 服务器,也有可能解答您的问题。