本文概述了 Windows Server 中的网络策略服务器(NPS)。 可以使用 NPS 为连接请求身份验证和授权创建和强制实施组织范围的网络访问策略。 还可以将 NPS 配置为远程身份验证拨入用户服务 (RADIUS) 代理。 将 NPS 用作 RADIUS 代理时,NPS 将连接请求转发到远程 NPS RADIUS 服务器或其他 RADIUS 服务器。 可以使用代理配置对连接请求进行负载均衡,并将其转发到正确的域进行身份验证和授权。 在 Windows Server 中安装网络策略和访问服务(NPAS)角色时,会安装 NPS。
NPS 功能
可以使用 NPS 集中配置和管理网络访问身份验证、授权和会计。 NPS 提供以下功能以实现此目的:
RADIUS 服务器。 NPS 执行无线、认证交换机、远程访问拨号和虚拟专用网络(VPN)连接的集中式身份验证、授权和计费。 将 NPS 用作 RADIUS 服务器时,请配置以下组件:
- 网络访问服务器,例如无线接入点和 VPN 服务器。 在 NPS 中将其配置为 RADIUS 客户端。
- NPS 用于授权连接请求的网络策略。
- RADIUS 计帐。 此组件是可选的。 如果对其进行配置,NPS 会将会计信息记录到本地硬盘或Microsoft SQL Server 数据库中的日志文件。
有关详细信息,请参阅 RADIUS 服务器。
RADIUS 代理。 将 NPS 用作 RADIUS 代理时,请配置告知 NPS 的连接请求策略:
- 指定应将哪些连接请求转发到其他 RADIUS 服务器。
- 定义将这些连接请求转发到的目标 RADIUS 服务器。
此外,可以将 NPS 配置为将会计数据转发到远程 RADIUS 服务器组中的一台或多台计算机,用于日志记录。 若要将 NPS 配置为 RADIUS 代理服务器,请参阅以下资源:
- 指定应将哪些连接请求转发到其他 RADIUS 服务器。
RADIUS 计帐。 可以将 NPS 配置为将事件记录到本地日志文件或 SQL Server 的本地或远程实例。 有关详细信息,请参阅 NPS 日志记录。
可以使用这些功能的任意组合配置 NPS。 例如,可以将一个 NPS 部署配置为用于 VPN 连接的 RADIUS 服务器。 还可以配置与 RADIUS 代理相同的部署,以转发某些连接请求。 具体而言,它可以将某些请求转发给远程 RADIUS 服务器组的成员,以便在另一个域中进行身份验证和授权。
重要
在早期版本的 Windows Server 中,NPAS 包括网络访问保护 (NAP)、运行状况注册机构 (HRA) 和主机凭据授权协议 (HCAP)。 NAP、HRA 和 HCAP 在 Windows Server 2012 R2 中已弃用,在 Windows Server 2016 或更高版本中不可用。 如果你的 NAP 部署使用早于 Windows Server 2016 的作系统,则无法将 NAP 部署迁移到 Windows Server 2016 或更高版本。
Windows Server 安装选项和 NPS
NPS 功能的可用性取决于安装 Windows Server 时选择的选项:
- 使用“具有桌面体验的服务器”安装选项时,NPAS 角色在 Windows Server 上可用。 该角色适用于标准和数据中心版本。
- 使用核心安装选项时,NPAS 角色不可用。
RADIUS 服务器和代理
NPS 可用作 RADIUS 服务器、RADIUS 代理或两者。 以下部分提供有关这些用途的详细信息。
RADIUS 服务器
NPS 是 Microsoft 的 RADIUS 标准实现,该标准由互联网工程任务组(IETF)在征求意见稿(RFCs)2865 和 2866 中指定。 作为 RADIUS 服务器,NPS 执行集中式连接身份验证、授权和考虑许多类型的网络访问。 网络访问类型的示例包括无线、身份验证交换机、拨号和 VPN 远程访问,以及路由器到路由器连接。
注意
有关将 NPS 部署为 RADIUS 服务器的详细信息,请参阅部署网络策略服务器。
NPS 支持使用一组异类无线、交换机、远程访问或 VPN 设备。 可以将 NPS 与 Windows Server 中提供的远程访问服务配合使用。
NPS 使用 Active Directory 域服务 (AD DS) 域或本地安全帐户管理器 (SAM) 用户帐户数据库对用于尝试连接的用户凭据进行身份验证。 当运行 NPS 的服务器是 AD DS 域的成员时,NPS 使用目录服务作为其用户帐户数据库。 在这种情况下,NPS 是单一登录解决方案的一部分。 同一组凭据用于网络访问控制(对网络进行身份验证和授权访问),以及登录到 AD DS 域。
注意
NPS 使用用户帐户的拨入属性和网络策略对连接授权。
维护网络访问的 Internet 服务提供商(ISP)和组织面临更大的挑战。 他们需要从单一管理点管理所有类型的网络访问,而不考虑所使用的网络访问设备类型。 RADIUS 标准在同类和异类环境中都支持该功能。 RADIUS 是一种客户端-服务器协议,使得网络访问设备(用作 RADIUS 客户端)可以向 RADIUS 服务器提交身份验证和记帐请求。
RADIUS 服务器具有对用户帐户信息的访问权限,并可以检查网络访问身份验证凭据。 如果对用户凭据进行身份验证并授权连接尝试,RADIUS 服务器会根据指定条件授权用户访问。 然后 RADIUS 服务器在记帐日志中记录网络连接。 使用 RADIUS 允许在中心位置(而不是在每个访问服务器上)收集和维护网络访问用户身份验证、授权和会计的数据。
将 NPS 用作 RADIUS 服务器
在以下情况下,可以使用 NPS 作为 RADIUS 服务器:
- 你将 AD DS 域或本地 SAM 用户帐户数据库用作访问客户端的用户帐户数据库。
- 你正在多个拨号服务器、VPN 服务器或请求拨号路由器上使用远程访问,并且希望集中配置网络策略以及连接日志记录和记帐。
- 你要将拨号、VPN 或无线访问外包给服务提供商。 访问服务器使用 RADIUS 对您所在组织的成员建立的连接进行身份验证和授权。
- 您要对一组不同种类的访问服务器集中进行身份验证、授权和记帐。
下图显示了 NPS 作为各种访问客户端的 RADIUS 服务器。
RADIUS 代理
作为 RADIUS 代理,NPS 将身份验证和记帐消息转发到 NPS RADIUS 服务器和其他 RADIUS 服务器。 使用 NPS 作为 RADIUS 代理时,它会在 RADIUS 客户端和 RADIUS 服务器之间路由 RADIUS 消息。 RADIUS 客户端也称为网络访问服务器。 RADIUS 服务器对连接尝试执行用户身份验证、授权和记帐。
可以在 NPS 中配置无限数量的 RADIUS 客户端和远程 RADIUS 服务器组。 还可以通过指定 IP 地址范围来配置 RADIUS 客户端。
将 NPS 用作 RADIUS 代理时,它将充当 RADIUS 访问和记帐消息流的中心切换或路由点。 NPS 将被转发的消息的有关信息记录在记帐日志中。
将 NPS 用作 RADIUS 代理
在以下情况下,可以使用 NPS 作为 RADIUS 代理:
你是向多个客户提供外包拨号、VPN 或无线网络访问服务的服务提供商。 网络连接存储(NAS)系统将连接请求发送到 NPS RADIUS 代理。 根据连接请求中用户名的领域部分,NPS RADIUS 代理将连接请求转发到 RADIUS 服务器。 客户维护该服务器,该服务器可以对连接尝试进行身份验证和授权。
你希望为不属于以下任一域成员的用户帐户提供身份验证和授权:
- NPS 部署所属的域。
- 与 NPS 所属域具有双向信任关系的域。
用户帐户的示例包括不受信任的域、单向受信任域和其他林中的帐户。 不是将访问服务器配置为将其连接请求发送到 NPS RADIUS 服务器,而是将它们配置为将其连接请求发送到 NPS RADIUS 代理。 NPS RADIUS 代理使用用户名的领域名称部分,并将请求转发到正确的域或林中的 NPS RADIUS 服务器。 一个域或林中用户帐户的连接尝试可以针对另一个域或林中的 NAS 系统进行身份验证。
你想要使用不是 Windows 帐户数据库的数据库执行身份验证和授权。 在这种情况下,匹配指定领域名称的连接请求将转发到有权访问不同用户帐户数据库和授权数据的 RADIUS 服务器。 其他用户数据库的示例包括 NetIQ eDirectory 和结构化查询语言 (SQL) 数据库。
您希望处理大量连接请求。 在这种情况下,可以不将 RADIUS 客户端配置为尝试跨多个 RADIUS 服务器平衡其连接和记帐请求,而将它们配置为将其连接和记帐请求发送到 NPS RADIUS 代理。 NPS RADIUS 代理动态地平衡跨多个 RADIUS 服务器的连接和记帐请求负载,并增加每秒处理的大量 RADIUS 客户端和身份验证数。
您希望向外包服务提供商提供 RADIUS 身份验证和授权,并最大限度减少 Intranet 防火墙配置。 Intranet 防火墙位于 Intranet 和外围网络(Intranet 与 Internet 之间的网络)之间。 如果将 NPS 放置在外围网络上,外围网络和 Intranet 之间的防火墙必须允许流量在 NPS 和多个域控制器之间流动。 如果将 NPS 部署替换为 NPS 代理,防火墙必须仅允许 RADIUS 流量在 NPS 代理与 Intranet 中的一个或多个 NPS 部署之间流动。
重要
当林功能级别为 Windows Server 2003 或更高版本并且林之间存在双向信任关系时,NPS 支持跨林进行身份验证,而无需 RADIUS 代理。 但是,如果将以下任一框架与证书一起使用作为身份验证方法,则必须使用 RADIUS 代理跨林进行身份验证:
- 可扩展身份验证 Protocol-Transport 层安全性(EAP-TLS)
- 受保护的可扩展身份验证协议传输层安全性 (PEAP-TLS)
下图显示了 NPS 作为 RADIUS 客户端和 RADIUS 服务器之间的 RADIUS 代理。
使用 NPS,各组织还可以在保留对用户身份验证、授权和记帐活动控制的同时,将远程访问基础结构外包给服务提供商。
可以为以下方案创建 NPS 配置:
- 无线访问
- 组织拨号或 VPN 远程访问
- 外包拨号或无线访问
- Internet 访问
- 对业务合作伙伴 Extranet 资源的经过身份验证的访问
RADIUS 服务器和 RADIUS 代理配置示例
以下配置示例演示如何将 NPS 配置成 RADIUS 服务器和 RADIUS 代理。
作为 RADIUS 服务器的 NPS
此示例使用以下配置:
- NPS 配置为 RADIUS 服务器。
- 默认连接请求策略是唯一配置的策略。
- 本地 NPS RADIUS 服务器处理所有连接请求。
NPS RADIUS 服务器可以对 NPS RADIUS 服务器和受信任域中的用户帐户进行身份验证和授权。
作为 RADIUS 代理的 NPS
在此示例中,NPS 配置为转发连接请求的 RADIUS 代理。 这些请求将转发到两个不受信任的域中的远程 RADIUS 服务器组。
将删除默认连接请求策略。 将创建两个新的连接请求策略,以将请求转发到两个不受信任的域中的每个域。
在此示例中,NPS 不会处理本地服务器上的任何连接请求。
NPS 作为 RADIUS 服务器和 RADIUS 代理
此示例使用两个连接请求策略:
- 默认连接请求策略,用于指定在本地处理连接请求。
- 新的连接请求策略。 它将连接请求转发到 NPS RADIUS 服务器或其他不受信任的域中的 RADIUS 服务器。
第二个策略命名为代理策略。 它首先出现在有序的策略列表中。
- 如果连接请求与代理策略匹配,则连接请求将转发到远程 RADIUS 服务器组中的 RADIUS 服务器。
- 如果连接请求与代理策略不匹配,但与默认连接请求策略匹配,NPS 将处理本地服务器上的连接请求。
- 如果连接请求与任一策略不匹配,则会将其丢弃。
用作具有远程计帐服务器的 RADIUS 服务器的 NPS
在此示例中,本地 NPS RADIUS 服务器未配置为执行会计。 修改默认连接请求策略,以便 RADIUS 记帐消息转发到 NPS RADIUS 服务器或远程 RADIUS 服务器组中的其他 RADIUS 服务器。
尽管此示例中转发了记帐消息,但不会转发身份验证和授权消息。 本地 NPS RADIUS 服务器对本地域和所有受信任的域执行身份验证和授权功能。
具有远程 RADIUS 用户与本地 Windows 用户映射功能的 NPS
在此示例中,NPS 既充当 RADIUS 服务器,又充当 RADIUS 代理。 NPS 通过以下方式处理每个单独的连接请求:
- 身份验证请求将转发到远程 RADIUS 服务器。
- 本地 Windows 用户帐户用于授权。
为了实现此配置,请将远程 RADIUS 到 Windows 用户映射 属性作为连接请求策略的条件。 还可以在本地 RADIUS 服务器上创建用户帐户。 该帐户必须与远程 RADIUS 服务器对其执行身份验证的远程用户帐户具有相同的名称。
配置
若要将 NPS 配置为 RADIUS 服务器,可以在 NPS 控制台或服务器管理器中使用标准配置或高级配置。 若要将 NPS 配置为 RADIUS 代理,必须使用高级配置。
标准配置
使用标准配置时,会提供向导来帮助为以下方案配置 NPS:
- 用于拨号或 VPN 连接的 RADIUS 服务器
- 用于 802.1X 无线或有线连接的 RADIUS 服务器
若要使用向导配置 NPS,请打开 NPS 控制台,选择上述方案之一,然后选择向导的链接。
高级配置
使用高级配置时,手动将 NPS 配置为 RADIUS 服务器或 RADIUS 代理。
若要使用高级配置配置配置 NPS,请打开 NPS 控制台,然后展开 “高级配置”。
以下部分介绍提供的高级配置项目。
配置 RADIUS 服务器
若要将 NPS 配置为 RADIUS 服务器,必须配置 RADIUS 客户端、网络策略和 RADIUS 会计。
有关进行这些配置的说明,请参阅以下文章:
配置 RADIUS 代理
若要将 NPS 配置为 RADIUS 代理,您必须配置 RADIUS 客户端、远程 RADIUS 服务器组和连接请求策略。
有关进行这些配置的说明,请参阅以下文章:
NPS 日志记录
NPS 日志记录也称为 RADIUS 计帐。 可以将 NPS 日志记录配置为满足你的要求,无论 NPS 是用作 RADIUS 服务器、代理还是这些配置的任何组合。
若要配置 NPS 日志记录,必须配置想要使用事件查看器记录和查看的事件,然后确定要记录的其他信息。 此外,还必须决定在何处存储用户身份验证和会计信息日志。 可以使用以下选项:
- 本地计算机上存储的文本日志文件
- 本地计算机或远程计算机上的 SQL Server 数据库
有关详细信息,请参阅 “配置网络策略服务器帐户”。