连接请求策略

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

可通过本主题了解如何使用 NPS 连接请求策略将 NPS 配置为 RADIUS 服务器和/或 RADIUS 代理。

注意

除了本主题,还可查看下面的连接请求策略文档。

连接请求策略是条件和设置的集合,对于运行网络策略服务器 (NPS) 的服务器从 RADIUS 客户端接收的连接请求,网络管理员可通过这些策略来指定哪些远程身份验证拨入用户服务 (RADIUS) 服务器对其执行身份验证和授权。 可以将连接请求策略配置为指定将哪些 RADIUS 服务器用于 RADIUS 记帐。

可以创建连接请求策略,以便在本地处理从 RADIUS 客户端发送的某些 RADIUS 请求消息(NPS 用作 RADIUS 服务器),其他类型的消息则转发到另一 RADIUS 服务器(NPS 用作 RADIUS 代理)。

使用连接请求策略,可以根据如下因素将 NPS 用作 RADIUS 服务器或 RADIUS 代理:

  • 时间和星期几
  • 连接请求的领域名称
  • 请求的连接类型
  • RADIUS 客户端的 IP 地址

仅当传入消息的设置至少与 NPS 上配置的连接请求策略之一匹配时,才由 NPS 处理或转发 RADIUS 访问-请求消息。

如果策略设置匹配,并且该策略要求 NPS 处理消息,则 NPS 充当 RADIUS 服务器,对连接请求进行身份验证和授权。 如果策略设置匹配,并且该策略要求 NPS 转发消息,则 NPS 充当 RADIUS 代理,并将连接请求转发到远程 RADIUS 服务器进行处理。

如果传入 RADIUS 访问-请求消息的设置至少与连接请求策略之一不匹配,则访问-拒绝消息会被发送到 RADIUS 客户端,并拒绝访问尝试连接到网络的用户或计算机。

配置示例

下列配置示例演示如何使用连接请求策略。

作为 RADIUS 服务器的 NPS

默认连接请求策略是唯一配置的策略。 在此示例中,NPS 配置为 RADIUS 服务器,并由本地 NPS 处理所有连接请求。 NPS 可以对帐户位于 NPS 域和受信域中的用户进行身份验证和授权。

作为 RADIUS 代理的 NPS

删除默认连接请求策略,并新建两个连接请求策略,以将请求转发到两个不同的域。 在此示例中,NPS 配置为 RADIUS 代理。 NPS 并不处理本地服务器上的任何连接请求。 而是将连接请求转发到 NPS 或配置为远程 RADIUS 服务器组成员的其他 RADIUS 服务器。

NPS 同时作为 RADIUS 服务器和 RADIUS 代理

除默认连接请求策略之外,创建的新连接请求策略会将连接请求转发到不受信任域中的 NPS 或其他 RADIUS 服务器。 在此示例中,代理策略首先出现在已排序的策略列表中。 如果连接请求与代理策略匹配,连接请求将被转发到远程 RADIUS 服务器组中的 RADIUS 服务器。 如果连接请求与代理策略不匹配,但与默认连接请求策略匹配,NPS 会在本地服务器上处理该连接请求。 如果连接请求与任一策略不匹配,则丢弃该连接请求。

NPS 用作具有远程记帐服务器的 RADIUS 服务器

在此示例中,本地 NPS 未配置为执行计帐,并且修改了默认连接请求策略,以便将 RADIUS 计帐消息转发到远程 RADIUS 服务器组中的 NPS 或其他 RADIUS 服务器。 尽管会转发计帐消息,但不会转发身份验证和授权消息,并且本地 NPS 会为本地域和所有受信任域执行这些功能。

具有远程 RADIUS 到 Windows 用户映射的 NPS

在此示例中,通过将身份验证请求转发到远程 RADIUS 服务器,并同时使用本地 Windows 用户帐户进行授权,NPS 同时充当了每个单个连接请求的 RADIUS 服务器和 RADIUS 代理。 通过将“远程 RADIUS 到 Windows 用户映射”属性配置为连接请求策略的条件,从而实现此配置。 (此外,必须在本地创建与远程用户帐户名称相同的用户帐户,远程 RADIUS 服务器针对该远程用户帐户执行身份验证。)

连接请求策略条件

