我该如何排查将 Storage Gateway 文件网关加入到域以用于 Microsoft Active Directory 身份验证的问题?

上次更新时间:2020 年 2 月 3 日

我在 AWS Storage Gateway 创建了一个文件网关,并且想将 Microsoft Active Directory (AD) 用于身份验证。但是,当我尝试将我的文件网关加入到 Microsoft AD 域时却收到以下错误消息:

  • "The specified request timed out"
  • "The gateway cannot connect to the specified domain"
  • "Invalid domain name/DNS name cannot be resolved"

我该如何排查这些问题,以便将我的网关加入到域?

解决方法

要排查此类问题,进行以下检查或配置:

1.    确定网关可以通过运行 Ping 测试连接到域控制器。您必须从与文件网关具有相同网络配置的系统对域控制器 IP 地址运行 Ping 测试:

注:将 DomainControllerIP 替换为域控制器的 IP 地址。

ping DomainControllerIP

2.    验证您已打开防火墙内的所需端口。通过从与文件网关位于相同子网的服务器对端口 389 (TCP LDAP) 或端口 636 (TCP LDAPS) 上的域控制器 IP 地址运行 Telnet 命令以进行确认:

注:将 DomainControllerIP 替换为域控制器的 IP 地址。

telnet DomainControllerIP 389
telnet DomainControllerIP 636

3.    如果文件网关在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行,那么您必须创建 DHCP 选项集,然后将该集附加到实例所在的 Amazon Virtual Private Cloud (VPC)。这让您的文件网关可以找到您希望加入的域。在创建 DHCP 选项集并将其附加到 VPC 以后,您最好停止并启动文件网关运行所在的实例。

如果您将文件网关实例加入到本地域控制器,而且该文件网关实例是使用 AmazonProvidedDNS 的众多实例之一,则更改 DHCP 选项集并不可行。针对此用例,您可以:

注:对于每个出站终端节点,您必须有连接到网络的 AWS Direct Connect 或 VPN 连接。

4.    确定文件网关可对域进行解析。如果网关设备未对域进行解析,那么您将无法加入该域。针对部署在 EC2 Linux 实例上的文件网关,您可以通过连接到与网关 VM 位于相同 VPC 的任何其他实例来进行测试。然后,通过运行 nslookup 命令查询 DNS。对于本地网关,从与文件网关具有相同网络配置的系统运行 nslookup 命令。

如果未被解析,则将必要的记录添加到 DNS。

5.    验证域控制器未被设置为只读,而且该域控制器有足够角色让计算机可以加入。要对此进行检查,尝试将与网关 VM 位于相同 VPC 子网的其他服务器加入到域。

6.    您最好将文件网关加入到在地理位置上与该网关更接近的域控制器。若网关设备无法在 20 秒内连接或查询域控制器,则该流程可能超时。例如,如果网关设备位于美国东部(弗吉尼亚北部)区域,而且域控制器位于亚太地区(新加坡)区域,那么加入域的流程可能会超时。

注:要提高 20 秒的默认超时值,您可以在 AWS 命令行界面 (AWS CLI) 上运行 join-domain 命令,其中需包含 --timeout-in-seconds 选项以延长该时间。或者,您可以使用 JoinDomain API 调用并包含 TimeoutInSeconds 参数以延长该时间。最大超时值为 3600 秒。

7.    检查 Microsoft AD 的组织单位 (OU) 是否有任何组策略对象会在除默认 OU 以外的位置创建新的计算机对象。针对此用例,OU 在您将域加入到文件网关前必须有新的计算机对象。有些环境经过自定义,对于新创建的对象有不同的 OU。要确保特定 OU 下方的用于网关 VM 的某计算机对象加入域,尝试将文件网关加入到域前在您的域控制器上创建计算机对象。或者,您可以使用 AWS CLI 运行 join-domain 命令,并为 --organizational-unit 指定选项。

注:创建计算机对象的流程被称为预存。

8.    在尝试进行上述的检查和配置以后,如果您依然无法将网关加入到域,请检查是否有关于该域加入的任何事件日志。检查域控制器的事件查看器中的任何错误。验证网关查询可连接到域控制器。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?