如何对 WorkSpaces Personal WorkSpace 无法加入 Active Directory 域进行故障排除?

3 分钟阅读
0

我尝试使用 Amazon WorkSpaces Personal 创建WorkSpace,但在尝试加入域时收到错误。

解决方案

**注意:**如果您使用林信任,则当您尝试加入域且用户和 WorkSpace 位于不同的 Active Directory 中时,会收到错误消息。最佳做法是对 Amazon Linux、Ubuntu 和 Red Hat Enterprise Linux (RHEL) WorkSpaces 使用双向信任。Ubuntu 和 RHEL WorkSpaces 使用系统安全服务进程守护程序 (SSSD) 进行 Active Directory 集成。由于 SSSD 不支持林信任,因此必须改为配置外部信任。

检查与域控制器的通信

确保 WorkSpace 可以通过任意虚拟私有云 (VPC) 资源与 Active Directory 域控制器通信。这些资源包括安全组、网络访问控制列表(网络 ACL)和路由表。此外,验证 WorkSpace 是否可以在所需端口上与您的域控制器通信,以便与目录控制器通信

在加入域然后登录时,WorkSpaces 使用 VPC 中的弹性网络接口在所需端口上与域控制器通信。

使用 WorkSpaces 创建和注册目录时,目录服务会创建 directoryID_controllers 安全组,而 WorkSpaces 会创建 directoryID_workspacesMembers 安全组。如果这两个安全组中的规则均不允许 WorkSpaces 与域控制器通信,则您无法创建新的 WorkSpace。要解决此问题,请确保安全组具有默认规则。对于 AD Connector,默认情况下,目录安全组允许所有出站流量。有关其他 Active Directory 的信息,请参阅使用 AWS Directory Service 为 AWS Directory Service 创建的内容

**重要事项:**确保 directoryID_workspacesMembers 安全组未被修改。默认情况下,WorkSpaces 安全组允许所有出站流量。

对于自主管理的 Microsoft Active Directory,请确认本地防火墙不会阻止来自 WorkSpaces 子网的流量传输到所需端口上的域控制器。

验证所需端口是否已在 Windows WorkSpace 中打开

完成以下步骤:

  1. 在每个 WorkSpaces 子网中启动 Amazon Elastic Compute Cloud (Amazon EC2) 实例,然后连接 directoryID_workspacesMembers 安全组。
  2. 使用 RDP 连接到实例
  3. 要关闭操作系统 (OS) 防火墙并设置静态 DNS,请运行以下 PowerShell 命令:
    Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
    Set-DnsClientServerAddress -InterfaceIndex ((Get-NetAdapter).ifIndex) -ServerAddresses ("DNS Server IP 1","DNS Server IP 2")
    **注意:**将 DNS Server IP 1DNS Server IP 2 替换为您的 DNS 服务器 IP 地址。
  4. 使用 PortQry 工具测试与域控制器的连接。有关详细信息,请参阅 Microsoft 网站上的指定一个或多个目标端口。要下载 PortQRY 工具,请参阅 Microsoft 网站上的 PortQry Command Line Port Scanner 2.0 版。要测试与端口的连接,请对每个 DNS 服务器和域控制器 IP 地址运行以下命令:
    portqry -n DNS Server IP address -p both -e 53
    portqry -n Domain-FQDN-Domain-Controller-IP-address -p both -e 88
    portqry -n Domain-FQDN-Domain-Controller-IP-address -p both -e 389
    portqry -n Domain-FQDN-Domain-Controller-IP-address -p both -e 445
    portqry -n Domain-FQDN-Domain-Controller-IP-address -p both -e 636
    portqry -n Domain-FQDN-Domain-Controller-IP-address -p udp -e 123,137,138
    portqry -n Domain-FQDN-Domain-Controller-IP-address -p tcp -e 135,139
    **注意:**将 DNS Server IP address 替换为您的 DNS 服务器 IP 地址,将 Domain-FQDN-Domain-Controller-IP-address 替换为您的完全限定域名 (FQDN) 或您的域控制器 IP 地址。
  5. 发现错误后进行修复。所有端口测试成功后,手动将实例加入域
    **注意:**您可以使用这些步骤加入 AWS 托管的 Microsoft AD 或自行管理的 Active Directory 的实例。

验证所需端口是否已在 Amazon Linux 2、Ubuntu 或 RHEL WorkSpace 中打开

完成以下步骤:

  1. 使用您用来启动 WorkSpaces 的 Linux 操作系统在每个 WorkSpaces 子网中启动 EC2 实例,然后连接 directoryID_workspacesMembers 安全组。
  2. 使用 SSH 连接到实例
  3. 要测试从 WorkSpaces 子网到域控制器的端口连接,请运行以下命令:
    nc -z -v -w 15 domain controller ip 53
    nc -z -v -u -w 15 domain controller ip 53
    nc -z -v -w 15 domain controller ip 88
    nc -z -v -u -w 15 domain controller ip 88
    nc -z -v -u -w 15 domain controller ip 135
    nc -z -v -w 15 domain controller ip 389
    nc -z -v -u -w 15 domain controller ip 389
    nc -z -v -w 15 domain controller ip 636
    nc -z -v -u -w 15 domain controller ip 636
    nc -z -v -w 15 domain controller ip 3268
    nc -z -v -w 15 domain controller ip 3269
    apt-get install -y adcli
    adcli info -S Domain FQDN
    adcli info -S domain controller ip
    **注意:**将 domain controller ip 替换为域控制器 IP 地址,将 Domain FQDN 替换为 FQDN。
  4. 发现错误后进行修复。所有端口测试成功后,手动将实例加入域

有关 netcat 命令标志的详细信息,请使用以下命令标志摘要:

  • nc-z 将扫描远程主机上打开的端口,但不会建立完整连接。
    **注意:**使用 nc -4 仅连接到 IPv4 地址。
  • nc-v 提供详细输出
  • nc-u 使用 UDP 而不是 TCP。
    **注意:**使用 nc-t 显示所有 TCP 连接。
  • nc -w 为无法建立的连接指定超时时间。

(仅限 AD Connector)检查服务 AWS 账户权限

要将 WorkSpace 加入域,必须设置具有委托权限的域凭证。如果组织使用 AD Connector,则最佳实践是使用服务账户与 Active Directory 进行通信。要验证您的 AD Connector 配置,请完成以下步骤:

  1. 验证服务账户是否已在 Active Directory 中激活。
  2. 验证账户密码是否未过期。
  3. 验证 WorkSpaces 组织单位 (OU) 中的服务账户的委托权限是否准确。
  4. 验证 WorkSpaces 目录中的 OU 名称是否准确。

默认情况下,经过身份验证的用户最多可以将 10 台计算机加入该域。如果您超过此配额,则在尝试加入域时会遇到问题。有关如何更改配额的信息,请参阅 Microsoft 网站上的对用户可以加入域的工作站数量的默认限制

相关信息

Linux 实例无法加入域或进行身份验证

AWS 官方
AWS 官方已更新 3 个月前