客户端从非 Samba4 子域 DNS 名称访问加入域的服务器时出现的身份验证问题

客户端从非 Samba4 子域 DNS 名称访问加入域的服务器时出现的身份验证问题

自从大约三年前我们在总部和所有远程站点推出 10 个 Samba4 域控制器以来,我们一直面临一个问题,并且这个问题困扰了我们很长一段时间。

简化的当前配置:

  • 主站点上有 2 个 DC,使用子域名 ad.companyname.com 进行内部 DNS
  • 2 个 BIND CentOS 服务器,服务所有内网 DNS 请求 — 主区域:companyname.com
  • 2 个 BIND CentOS 服务器为所有外部站点 DNS 请求提供服务 - 主区域:companyname.com

在此配置中,我们已将内部 BIND 服务器配置为让 S4 AD DC 的内部 DNS 成为 ad.companyname.com 的权威,因此连接到 BIND 服务器的客户端可以解析 Samba 需要的任何内容。这允许 LAN 上的所有客户端计算机解析 AD 创建的任何动态 DNS 地址、加入域等,并且在配置新 DC 时配置起来很容易。(对于如此多的 DC,这一点很重要)。

当我们配置绑定到域的服务器时,客户端通过主 BIND DNS 服务器上配置的 DNS 条目访问它们,因此它们具有 hostname.companyname.com 之类的地址,客户端使用这些地址连接到服务器/服务。它们还具有由 S4 内部 DNS 创建的 ad.companyname.com 主机名,但我们不会将客户端指向这些名称。

问题:

某些服务(我们目前注意到的主要是 OS X 服务器)在绑定到 AD 时似乎不喜欢客户端指向与 samba 子域不同的 DNS 名称。例如:

OS X 10.11(也尝试过 10.6)服务器,绑定到 AD,运行 SMB 文件服务器:

  • 当连接到 fileserver.companyname.com 时
    • 用户必须以 ad.companyname.com\shortname 进行身份验证,或者
    • 用户必须验证为[电子邮件保护]
    • 使用 AD\shortname 不起作用
  • 当连接到 fileserver.ad.companyname.com 时
    • 用户只需使用简称即可进行身份验证

另一个例子:

OS X Server 10.11,绑定到 AD,运行配置文件管理器:

  • 用户只需使用短名称即可验证 PHP Web 界面
  • 用户无法在 iOS 设备上使用其 AD 凭据进行设备注册期间进行身份验证

笔记:

在第一个示例中,一种解决方案是简单地将客户端指向 fileserver.ad.companyname.com,但管理层反对这个想法。在配置文件管理器 MDM 的第二个示例中,服务器位于 DMZ 上,因此校外客户端仍可连接到 MDM,并且它具有内部和外部 DNS 条目,因此拥有面向公众的 ad.companyname.com 地址并不是一个好选择。

问题:

  • 设置 WINS 服务器对此有帮助吗?
  • 从 DHCP 设置默认搜索域对此有帮助吗?
  • 有没有办法让 Samba4 AD 加入主机在基础域上拥有一个域名(实际上,不仅仅是 BIND 上指向同一 IP 的单独记录)?
    • 如果可以,是否可以使用内部 DNS 来做到这一点?
  • 有没有办法将 Samba4 AD DNS 直接与我的内联网 BIND DNS 设置集成,以便加入域的主机获取 DNS 名称而不是基本 DNS 域 (companyname.com)?

相关内容