步骤 2 规划多站点基础结构

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016

在多站点拓扑中部署远程访问的下一步是完成多站点基础结构规划,包括 Active Directory、安全组和组策略对象。

2.1 规划 Active Directory

可以在多个拓扑中配置远程访问多站点部署:

  • 单个 Active Directory 站点、多个入口点 - 在此拓扑中,整个组织只有一个 Active Directory 站点,整个站点具有快速 Intranet 链路,但在整个组织中部署了多个远程访问服务器,每个服务器充当一个入口点。 此拓扑的一个地理示例是为美国提供单个 Active Directory 站点,并在东海岸和西海岸设有入口点。

    Multisite Infrastructure

  • 多个 Active Directory 站点、多个入口点 - 在此拓扑中,有两个或更多个 Active Directory 站点,其中一个远程访问服务器部署为每个站点的入口点。 每个远程访问服务器都与站点的 Active Directory 域控制器相关联。 此拓扑的一个地理示例是,为美国提供一个 Active Directory 站点,为欧洲提供一个 Active Directory 站点,每个站点都有一个入口点。 请注意,如果有多个 Active Directory 站点,则不需要具有与每个站点关联的入口点。 此外,某些 Active Directory 站点可以有多个与之关联的入口点。

    Multisite Topology

在多站点入口点中,可以配置单个远程访问服务器、多个远程访问服务器或远程访问服务器群集。

Active Directory 最佳做法和建议

请注意在多站点方案中部署 Active Directory 的以下建议和约束:

  1. 每个 Active Directory 站点可以包含一个或多个远程访问服务器或者服务器群集,充当客户端计算机的多站点入口点。 但是,Active Directory 站点不需要具有入口点。

  2. 多站点入口点只能与单个 Active Directory 站点相关联。 当运行 Windows 8 的客户端计算机连接到特定入口点时,它们被视为属于与该入口点关联的 Active Directory 站点。

  3. 建议为每个 Active Directory 站点配备一个域控制器。 域控制器可以是只读的。

  4. 如果每个 Active Directory 站点都包含一个域控制器,则入口点中服务器的 GPO 由与终结点关联的 Active Directory 站点中的一个域控制器进行管理。 如果该站点中没有启用了写入的域控制器,则会在离入口点中配置的第一个远程访问服务器最近的启用了写入的域控制器上管理服务器的 GPO。 哪个最近是通过计算链路成本来确定的。 请注意,在此方案中,在进行配置更改后,在管理 GPO 的域控制器与服务器的 Active Directory 站点中的只读域控制器之间复制时可能会出现延迟。

  5. 客户端 GPO 和可选应用程序服务器 GPO 在作为主域控制器 (PDC) 仿真器运行的域控制器上进行管理。 这意味着客户端 GPO 不一定在包含客户端连接到的入口点的 Active Directory 站点中进行管理。

  6. 如果无法访问 Active Directory 站点的域控制器,则远程访问服务器将连接到站点中的备用域控制器(如果可用)。 如果没有,它将连接到另一个站点的域控制器,以检索更新的 GPO 并对客户端进行身份验证。 在这两种情况下,在域控制器可用之前,远程访问管理控制台和 PowerShell cmdlet 都不能用于检索或修改配置设置。 注意以下事项:

    1. 如果作为 PDC 仿真器运行的服务器不可用,则必须将具有更新的 GPO 的可用域控制器指定为 PDC 仿真器。

    2. 如果管理服务器 GPO 的域控制器不可用,请使用 Set-DAEntryPointDC PowerShell cmdlet 将新的域控制器与入口点相关联。 运行 cmdlet 之前,新的域控制器应具有最新的 GPO。

2.2 规划安全组

在部署具有高级设置的单个服务器期间,通过 DirectAccess 访问内部网络的所有客户端计算机都已收集到安全组中。 在多站点部署中,此安全组仅用于 Windows 8 客户端计算机。 对于多站点部署,Windows 7 客户端计算机将收集到多站点部署中每个入口点的单独安全组中。 例如,如果以前将所有客户端计算机都分组到 DA_Clients 组中,现在必须从该组中删除移除 Windows 7 计算机,并将其放入其他安全组中。 例如,在多个 Active Directory 站点、多个入口点拓扑中,为美国入口点创建一个安全组 (DA_Clients_US),为欧洲入口点创建一个安全组 (DA_Clients_Europe)。 将位于美国的 Windows 7 客户端计算机置于 DA_Clients_US 组中,将位于欧洲的客户端计算机置于 DA_Clients_Europe 组中。 如果你没有任何 Windows 7 客户端计算机,则无需为 Windows 7 计算机规划安全组。

