单台服务器上基本 DirectAccess 部署的第一步是针对部署所需的基础结构执行规划。 本主题介绍基础结构规划步骤:
任务 | DESCRIPTION |
---|---|
规划网络拓扑和设置 | 确定将 DirectAccess 服务器(在边缘或网络地址转换(NAT)设备或防火墙后面放置的位置,并规划 IP 寻址和路由。 |
规划防火墙要求 | 规划允许 DirectAccess 通过边缘防火墙。 |
规划证书要求 | DirectAccess 可以使用 Kerberos 或证书进行客户端身份验证。 在此基本 DirectAccess 部署中,会自动配置 Kerberos 代理,并使用 Active Directory 凭据完成身份验证。 |
规划 DNS 要求 | 规划 DirectAccess 服务器、基础结构服务器和客户端连接的 DNS 设置。 |
规划 Active Directory | 规划域控制器和 Active Directory 要求。 |
规划组策略对象 | 确定你的组织中需要哪些 GPO,以及如何创建或编辑这些 GPO。 |
不需要按照特定顺序完成这些规划任务。
规划网络拓扑和设置
规划网络适配器和 IP 寻址
标识你打算使用的网络适配器拓扑。 DirectAccess 可以使用以下任一设置:
使用两个网络适配器 - 边缘处有一个连接到 Internet 的网络适配器,另一个网络适配器连接到内部网络,或者位于 NAT、防火墙或路由器设备后面,一个网络适配器连接到外围网络,另一个网络适配器连接到内部网络。
在具有一个网络适配器的 NAT 设备后面 - DirectAccess 服务器安装在 NAT 设备后面,并且单个网络适配器连接到内部网络。
标识 IP 寻址要求:
DirectAccess 使用 IPv6 和 IPsec 在 DirectAccess 客户端计算机和内部企业网络之间创建安全连接。 但是,DirectAccess 不一定需要连接到 IPv6 Internet 或内部网络上的本机 IPv6 支持。 相反,它会自动配置并使用 IPv6 转换技术在 IPv4 Internet 上(6to4、Teredo、IP-HTTPS)和仅支持 IPv4 的 Intranet 上(NAT64 或 ISATAP)对 IPv6 通信进行隧道传送。 有关这些转换技术的概述,请参阅以下资源:
按下表配置所需的适配器和寻址。 对于使用单个网络适配器且位于 NAT 设备之后的部署,仅使用“内部网络适配器”列来配置 IP 地址。
DESCRIPTION 外部网络适配器 内部网络适配器1 路由要求 IPv4 Intranet 和 IPv4 Internet 配置以下项目: - 具有相应子网掩码的一个静态公共 IPv4 地址。
- Internet 防火墙或本地 Internet 服务提供商 (ISP) 路由器的默认网关 IPv4 地址。配置以下项目: - 带有相应子网掩码的 IPv4 Intranet 地址。
- Intranet 命名空间的特定于连接的 DNS 后缀。 还必须在内部接口上配置 DNS 服务器。
- 不要在任何 Intranet 接口上配置默认网关。若要将 DirectAccess 服务器配置为访问内部 IPv4 网络上的所有子网,请执行以下作: 1. 列出 Intranet 上所有位置的 IPv4 地址空间。
2.使用 路由添加 -p 或 netsh 接口 ipv4 添加路由 命令,将 IPv4 地址空间添加为 DirectAccess 服务器的 IPv4 路由表中的静态路由。IPv6 Internet 和 IPv6 Intranet 配置以下项目: - 使用由你的 ISP 提供的自动配置地址配置。
- 使用 route print 命令,以确保指向 ISP 路由器的默认 IPv6 路由存在于 IPv6 路由表中。
- 确定 ISP 和 Intranet 路由器是否使用 RFC 4191 中所述的默认路由器首选项,以及是否使用比本地 Intranet 路由器更高级的默认首选项。 如果两个结果都为“是”,则默认路由不需要任何其他配置。 ISP 路由器的较高首选项可确保 DirectAccess 服务器的活动默认 IPv6 路由指向 IPv6 Internet。由于 DirectAccess 服务器是 IPv6 路由器,因此如果你有本机 IPv6 基础结构,Internet 接口还可以访问 Intranet 上的域控制器。 在这种情况下,请在外围网络的域控制器上添加数据包筛选器,以防止连接到 DirectAccess 服务器的互联网接口的 IPv6 地址。
配置以下项目: - 如果你不使用默认首选项级别,则可以使用 netsh interface ipv6 set InterfaceIndex ignoredefaultroutes=enabled 命令来配置 Intranet 接口。 此命令可确保不会将指向 Intranet 路由器的其他默认路由添加到 IPv6 路由表。 你可以从 netsh 接口显示接口命令的显示中获得 Intranet 接口的 InterfaceIndex。
如果你有 IPv6 Intranet,若要将 DirectAccess 服务器配置为访问所有 IPv6 位置,请执行以下作: 1. 列出你 Intranet 上所有位置的 IPv6 地址空间。
2.使用 netsh 接口 ipv6 添加路由 命令将 IPv6 地址空间添加为 DirectAccess 服务器的 IPv6 路由表中的静态路由。IPv4 Internet 和 IPv6 Intranet DirectAccess 服务器使用 Microsoft 6to4 适配器接口将默认 IPv6 路由流量转发到 IPv4 Internet 上的 6to4 中继。 可以使用以下命令为 IPv4 Internet 上的 Microsoft 6to4 中继的 IPv4 地址配置 DirectAccess 服务器(在企业网络中未部署本机 IPv6 时使用):netsh interface ipv6 6to4 set relay name=192.88.99.1 state=enabled command。 注释
注意以下事项:
- 如果已为 DirectAccess 客户端分配公用 IPv4 地址,则它将使用 6to4 转换技术连接到 Intranet。 如果 DirectAccess 客户端无法使用 6to4 连接到 DirectAccess 服务器,则它将使用 IP-HTTPS。
- 本机 IPv6 客户端计算机可以通过本机 IPv6 连接到 DirectAccess 服务器,而无需转换技术。
规划防火墙要求
如果 DirectAccess 服务器位于边缘防火墙后面,则当 DirectAccess 服务器位于 IPv4 Internet 上时,要进行 DirectAccess 通信还需要以下例外:
6to4 通信 - IP 协议 41 入站和出站。
IP-HTTPS - 传输控制协议 (TCP) 目标端口 443,以及 TCP 源端口 443 出站。
如果要使用单个网络适配器部署 DirectAccess,并在 DirectAccess 服务器上安装网络位置服务器,则还应免除 TCP 端口 62000。
注释
此豁免位于 DirectAccess 服务器上。 所有其他例外都在边缘防火墙上。
当 DirectAccess 服务器位于 IPv6 Internet 上时,要进行 DirectAccess 通信将需要以下例外:
IP 协议 50
UDP 目标端口 500 入站,以及 UDP 源端口 500 出站。
使用其他防火墙时,请对 DirectAccess 流量应用以下内部网络防火墙例外:
ISATAP - 协议 41 入站和出站
所有 IPv4/IPv6 通信的 TCP/UDP
规划证书要求
IPsec 的证书要求包括建立客户端与 DirectAccess 服务器之间的 IPsec 连接时 DirectAccess 客户端计算机使用的计算机证书,以及 DirectAccess 服务器用来与 DirectAccess 客户端建立 IPsec 连接的计算机证书。 对于 Windows Server 2012 R2 和 Windows Server 2012 中的 DirectAccess,使用这些 IPsec 证书并不是必需的。 入门向导将 DirectAccess 服务器配置为充当 Kerberos 代理来执行 IPsec 身份验证,而无需证书。
IP-HTTPS 服务器。 配置 DirectAccess 时,DirectAccess 服务器会自动配置为充当 IP-HTTPS Web 侦听器。 IP-HTTPS 站点需要网站证书,并且客户端计算机必须能够联系该证书的证书吊销列表 (CRL) 站点。 启用 DirectAccess 向导会尝试使用 SSTP VPN 证书。 如果未配置 SSTP,它会检查计算机个人存储中是否存在 IP-HTTPS 的证书。 如果没有可用证书,它会自动创建自签名证书。
网络位置服务器. 网络位置服务器是一个网站,用于检测客户端计算机是否位于企业网络中。 网络位置服务器需要网站证书。 DirectAccess 客户端必须能够联系该证书的 CRL 站点。 “启用远程访问”向导检查计算机个人存储中是否存在网络位置服务器的证书。 如果不存在,则它会自动创建自签名证书。
下表中总结了其中每项的证书要求:
IPsec 身份验证 | IP-HTTPS 服务器 | 网络位置服务器 |
---|---|---|
当不使用 Kerberos 代理进行身份验证时,需要内部 CA 向 DirectAccess 服务器和客户端颁发计算机证书进行 IPsec 身份验证 | 公共 CA - 建议使用公共 CA 颁发 IP-HTTPS 证书,这可确保 CRL 分发点在外部可用。 | 内部 CA - 可以使用内部 CA 颁发网络位置服务器网站证书。 请确保 CRL 分发点在内部网络中高度可用。 |
内部 CA - 可以使用内部 CA 颁发 IP-HTTPS 证书;但是,必须确保 CRL 分发点在外部可用。 | 自签名证书 - 可以将自签名证书用于网络位置服务器网站;但是,不能在多站点部署中使用自签名证书。 | |
自签名证书 - 可以对 IP-HTTPS 服务器使用自签名证书;但是,必须确保 CRL 分发点在外部可用。 无法在多站点部署中使用自签名证书。 |
规划用于 IP-HTTPS 和网络位置服务器的证书
如果要为这些目的预配证书,请参阅 使用高级设置部署单个 DirectAccess 服务器。 如果没有可用的证书,则“入门”向导会出于这些目的自动创建自签名证书。
注释
如果手动为 IP-HTTPS 和网络位置服务器预配证书,请确保证书具有使用者名称。 如果证书没有主题名称,而只有备用名称,则 DirectAccess 向导将不接受该证书。
规划 DNS 要求
在 DirectAccess 部署中,需要 DNS 才能满足以下条件:
DirectAccess 客户端请求。 DNS 用于解析来自不位于内部网络上的 DirectAccess 客户端计算机的请求。 DirectAccess 客户端尝试连接到 DirectAccess 网络位置服务器,以确定它们是位于 Internet 上,还是位于企业网络上。如果连接成功,则确定客户端在 Intranet 上且未使用 DirectAccess,并使用客户端计算机的网络适配器上配置的 DNS 服务器解析客户端请求。 如果该连接不成功,则假定客户端在 Internet 上。 DirectAccess 客户端将使用名称解析策略表 (NRPT) 来确定在解析名称请求时使用哪个 DNS 服务器。 你可以指定客户端应使用 DirectAccess DNS64 或备用的内部 DNS 服务器来解析名称。 在执行名称解析时,将由 DirectAccess 客户端使用 NRPT 来确定如何处理请求。 客户端请求 FQDN 或单标签名称,例如 http://internal. 如果请求单标签名称,则将追加 DNS 后缀以产生 FQDN。 如果 DNS 查询与 NRPT 中某个条目匹配,并且为该条目指定了 DNS4 或 Intranet DNS 服务器,则将使用指定的服务器发送用于名称解析的 DNS 查询。 如果存在匹配条目,但未指定 DNS 服务器,这表示存在一条免除规则,且将应用普通的名称解析。
将新的后缀添加到 DirectAccess 管理控制台中的 NRPT 时,可以通过单击“ 检测 ”按钮自动发现后缀的默认 DNS 服务器。 自动检测的工作原理如下:
如果企业网络基于 IPv4 或 IPv4 和 IPv6,则默认地址是 DirectAccess 服务器上的内部适配器的 DNS64 地址。
如果企业网络基于 IPv6,则默认地址是企业网络中 DNS 服务器的 IPv6 地址。
注释
从 Windows 10 2020 年 5 月更新开始,客户端不再在名称解析策略表 (NRPT) 中配置的 DNS 服务器上注册其 IP 地址。 如果需要 DNS 注册(例如 Manage Out),则可以在客户端上使用以下注册表项明确启用它:
路径:HKLM\System\CurrentControlSet\Services\Dnscache\Parameters
类型:DWORD
值名称:DisableNRPTForAdapterRegistration
值:
1
- 禁用 DNS 注册(自 Windows 10 2020 年 5 月更新后默认禁用)
0
- 已启用 DNS 注册
基础结构服务器
网络位置服务器. DirectAccess 客户端尝试访问网络位置服务器,以确定它们是否位于内部网络上。 内部网络上的客户端必须能够解析该网络位置服务器的名称,但当它们位于 Internet 上时,必须阻止它们解析该名称。 为了确保这一点,默认情况下,网络位置服务器的 FQDN 将作为免除规则添加到 NRPT。 此外,配置 DirectAccess 时,会自动创建以下规则:
根域或 DirectAccess 服务器的域名的 DNS 后缀规则,以及对应于 DirectAccess 服务器上配置的 Intranet DNS 服务器的 IPv6 地址。 例如,如果 DirectAccess 服务器是 corp.contoso.com 域的成员,则会为 corp.contoso.com DNS 后缀创建规则。
用于网络位置服务器的 FQDN 的免除规则。 例如,如果网络位置服务器 URL 是
https://nls.corp.contoso.com
,则会为 FQDN nls.corp.contoso.com 创建一条免除规则。
IP-HTTPS 服务器。 DirectAccess 服务器充当 IP-HTTPS 侦听器,并使用其服务器证书对 IP-HTTPS 客户端进行身份验证。 IP-HTTPS 名称必须可由使用公用 DNS 服务器的 DirectAccess 客户端解析。
连接验证程序。 DirectAccess 创建一个默认的 Web 探测,该探测由 DirectAccess 客户端计算机用来验证与内部网络的连接。 若要确保探测按预期运行,则必须在 DNS 中手动注册以下名称:
directaccess-webprobehost - 应解析为 DirectAccess 服务器的内部 IPv4 地址(或在纯 IPv6 环境中解析为 IPv6 地址)。
directaccess-corpconnectivityhost - 应解析为 localhost(环回)地址。 应创建 A 和 AAAA 记录,A 记录具有值 127.0.0.1,AAAA 记录具有由 NAT64 前缀构造的值,且最后 32 位类似于 127.0.0.1。 可以通过运行 cmdlet get-netnattransitionconfiguration 来检索 NAT64 前缀。
你可以通过 HTTP 或 PING 使用其他 Web 地址创建其他连接性验证程序。 对于每个连接性验证程序,都必须存在 DNS 条目。
DNS 服务器要求
- 对于 DirectAccess 客户端,必须使用运行 Windows Server 2008、Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016 或任何支持 IPv6 的 DNS 服务器。
注释
不建议在部署 DirectAccess 时使用运行 Windows Server 2003 的 DNS 服务器。 尽管 Windows Server 2003 DNS 服务器确实支持 IPv6 记录,但Microsoft不再支持 Windows Server 2003。 此外,如果域控制器正在运行 Windows Server 2003,则不应部署 DirectAccess,因为文件复制服务出现问题。 有关详细信息,请参阅 DirectAccess 不支持的配置。
规划网络位置服务器
网络位置服务器是一个网站,用于检测 DirectAccess 客户端是否位于企业网络中。 企业网络中客户端不使用 DirectAccess 访问内部资源,而是直接连接。
“入门向导”会自动在 DirectAccess 服务器上设置网络位置服务器,并在部署 DirectAccess 时自动创建网站。 这允许在不使用证书基础结构的情况下进行简单的安装。
如果要部署网络位置服务器而不使用自签名证书,请参阅 使用高级设置部署单个 DirectAccess 服务器。
规划 Active Directory
DirectAccess 使用 Active Directory 和 Active Directory 组策略对象,如下所示:
身份验证。 Active Directory 用于身份验证。 DirectAccess 隧道使用 Kerberos 身份验证让用户访问内部资源。
组策略对象。 DirectAccess 将配置设置收集到应用于 DirectAccess 服务器和客户端的组策略对象中。
安全组。 DirectAccess 使用安全组收集并标识 DirectAccess 客户端计算机和 DirectAccess 服务器。 组策略将应用于所需的安全组。
Active Directory 要求
规划 DirectAccess 部署的 Active Directory 时,需要满足以下条件:
至少在 Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 或 Windows Server 2008 上安装的域控制器。
如果域控制器位于外围网络上(因此可从面向 Internet 的 DirectAccess 服务器的网络适配器访问)阻止 DirectAccess 服务器通过添加域控制器上的数据包筛选器来访问它,以防止连接到 Internet 适配器的 IP 地址。
DirectAccess 服务器必须是域成员。
DirectAccess 客户端必须是域成员。 客户端可以属于:
与 DirectAccess 服务器位于同一林中的任何域。
与 DirectAccess 服务器域具有双向信任的任何域。
与 DirectAccess 域所属的林之间具有双向信任的林中的任何域。
注释
- DirectAccess 服务器不能是域控制器。
- 用于 DirectAccess 的 Active Directory 域控制器不能从 DirectAccess 服务器的外部 Internet 适配器(适配器不得位于 Windows 防火墙的域配置文件中)访问。
规划组策略对象
配置 DirectAccess 时配置的 DirectAccess 设置将收集到组策略对象(GPO) 中。 使用 DirectAccess 设置填充两个不同的 GPO,并通过以下方式进行分发:
DirectAccess 客户端 GPO。 此 GPO 包含客户端设置,包括 IPv6 转换技术设置、NRPT 条目和高级安全 Windows 防火墙连接安全规则。 将 GPO 应用于为客户端计算机指定的安全组。
DirectAccess 服务器 GPO。 此 GPO 包含 DirectAccess 配置的设置,这些设置应用于您部署中作为 DirectAccess 服务器配置的任何服务器。 它还包含高级安全 Windows 防火墙连接安全规则。
可以通过两种方式配置 GPO:
自动。 可以指定自动创建它们。 为每个 GPO 指定默认名称。 通过入门向导自动创建 GPO。
手动。 可以使用已由 Active Directory 管理员预定义的 GPO。
请注意,将 DirectAccess 配置为使用特定的 GPO 后,无法将它配置为使用不同的 GPO。
重要
无论是使用自动还是手动配置的 GPO,如果客户端将使用 3G,则需要添加一个用于慢速链接检测的策略。 策略的组策略路径:配置组策略慢链接检测是:计算机配置/策略/管理模板/系统/组策略。
谨慎
执行 DirectAccess cmdlet 之前,使用以下过程备份所有 DirectAccess 组策略对象: 备份和还原 DirectAccess 配置
自动创建的 GPO
使用自动创建的 GPO 时,请注意以下事项:
将根据位置和链接目标参数应用自动创建的 GPO,如下所示:
对于 DirectAccess 服务器 GPO,位置和链接参数都指向包含 DirectAccess 服务器的域。
创建客户端 GPO 后,将该位置设置为将在其中创建 GPO 的单个域。 在每个域中查找 GPO 名称,如果存在,则使用 DirectAccess 设置对其进行填充。 将链接目标设置为在其中创建了 GPO 的域的根。 为每个包含客户端计算机的域创建 GPO,GPO 链接到其相应域的根目录。
使用自动创建的 GPO 应用 DirectAccess 设置时,DirectAccess 服务器管理员需要以下权限:
每个域的 GPO 创建权限。
所有选定客户端域根的链接权限。
服务器 GPO 域根的链接权限。
GPO 需要创建、编辑、删除和修改安全权限。
建议 DirectAccess 管理员具有每个所需域的 GPO 读取权限。 这使 DirectAccess 可在创建 GPO 时验证不存在具有相同名称的 GPO。
请注意,如果不存在用于链接 GPO 的正确权限,则会发出警告。 DirectAccess操作将继续,但不会发生链接。 如果发出此警告的链接不会自动创建,即使以后添加权限也是如此。 管理员将需要手动创建链接。
手动创建的 GPO
使用手动创建的 GPO 时,请注意以下事项:
在运行远程访问入门向导之前,应存在这些 GPO。
使用手动创建的 GPO 时,若要应用 DirectAccess 设置,DirectAccess 管理员需要在手动创建的 GPO 上具有完整的 GPO 权限(编辑、删除、修改安全性)。
在使用手动创建的 GPO 时,将在整个域中搜索到 GPO 的链接。 如果未在域中链接 GPO,将在域的根中自动创建链接。 如果未提供创建链接所需的权限,则会发出警告。
请注意,如果不存在用于链接 GPO 的正确权限,则会发出警告。 DirectAccess操作将继续,但不会发生链接。 如果发出此警告,则即使之后添加了权限,也不会自动创建链接。 管理员将需要手动创建链接。
从已删除的 GPO 中恢复
如果 DirectAccess 服务器、客户端或应用程序服务器 GPO 意外删除,并且没有可用的备份,则必须删除配置设置并重新配置。 如果有可用的备份,则可以从备份中还原 GPO。
DirectAccess 管理将显示以下错误消息:找不到 GPO GPO 名称<。> 若要删除配置设置,请执行以下步骤:
运行 PowerShell cmdlet Uninstall-remoteaccess。
重新打开 DirectAccess 管理。
你将看到关于未找到 GPO 的错误消息。 单击“删除配置设置”。 完成操作后,服务器将还原到未配置状态。