步骤 3:规划多站点部署

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

在规划多站点基础结构后,规划任何其他证书要求、客户端计算机如何选择入口点,以及部署中分配的 IPv6 地址。

下面的部分提供详细的规划信息。

3.1 规划 IP-HTTPS 证书

配置入口点时,请使用特定的 ConnectTo 地址配置每个入口点。 每个入口点的 IP-HTTPS 证书必须与该 ConnectTo 地址匹配。 获取证书时,请注意以下事项:

  • 在多站点部署中你不能使用自签名证书。

  • 建议使用公共 CA,以便可以随时使用 CRL。

  • 在“使用者”字段中,指定远程访问服务器的外部适配器的 IPv4 地址(如果 ConnectTo 地址已指定为 IP 地址而不是 DNS 名称),或 IP-HTTPS URL 的 FQDN。

  • 该证书的公用名应与 IP-HTTPS 网站的名称相匹配。 使用与 ConnectTo DNS 名称匹配的通配符 URL 也受支持。

  • IP-HTTPS 证书的使用者名称中可以使用通配符。 同一通配符证书可用于所有入口点。

  • 对于“增强型密钥使用”字段,请使用服务器身份验证对象标识符 (OID)。

  • 如果要在多站点部署中支持运行 Windows 7 的客户端计算机,请在“CRL 分发点”字段中指定连接到 Internet 的 DirectAccess 客户端可访问的 CRL 分发点。 对于运行 Windows 8 的客户端,该操作不是必需的(默认情况下,这些客户端上已为 IP-HTTPS 禁用了 CRL 吊销检查)。

  • IP-HTTPS 证书必须包含私钥。

  • IP-HTTPS 证书必须直接导入到计算机的个人存储中,而不是用户的个人存储中。

3.2 规划网络位置服务器

可以在远程访问服务器或组织中的另一台服务器上托管网络位置服务器网站。 如果将网络位置服务器托管在远程访问服务器上,则部署远程访问时将自动创建该网站。 如果你将网络位置服务器托管在组织中另一台运行 Windows 操作系统的服务器上,则必须确保安装了 Internet Information Services (IIS) 才能创建该网站。

3.2.1 网络位置服务器的证书要求

请确保网络位置服务器网站符合以下证书部署要求:

  • 它需要 HTTPS 服务器证书。

  • 如果网络位置服务器位于远程访问服务器上,并且你在部署单个远程访问服务器时选择了使用自签名证书,则必须将单服务器部署重新配置为使用内部 CA 颁发的证书。

  • DirectAccess 客户端计算机必须信任将服务器证书颁发给网络位置服务器网站的 CA。

  • 内部网络上的 DirectAccess 客户端计算机必须能够解析网络位置服务器网站的名称。

  • 网络位置服务器网站对内部网络上的计算机必须高度可用。

  • 网络位置服务器不可以由 Internet 上的 DirectAccess 客户端计算机访问。

  • 必须根据证书吊销列表 (CRL) 检查服务器证书。

  • 当网络位置服务器托管在远程访问服务器上时,通配符证书不受支持。

获取要用于网络位置服务器的网站证书时,请注意以下方面:

  1. 在“使用者”字段中,请指定网络位置服务器的 Intranet 接口的 IP 地址,或网络位置 URL 的 FQDN。 请注意,如果网络位置服务器托管在远程访问服务器上,则不应指定 IP 地址。 这是因为网络位置服务器必须对所有入口点都使用相同的使用者名称,而并非所有入口点都具有相同的 IP 地址。

  2. 对于“增强型密钥使用”字段,请使用服务器身份验证 OID。

  3. 对于“CRL 分发点”字段,请使用已连接到 Intranet 的 DirectAccess 客户端可访问的 CRL 分发点。

3.2.2 用于网络位置服务器的 DNS

如果在远程访问服务器上托管网络位置服务器,则必须为部署中的每个入口点的网络位置服务器网站添加一个 DNS 条目。 注意以下事项:

  • 多站点部署中第一个网络位置服务器证书的使用者名称用作所有入口点的网络位置服务器 URL,因此该使用者名称和网络位置服务器 URL 不能与部署中第一个远程访问服务器的计算机名称相同。 它必须是专用于网络位置服务器的 FQDN。

  • 网络位置服务器流量提供的服务是使用 DNS 在入口点之间实现均衡的,因此每个入口点(配置有该入口点的内部 IP 地址)都应有一个具有相同 URL 的 DNS 条目。

  • 所有入口点都必须配置具有相同使用者名称(与网络位置服务器 URL 匹配)的网络位置服务器证书。

  • 在添加一个入口点之前,必须创建该入口点的网络位置服务器基础结构(DNS 和证书设置)。