所需的安全组如下所示:

  • 为所有 Windows 8 客户端计算机创建一个安全组。 建议在每个域中为这些客户端创建一个唯一的安全组。

  • 为每个入口点创建一个包含 Windows 7 客户端计算机的唯一安全组。 建议为每个域创建一个唯一的组。 例如:Domain1\DA_Clients_Europe、Domain2\DA_Clients_Europe、Domain1\DA_Clients_US、Domain2\DA_Clients_US。

2.3 规划组策略对象

在远程访问部署期间配置的 DirectAccess 设置将收集到 GPO 中。 单一服务器部署已对 DirectAccess 客户端、远程访问服务器和(可选)应用程序服务器使用 GPO。 多站点部署需要以下 GPO:

  • 为每个入口点创建一个服务器 GPO。

  • 为每个包含运行 Windows 8 的客户端计算机的域创建一个 GPO。

  • 为每个入口点和包含 Windows 7 客户端计算机的每个域创建一个 GPO。

GPO 可以按如下所示进行配置:

  • 自动 - 可以指定由远程访问自动创建的 GPO。 为每个 GPO 指定一个默认名称,可以对其进行修改。

  • 手动 - 可以使用已由 Active Directory 管理员手动创建的 GPO。

注意

将 DirectAccess 配置为使用特定的 GPO 后,无法再将其配置为使用不同的 GPO。

2.3.1 自动创建的 GPO

使用自动创建的 GPO 时,请注意以下事项:

  • 将根据位置和链接目标参数应用自动创建的 GPO,如下所示:

    • 对于服务器 GPO,位置和链路参数都指向包含远程访问服务器的域。

    • 对于客户端 GPO,链路目标设置为在其中创建了 GPO 的域的根。 为每个包含客户端计算机的域创建了一个 GPO,并且该 GPO 将链接到每个域的根。 。

  • 对于自动创建的 GPO,若要应用 DirectAccess 设置,远程访问服务器管理员需要以下权限:

    • 所需域的 GPO 创建权限。

    • 所有选定客户端域根的链接权限。

    • 如果 DirectAccess 配置为仅在移动计算机上工作,则需要具有为 GPO 创建 WMI 筛选器的权限。

    • 对与入口点关联的域(服务器 GPO 域)的根具有链路权限

    • 我们建议远程访问管理员具有对每个所需的域的 GPO 读取权限。 这使远程访问可以验证在为多站点部署创建 GPO 时不存在具有相同名称的 GPO。

    • 对与入口点关联的域的 Active Directory 复制权限。 这是因为最初添加入口点时,入口点的服务器 GPO 是在离该入口点最近的域控制器上创建的。 但是,由于仅在 PDC 仿真器上支持创建链路,因此在创建链路之前,必须将 GPO 从创建 GPO 的域控制器复制到作为 PDC 仿真器运行的域控制器。

请注意,如果不存在用于复制和链接 GPO 的正确权限,则会发出警告。 远程访问操作将继续进行,但不会出现复制和链接。 如果发出链路警告,则即使在添加了权限后,也不会自动创建链路。 管理员将需要手动创建链接。

2.3.2 手动创建的 GPO

使用手动创建的 GPO 时,请注意以下事项:

  • 应为多站点部署手动创建以下 GPO:

    • 服务器 GPO - 为每个入口点创建一个服务器 GPO(在该入口点所在的域中)。 此 GPO 将应用于入口点中的每个远程访问服务器。

    • 客户端 GPO (Windows 7) - 为每个入口点和包含将连接到多站点部署中入口点的 Windows 7 客户端计算机的每个域创建一个 GPO。 例如 Domain1\DA_W7_Clients_GPO_Europe、Domain2\DA_W7_Clients_GPO_Europe、Domain1\DA_W7_Clients_GPO_US、Domain2\DA_W7_Clients_GPO_US。 如果没有 Windows 7 客户端计算机连接到入口点,则不需要 GPO。

  • 无需为 Windows 8 客户端计算机创建其他 GPO。 在部署单个远程访问服务器时,已为每个包含客户端计算机的域创建 GPO。 在多站点部署中,这些客户端 GPO 将充当 Windows 8 客户端的 GPO。

  • 在单击多站点部署向导中的“提交”按钮之前,应存在 GPO。

  • 在使用手动创建的 GPO 时,将在整个域中搜索到 GPO 的链接。 如果未在域中链接 GPO,将在域的根中自动创建链接。 如果未提供创建链接所需的权限,则会发出警告。

  • 在使用手动创建的 GPO 时,若要应用 DirectAccess 设置,远程访问管理员需要对手动创建的 GPO 具有完全的 GPO 权限(编辑、删除、修改安全性)。

请注意,如果不存在用于复制和链接 GPO 的正确权限,则会发出警告。 远程访问操作将继续进行,但不会出现复制和链接。 如果发出链路警告,则即使在添加了权限后,也不会自动创建链路。 管理员将需要手动创建链接。

2.3.3 在多域控制器环境中管理 GPO