连接请求策略条件是与传入 RADIUS 访问-请求消息的属性相对应的一个或多个 RADIUS 属性。 如果有多个条件,则连接请求消息和连接请求策略中的所有连接都必须相互匹配,才能由 NPS 强制执行该策略。

以下是可用的条件属性,可以在连接请求策略中进行配置。

“连接属性”属性组

“连接属性”属性组包含下列属性。

  • 帧协议。 用于指定传入数据包的帧的类型。 示例包括点到点协议 (PPP)、串行线路 Internet 协议 (SLIP)、帧中继和 X.25。
  • 服务类型。 用于指定正在请求的服务的类型。 例如,帧(如 PPP 连接)和登录(如 Telnet 连接)等。 有关 RADIUS 服务类型的详细信息,请参阅 RFC 2865 的“远程身份验证拨号用户服务 (RADIUS)”。
  • 隧道类型。 用于指定请求客户端正在创建的隧道类型。 隧道类型包括点对点隧道协议 (PPTP) 和第 2 层隧道协议 (L2TP)。

“日期和时间限制”属性组

“日期和时间限制”属性组包含“日期和时间限制”属性。 使用此属性,可以指定连接尝试的星期几和时间。 日期和时间相对于 NPS 的日期和时间。

“网关”属性组

“网关”属性组包含下列属性。

  • 被叫站 ID。 用于指定网络访问服务器的电话号码。 此属性是字符字符串。 可以使用模式匹配的语法指定区号。
  • NAS 标识符。 用于指定网络访问服务器的名称。 此属性是字符字符串。 可以使用模式匹配的语法指定 NAS 标识符。
  • NAS IPv4 地址。 用于指定网络访问服务器(RADIUS 客户端)的 Internet 协议第 4 版 (IPv4) 地址。 此属性是字符字符串。 可以使用模式匹配的语法指定 IP 网络。
  • NAS IPv6 地址。 用于指定网络访问服务器(RADIUS 客户端)的 Internet 协议第 6 版 (IPv6) 地址。 此属性是字符字符串。 可以使用模式匹配的语法指定 IP 网络。
  • NAS 端口类型。 用于指定访问客户端使用的媒体类型。 例如,模拟电话线(称为异步)、综合业务数字网 (ISDN)、隧道或虚拟专用网络 (VPN)、IEEE 802.11 无线和以太网交换机。

“计算机标识”属性组

“计算机标识”属性组包含“计算机标识”属性。 使用此属性,可以指定在策略中识别客户端的方法。

“RADIUS 客户端属性”属性组

“RADIUS 客户端属性”属性组包含下列属性。

  • 主叫站 ID。 用于指定调用程序(访问客户端)使用的电话号码。 此属性是字符字符串。 可以使用模式匹配的语法指定区号。 在 802.1x 身份验证中,通常会填充 MAC 地址,并且可从客户端匹配它。 当连接请求策略配置为“在不验证凭据的情况下接受用户”时,此字段通常用于 Mac 地址旁路方案。
  • 客户端友好名称。 用于指定请求身份验证的 RADIUS 客户端计算机的名称。 此属性是字符字符串。 可以使用模式匹配的语法指定客户端名称。
  • 客户端 IPv4 地址。 用于指定网络访问服务器(RADIUS 客户端)的 IPv4 地址。 此属性是字符字符串。 可以使用模式匹配的语法指定 IP 网络。
  • 客户端 IPv6 地址。 用于指定网络访问服务器(RADIUS 客户端)的 IPv6 地址。 此属性是字符字符串。 可以使用模式匹配的语法指定 IP 网络。
  • 客户端供应商。 用于指定请求身份验证的网络访问服务器的供应商。 运行路由和远程访问服务的计算机是 Microsoft NAS 制造商。 可以使用此属性为不同的 NAS 制造商配置单独的策略。 此属性是字符字符串。 可以使用模式匹配的语法。

“用户名”属性组

“用户名”属性组包含“用户名”属性。 使用此属性,可以指定用户名或用户名的一部分,但它们必须与 RADIUS 消息中访问客户端提供的用户名匹配。 此属性是由字符组成的字符串,该字符串通常包含领域名称和用户帐户名称。 可以使用模式匹配的语法指定用户名。

连接请求策略设置

连接请求策略设置是应用于传入 RADIUS 消息的一组属性。 这些设置由下列属性组构成。

  • 身份验证
  • 计帐
  • 属性操作
  • 转发请求
  • 高级