3.3 为所有远程访问服务器规划 IPsec 根证书

规划多站点部署中的 IPsec 客户端身份验证时,请注意以下事项:

  1. 如果在设置单个远程访问服务器时选择了将内置 Kerberos 代理用于计算机身份验证,则必须将设置更改为使用内部 CA 颁发的计算机证书,因为多站点部署不支持 Kerberos 代理。

  2. 如果使用了自签名证书,则必须将单服务器部署重新配置为使用内部 CA 颁发的证书。

  3. 若要使 IPsec 身份验证在客户端身份验证期间成功执行,所有远程访问服务器都必须具有由 IPsec 根 CA 或中间 CA 颁发的证书,且该证书包含用于“增强型密钥使用”的客户端身份验证 OID。

  4. 必须在多站点部署中的所有远程访问服务器上安装相同的 IPsec 根证书或中间证书。

3.4 规划全局服务器负载均衡

在多站点部署中,可以另外配置一个全局服务器负载均衡器。 如果部署涵盖的地理分布范围很广泛,则全局服务器负载均衡器对组织可能很有用,因为它可以在入口点之间分配流量负载。 全局服务器负载均衡器可配置为向 DirectAccess 客户端提供距离最近的入口点的入口点信息。 过程如下:

  1. 运行 Windows 10 或 Windows 8 的客户端计算机具有全局服务器负载均衡器 IP 地址的列表,每个地址都与一个入口点相关联。

  2. Windows 10 或 Windows 8 客户端计算机尝试将公共 DNS 中全局服务器负载均衡器的 FQDN 解析为 IP 地址。 如果解析后的 IP 地址被列为入口点的全局服务器负载平衡器 IP 地址,则客户端计算机会自动选择该入口点并连接到其 IP-HTTPS URL(ConnectTo 地址)或其 Teredo 服务器 IP 地址。 请注意,全局服务器负载均衡器的 IP 地址不需要与入口点的 ConnectTo 地址或 Teredo 服务器地址相同,因为客户端计算机永不会尝试连接到全局服务器负载均衡器 IP 地址。

  3. 如果客户端计算机位于 Web 代理之后(并且无法使用 DNS 解析),或者如果全局服务器负载平衡器 FQDN 未解析为任何已配置的全局服务器负载平衡器 IP 地址,则将使用对所有入口点的 IP-HTTPS URL 进行 HTTPS 探测来自动选择入口点。 客户端将连接到首先响应的服务器。

有关支持远程访问的全局服务器负载均衡设备的列表,请转到 Microsoft 服务器和云平台中的“查找合作伙伴”页。

3.5 规划 DirectAccess 客户端入口点选择

配置多站点部署时,默认情况下,Windows 10 和 Windows 8 客户端计算机配置有在连接到该部署中的所有入口点时以及在根据选择算法自动连接到单个入口点时所需的信息。 你还可以将部署配置为允许 Windows 10 和 Windows 8 客户端计算机手动选择要连接的入口点。 如果 Windows 10 和 Windows 8 客户端计算机当前连接到美国入口点并启用了自动选择入口点,则如果美国入口点变为不可访问,几分钟后客户端计算机将尝试通过欧洲入口点进行连接。 建议使用自动选择入口点;但是,允许手动选择入口点使最终用户能够根据当前网络状况连接到不同的入口点。 例如,如果计算机连接到美国入口点,并且与内部网络的连接变得比预期慢得多。 在这种情况下,最终用户可以手动选择连接到欧洲入口点,以改善与内部网络的连接。

注意

最终用户手动选择入口点后,客户端计算机不会恢复为自动选择入口点。 也就是说,如果手动选择的入口点变得不可访问,最终用户必须要么恢复到自动选择入口点,要么手动选择另一个入口点。

Windows 7 客户端计算机配置有连接到多站点部署中的单个入口点所需的信息。 它们无法同时存储多个入口点的信息。 例如,某个 Windows 7 客户端计算机可以配置为连接到美国入口点,而不是欧洲入口点。 如果美国入口点不可访问,则 Windows 7 客户端计算机将失去与内部网络的连接,直到该入口点可访问为止。 最终用户无法进行任何更改来尝试连接到欧洲入口点。