每个 GPO 都由某个特定的域控制器进行管理,如下所示:

  • 服务器 GPO 由与服务器关联的 Active Directory 站点中的其中一个域控制器进行管理;如果该站点中的域控制器是只读的,则由最靠近入口点中第一个服务器的启用了写入的域控制器进行管理。

  • 客户端 GPO 将由作为 PDC 仿真器运行的域控制器进行管理。

如果你想要手动修改 GPO 设置,请注意以下几点:

  • 对于服务器 GPO,若要确定哪个域控制器与特定入口点相关联,请运行 PowerShell cmdlet Get-DAEntryPointDC -EntryPointName <name of entry point>

  • 默认情况下,当你使用联网 PowerShell cmdlet 或者从组策略管理控制台进行更改时,将使用充当 PDC 仿真器的域控制器。

  • 如果修改设置的域控制器不是与入口点(对于服务器 GPO)或 PDC 仿真器(对于客户端 GPO)关联的域控制器,请注意以下几点:

    1. 在修改这些设置之前,请确保已使用最新的 GPO 复制域控制器,并在进行更改之前备份 GPO 设置。 如果未更新 GPO,在复制期间可能会发生合并冲突,从而导致远程访问配置损坏。

    2. 在修改这些设置之后,必须等待更改复制到与 GPO 相关联的域控制器。 在复制完成之前,请勿使用远程访问管理控制台或远程访问 PowerShell cmdlet 进行其他更改。 如果在复制完成之前在两个不同域控制器上编辑同一个 GPO,则可能会发生合并冲突,从而导致配置损坏。

  • 或者,可以使用组策略管理控制台中的“更改域控制器”对话框或者使用 Open-NetGPO PowerShell cmdlet 来更改默认设置,这样使用控制台或联网 cmdlet 所做的更改将使用你指定的域控制器。

    1. 若要在组策略管理控制台中执行这一操作,请右键单击域或站点容器,然后单击“更改域控制器”。

    2. 若要在 PowerShell 中执行这一操作,请为 Open-NetGPO cmdlet 指定 DomainController 参数。 例如,若要使用名为 europe-dc.corp.contoso.com 的域控制器在名为 domain1\DA_Server_GPO_Europe 的 GPO 上启用 Windows 防火墙中的专用和公用配置文件,请执行以下操作:

      $gpoSession = Open-NetGPO -PolicyStore "domain1\DA_Server_GPO _Europe" -DomainController "europe-dc.corp.contoso.com"
      Set-NetFirewallProfile -GpoSession $gpoSession -Name @("Private","Public") -Enabled True
      Save-NetGPO -GpoSession $gpoSession
      

修改域控制器关联

要保持多站点部署中的配置一致性,应确保每个 GPO 是由一个单独的域控制器管理的,这一点很重要。 在某些情况下,可能需要为 GPO 分配不同的域控制器:

  • 域控制器维护和停机 - 当管理 GPO 的域控制器不可用时,可能需要在不同的域控制器上管理 GPO。

  • 优化配置分发 - 网络基础结构发生更改后,可能需要在与入口点相同的 Active Directory 站点中的域控制器上管理入口点的服务器 GPO。

2.4 规划 DNS

为多站点部署规划 DNS 时,请注意以下事项:

  1. 客户端计算机将使用 ConnectTo 地址连接到远程访问服务器。 部署中的每个入口点都需要不同的 ConnectTo 地址。 每个入口点 ConnectTo 地址必须在公用 DNS 中可用,并且你选择的地址必须与为 IP-HTTPS 连接部署的 IP-HTTPS 证书的使用者名称相匹配。

  2. 此外,远程访问会强制实施对称路由;因此,在启用多站点部署时,只有 Teredo 和 IP-HTTPS 客户端可以连接。 若要允许本机 IPv6 客户端进行连接,ConnectTo 地址 (IP-HTTPS URL) 必须解析为外部(面向 Internet)IPv6 和远程访问服务器上的 IPv4 地址。

  3. 远程访问将创建可由 DirectAccess 客户端计算机用来验证到内部网络的连接的默认 Web 探测。 在配置单一服务器期间,应该已在 DNS 中注册以下名称:

    1. directaccess-WebProbeHost - 应解析为远程访问服务器的内部 IPv4 地址,或解析为仅支持 IPv6 的环境中的 IPv6 地址。

    2. directaccess-CorpConnectivityHost - 应解析为 localhost(环回)地址(::1 或 127.0.0.1,具体取决于在企业网络中是否部署了 IPv6)。

    在多站点部署中,必须为每个入口点创建 directaccess-WebProbeHost 的一个额外 DNS 条目。 添加入口点时,远程访问会尝试自动创建此额外的 directaccess-WebProbeHost 条目。 但是,如果失败,将显示警告,你必须手动创建该条目。

    注意

    在 DNS 基础结构中启用 DNS 清理后,建议对远程访问自动创建的 DNS 条目禁用清理。