以下部分提供有关这些设置的其他详细信息。

身份验证

使用此设置,可以覆盖所有网络策略中配置的身份验证设置,并且可指定连接到网络所需的身份验证方法和类型。

重要

如果连接请求策略中配置的身份验证方法的安全性低于网络策略中配置的身份验证方法,则网络策略中配置的安全度高的身份验证方法将被替代。 例如,如果你有网络策略要求使用受保护的可扩展身份验证协议 - Microsoft 质询握手身份验证协议版本 2 (PEAP-MS-CHAP v2) - 这是一种用于安全无线访问的基于密码的身份验证方法,同时你还配置了允许未经身份验证访问的连接请求策略,则结果是不会要求客户端使用 PEAP-MS-CHAP v2 进行身份验证。 在此示例中,连接到网络的所有客户端都被授予未经身份验证的访问权限。

计帐

使用此设置,可以配置连接请求策略,将计帐信息转发到远程 RADIUS 服务器组中的 NPS 或其他 RADIUS 服务器,以便远程 RADIUS 服务器组执行计帐操作。

注意

如果你有多个 RADIUS 服务器,并且要将所有服务器的记帐信息存储在一个中央 RADIUS 记帐数据库中,那么可以在每个 RADIUS 服务器的策略中使用连接请求策略记帐设置,以将记帐数据从所有服务器转发到指定为记帐服务器的 NPS 或其他 RADIUS 服务器。

连接请求策略计帐设置功能与本地 NPS 的计帐配置无关。 也就是说,如果将本地 NPS 配置为将 RADIUS 计帐信息记录到本地文件或 Microsoft SQL Server 数据库,则不管是否配置了将计帐消息转发到远程 RADIUS 服务器组的连接请求策略,上述配置都会生效。

如果要远程而不是本地记录计帐信息,必须将本地 NPS 配置为不执行计帐,同时还要在连接请求策略中配置计帐,以将计帐数据转发到远程 RADIUS 服务器组。

属性操作

可以配置一组查找和替换规则,用来操作下列属性之一的文本字符串。

  • 用户名
  • 被叫站 ID
  • 主叫站 ID

在对 RADIUS 消息进行身份验证和记帐设置之前,就会对上述属性之一处理查找和替换规则。 属性操作规则只适用于单个属性。 不能为每个属性配置属性操作规则。 此外,可以操作的属性列表是静态列表;无法将可用于操作的属性添加到列表。

注意

如果使用的是 MS-CHAP v2 身份验证协议,那么如果使用连接请求策略转发 RADIUS 消息,则无法操作“用户名”属性。 唯一的例外发生在使用反斜杠 (\) 字符时,并且操作只影响其左侧的信息。 反斜杠字符通常用于表示域名(反斜杠字符左侧的信息)和域中的用户帐户名(反斜杠字符右侧的信息)。 在这种情况下,只允许修改或替换域名的属性操作规则。

有关如何在“用户名”属性中操作领域名的示例,请参阅在 NPS 中使用正则表达式主题中的“在用户名属性中操作领域名的示例”部分。

转发请求

可以设置下列转发请求选项,将其用于 RADIUS 访问-请求消息:

  • 在此服务器上验证请求。 在此设置下,NPS 会使用 Windows NT 4.0 域、Active Directory 或本地安全帐户管理器 (SAM) 用户帐户数据库对连接请求进行身份验证。 此设置还指定在 NPS 中配置的匹配网络策略及用户帐户的拨入属性都可由 NPS 用于对连接请求进行授权。 在这种情况下,NPS 配置为充当 RADIUS 服务器。

  • 将请求转发到下列远程 RADIUS 服务器组。 使用此设置,NPS 会将连接请求转发到指定的远程 RADIUS 服务器组。 如果 NPS 接收到与访问-请求消息对应的有效访问-接收消息,则认为连接尝试已通过身份验证且获得授权。 在这种情况下,NPS 充当 RADIUS 代理。

  • 在不验证凭据的情况下接受用户。 使用此设置,NPS 不验证尝试连接到网络的用户身份,并且不尝试验证用户或计算机是否有权连接到网络。 当 NPS 配置为允许未经身份验证的访问且接收到一个连接请求时,NPS 会立即将访问-接受消息发送到 RADIUS 客户端,并授予用户或计算机网络访问权限。 此设置用于某些类型的强制隧道,在对用户凭据进行身份验证之前,会在这些强制隧道中对访问客户端创建隧道。