3.6 规划前缀和路由

内部 IPv6 前缀

在部署你已规划了内部网络 IPv6 前缀的单个远程访问服务器期间,请注意多站点部署中的以下事项:

  1. 如果在配置单服务器远程访问部署时包含了你的所有 Active Directory 站点,则内部网络 IPv6 前缀将已在远程访问管理控制台中定义。

  2. 如果要为多站点部署创建其他 Active Directory 站点,则必须为这些其他站点规划新的 IPv6 前缀,并在“远程访问”中定义它们。 请注意,如果在内部企业网络中部署了 IPv6,则只能使用远程访问管理控制台或 PowerShell cmdlet 来配置 IPv6 前缀。

DirectAccess 客户端计算机的 IPv6 前缀(IP-HTTPS 前缀)

  1. 如果 IPv6 部署在内部企业网络中,则必须规划一个要分配给部署中任何其他入口点中的 DirectAccess 客户端计算机的 IPv6 前缀。

  2. 确保要分配给每个入口点中的 DirectAccess 客户端计算机的 IPv6 前缀是非重复的,并且 IPv6 前缀中没有重叠。

  3. 如果未在企业网络中部署 IPv6,则添加入口点时将会自动为每个入口点选择一个 IP-HTTPS 前缀。

VPN 客户端的 IPv6 前缀

如果在单个远程访问服务器上部署了 VPN,请注意以下事项:

  1. 仅当希望允许与企业网络建立 VPN 客户端 IPv6 连接时,才需要向入口点添加 IPv6 VPN 前缀。

  2. 如果在内部企业网络中部署了 IPv6,并且在入口点上启用了 VPN,则只能使用远程访问管理控制台或 PowerShell cmdlet 在入口点上配置 VPN 前缀。

  3. VPN 前缀在每个入口点中应是唯一的,并且不应与其他 VPN 或 IP-HTTPS 前缀重叠。

  4. 如果未在企业网络中部署 IPv6,则不会为连接到入口点的 VPN 客户端分配 IPv6 地址。

路由