注意

当访问客户端的身份验证协议是 MS-CHAP v2 或可扩展身份验证协议-传输层安全性 (EAP-TLS) 时,不能使用此身份验证选项(这两种协议都提供相互身份验证)。 在相互身份验证中,访问客户端向身份验证服务器 (NPS) 证明自己是有效的访问客户端,身份验证服务器向访问客户端证明自己是有效的身份验证服务器。 使用此身份验证选项时,返回访问-接受消息。 但是,身份验证服务器不会对访问客户端提供验证,且相互身份验证会失败。

如需通过示例了解如何使用正则表达式创建将具有指定领域名的 RADIUS 消息转发到远程 RADIUS 服务器组的路由规则,请参阅在 NPS 中使用正则表达式主题中的“通过代理服务器转发 RADIUS 消息的示例”部分。

高级

可以将高级属性设置为指定如下一系列 RADIUS 属性:

  • 当 NPS 用作 RADIUS 身份验证或计帐服务器时,添加到 RADIUS 响应消息。 当同时在网络策略和连接请求策略上指定了属性时,在 RADIUS 响应消息中发送的属性是两组属性的组合。
  • 当 NPS 用作 RADIUS 身份验证或计帐代理时,添加到 RADIUS 消息。 如果转发的消息中已经存在该属性,它将被连接请求策略中指定的属性值替换。

此外,适合在连接请求策略“设置”选项卡的“高级”类别中配置的某些属性会提供特定的功能。 例如,当要拆分两个用户帐户数据库间连接请求的身份验证和授权时,可以配置“远程 RADIUS 到 Windows 用户映射”属性

“远程 RADIUS 到 Windows 用户映射”属性指定对由远程 RADIUS 服务器进行身份验证的用户进行 Windows 授权。 也就是说,远程 RADIUS 服务器针对远程用户帐户数据库中的用户帐户执行身份验证,但本地 NPS 针对本地用户帐户数据库中的用户帐户对连接请求进行授权。 当要允许访问者访问网络时,这种方法很有用。

例如,来自合作伙伴组织的访问者可以由其自己的合作伙伴组织的 RADIUS 服务器对他们进行身份验证,然后可以使用你组织的 Windows 用户帐户访问网络上的来宾局域网 (LAN)。

提供特定功能的其他属性有:

  • MS-Quarantine-IPFilter 和 MS-Quarantine-Session-Timeout。 当使用路由和远程访问 VPN 部署进行部署网络访问隔离控制 (NAQC) 时使用这些属性。
  • Passport-User-Mapping-UPN-Suffix。 此属性允许使用 Windows Live™ ID 用户帐户凭据对连接请求进行身份验证。
  • Tunnel-Tag。 此属性将 VLAN ID 号码指定到部署虚拟局域网 (VLAN) 时 NAS 应该为其分配号码的连接。

默认连接请求策略

默认连接请求策略在安装 NPS 时创建。 此策略的配置如下。

  • 未配置“身份验证”。
  • “记帐”不配置为将记帐信息转发到远程 RADIUS 服务器组。
  • “属性”不配置将连接请求转发到远程 RADIUS 服务器组的属性操作规则。
  • 配置了“转发请求”,这样可以在本地 NPS 上对连接请求进行身份验证和授权。
  • 未配置“高级”属性。

默认连接请求策略将 NPS 用作 RADIUS 服务器。 若要将运行 NPS 的服务器配置为充当 RADIUS 代理,还必须配置远程 RADIUS 服务器组。 在使用“新建连接请求策略”向导创建新的连接请求策略时,可创建新的远程 RADIUS 服务器组。 可删除默认连接请求策略,或者通过将默认连接请求策略放在已排序的策略列表的末尾,来验证该策略是否是 NPS 处理的最后一个策略。

注意

如果在同一计算机上安装了 NPS 和远程访问服务,并且为 Windows 身份验证和计帐配置了远程访问服务,那么远程访问身份验证和计帐请求可能会转发到 RADIUS 服务器。 如果远程访问身份验证和计帐请求与配置为将其转发到远程 RADIUS 服务器组的连接请求策略相匹配,则可能发生这种情况。