在多站点部署中,对称路由是使用 Teredo 和 IP-HTTPS 来强制实施的。 在企业网络中部署 IPv6 时,请注意以下事项:

  1. 每个入口点的 Teredo 和 IP-HTTPS 前缀必须可通过公司网络路由到其关联的远程访问服务器。

  2. 必须在企业网络路由基础结构中配置路由。

  3. 对于每个入口点,内部网络中应有一到三个路由:

    1. IP-HTTPS 前缀 - 此前缀是管理员在“添加入口点”向导中选择的。

    2. VPN IPv6 前缀(可选)。 为入口点启用 VPN 后,可以选择此前缀

    3. Teredo 前缀(可选)。 仅当远程访问服务器在外部适配器上配置了两个连续的公共 IPv4 地址时,此前缀才有意义。 此前缀基于地址对的第一个公共 IPv4 地址。 例如,如果外部地址为:

      1. www.xxx.yyy.zzz

      2. www.xxx.yyy.zzz+1

      则要配置的 Teredo 前缀为 2001:0:WWXX:YYZZ::/64,其中 WWXX:YYZZ 是 IPv4 地址 www.xxx.yyy.zzz 的十六进制表示形式。

      请注意,可以使用以下脚本计算 Teredo 前缀:

      $TeredoIPv4 = (Get-NetTeredoConfiguration).ServerName # Use for a Remote Access server that is already configured
      $TeredoIPv4 = "20.0.0.1" # Use for an IPv4 address
      
          [Byte[]] $TeredoServerAddressBytes = `
          [System.Net.IPAddress]::Parse("2001::").GetAddressBytes()[0..3] + `
          [System.Net.IPAddress]::Parse($TeredoIPv4).GetAddressBytes() + `
          [System.Net.IPAddress]::Parse("::").GetAddressBytes()[0..7]
      
      Write-Host "The server's Teredo prefix is $([System.Net.IPAddress]$TeredoServerAddressBytes)/64"
      
    4. 上述所有路由都必须路由到远程访问服务器的内部适配器上的 IPv6 地址(或路由到负载均衡的入口点的内部虚拟 IP (VIP) 地址)。

注意

在企业网络中部署了 IPv6 并且远程访问服务器管理通过 DirectAccess 远程执行时,必须将所有其他入口点的 Teredo 和 IP-HTTPS 前缀的路由添加到每个远程访问服务器,以便将流量转发到内部网络。

Active Directory 站点特定的 IPv6 前缀

当运行 Windows 10 或 Windows 8 的客户端计算机连接到某个入口点时,客户端计算机会立即与该入口点的 Active Directory 站点关联,并配置有与该入口点关联的 IPv6 前缀。 该首选操作的目的是让客户端计算机使用这些 IPv6 前缀连接到资源,因为这些前缀是在 IPv6 前缀策略表中动态配置的,在连接到入口点时具有更高的优先级。

如果组织将 Active Directory 拓扑与具有特定于站点的 IPv6 前缀配合使用(例如,一个内部资源 FQDN app.corp.com 托管到北美和欧洲,在其中每个位置都有特定于站点的 IP 地址),则默认情况下不使用远程访问控制台对此进行配置,并且不会为每个入口点配置特定于站点的 IPv6 前缀。 如果确实想要启用此可选方案,则需要为每个入口点配置应由连接到特定入口点的客户端计算机首选的特定 IPv6 前缀。 请按如下所述执行此操作:

  1. 对于用于 Windows 10 或 Windows 8 客户端计算机的每个 GPO,请运行 Set-DAEntryPointTableItem PowerShell cmdlet

  2. 使用特定于站点的 IPv6 前缀为该 cmdlet 设置 EntryPointRange 参数。 例如,若要将特定于站点的前缀 2001:db8:1:1::/64 和 2001:db:1:2::/64 添加到名为 Europe 的入口点,请运行以下命令

    $entryPointName = "Europe"
    $prefixesToAdd = @("2001:db8:1:1::/64", "2001:db8:1:2::/64")
    $clientGpos = (Get-DAClient).GpoName
    $clientGpos | % { Get-DAEntryPointTableItem -EntryPointName $entryPointName -PolicyStore $_ | %{ Set-DAEntryPointTableItem -PolicyStore $_.PolicyStore -EntryPointName $_.EntryPointName -EntryPointRange ($_.EntryPointRange) + $prefixesToAdd}}
    
  3. 修改 EntryPointRange 参数时,请确保不要删除属于 IPsec 隧道终结点和 DNS64 地址的现有 128 位前缀。

3.7 当部署多站点远程访问时规划转换到 IPv6

许多组织在企业网络上使用 IPv4 协议。 随着可用 IPv4 前缀的耗尽,许多组织正在从纯 IPv4 网络转换到纯 IPv6 网络。

这种转换很可能分两个阶段进行:

  1. 从纯 IPv4 企业网络到 IPv6+IPv4 企业网络。

  2. 从 IPv6+IPv4 企业网络到纯 IPv6 企业网络。

在每个部分中,转换可以分阶段执行。 在每个阶段中,只能将网络的一个子网更改为新的网络配置。 因此,需要 DirectAccess 多站点部署来支持如下的混合部署:一些入口点属于纯 IPv4 子网,而其他入口点属于 IPv6+IPv4 子网。 此外,转换过程中的配置更改不得中断通过 DirectAccess 建立的客户端连接。

从纯 IPv4 企业网络转换到 IPv6+IPv4 企业网络

将 IPv6 地址添加到纯 IPv4 企业网络时,可能需要将 IPv6 地址添加到已部署的 DirectAccess 服务器。 此外,你可能希望将入口点或节点添加到具有 IPv4 和 IPv6 地址的负载平衡群集,以用于 DirectAccess 部署。

“远程访问”让你可以将同时具有 IPv4 和 IPv6 地址的服务器添加到最初仅配置了 IPv4 地址的部署。 这些服务器将添加为纯 IPv4 服务器,其 IPv6 地址将被 DirectAccess 忽略;因此,你的组织无法利用这些新服务器上的原生 IPv6 连接的优势。

若要将部署转换为 IPv6+IPv4 部署并利用原生 IPv6 功能,必须重新安装 DirectAccess。 若要在整个重新安装过程中保持客户端连接,请参阅“使用双 DirectAccess 部署从纯 IPv4 部署转换到纯 IPv6 部署”。

注意

与纯 IPv4 网络一样,在混合的 IPv4+IPv6 网络中,用于解析客户端 DNS 请求的 DNS 服务器的地址必须配置有在远程访问服务器自身上部署的 DNS64,而不是企业 DNS。

从 IPv6+IPv4 企业网络转换到纯 IPv6 企业网络

仅当部署中的第一台远程访问服务器原来同时具有 IPv4 和 IPv6 地址或仅具有 IPv6 地址时,DirectAccess 才允许添加纯 IPv6 入口点。 也就是说,如果不重新安装 DirectAccess,则无法在一个步骤中从纯 IPv4 网络转换到纯 IPv6 网络。 若要直接从纯 IPv4 网络转换到纯 IPv6 网络,请参阅“使用双 DirectAccess 部署从纯 IPv4 部署转换为纯 IPv6 部署”。

完成从纯 IPv4 部署转换到 IPv6+IPv4 部署后,可以转换到纯 IPv6 网络。 在转换期间和转换后,请注意以下事项:

  • 如果有任何纯 IPv4 后端服务器保留在企业网络中,则通过纯 IPv6 入口点连接的客户端将无法访问这些服务器。

  • 将纯 IPv6 入口点添加到 IPv4+IPv6 部署时,不会在新服务器上启用 DNS64 和 NAT64。 连接到这些入口点的客户端将自动配置为使用企业 DNS 服务器。

  • 如果需要从已部署的服务器中删除 IPv4 地址,则必须从 DirectAccess 部署中删除该服务器,删除其 IPv4 公司网络地址,然后再次将该服务器添加到部署。

若要支持与公司网络的客户端连接,必须确保企业 DNS 可以将网络位置服务器解析为其 IPv6 地址。 还可以设置其他 IPv4 地址,但这不是必需的。

使用双 DirectAccess 部署从纯 IPv4 部署转换到纯 IPv6 部署

如果不重新安装 DirectAccess 部署,则无法完成从纯 IPv4 企业网络转换到纯 IPv6 企业网络。 若要在转换期间保持客户端连接,可以使用其他 DirectAccess 部署。 当第一个转换阶段完成(纯 IPv4 网络升级到 IPv4+IPv6)并且你打算为将来转换到纯 IPv6 企业网络做好准备或打算利用原生 IPv6 连接的优势时,需要双部署。 以下概要步骤中介绍了双部署:

  1. 安装第二个 DirectAccess 部署。 可以在新服务器上安装 DirectAccess,或者从第一个部署中删除服务器并将其用于第二个部署。

    注意

    将其他 DirectAccess 部署安装于当前部署旁边时,请确保没有两个入口点共享相同的客户端前缀。

    如果使用入门向导或 cmdlet Install-RemoteAccess 安装 DirectAccess,“远程访问”会自动将部署中第一个入口点的客户端前缀设置为默认值 <IPv6 subnet_prefix>:1000::/ 64。 如果需要,必须更改该前缀。

  2. 从第一个部署中删除所选客户端安全组。

  3. 将客户端安全组添加到第二个部署。

    重要

    若要在整个过程中保持客户端连接,必须在从第一个部署中删除安全组后立即将这些安全组添加到第二个部署。 这可确保不会使用两个或零个 DirectAccess GPO 更新客户端。 客户端将在检索并更新其客户端 GPO 后开始使用第二个部署。

  4. 可选:从第一个部署中删除 DirectAccess 入口点,并在第二个部署中将这些服务器添加为新的入口点。

完成转换后,可以卸载第一个 DirectAccess 部署。 卸载时,可能会出现以下问题:

  • 如果部署配置为仅支持移动计算机上的客户端,则会删除 WMI 筛选器。 如果第二个部署的客户端安全组包括台式计算机,则 DirectAccess 客户端 GPO 不会筛选台式计算机,并可能导致这些计算机上出现问题。 如果需要一个移动计算机筛选器,请按照为 GPO 创建 WMI 筛选器中的说明重新创建它。

  • 如果两个部署最初都是在同一 Active Directory 域中创建的,则指向 localhost 的 DNS 探测条目将被删除,并可能导致客户端连接问题。 例如,客户端可能会使用 IP-HTTPS 而不是 Teredo 进行连接,或者在 DirectAccess 多站点入口点之间切换。 在这种情况下,必须将以下 DNS 条目添加到企业 DNS:

    • 区域:域名

    • 名称:directaccess-corpConnectivityHost

    • IP 地址:::1

    • 类型:AAAA