Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

NASREQ 进行身份验证和授权

Diameter 网络接入服务器应用 (NASREQ)

Diameter 网络接入服务器要求 (NASREQ) 协议是 RFC 7155,Diameter 网络访问服务器应用程序中定义的基于 Diameter 的身份验证、授权和计费协议。它是在 Diameter 环境中使用 RADIUS AAA 的替代方法。Junos OS 支持身份验证和授权功能,但不支持计费。身份验证用于初始用户登录以验证用户身份。同样,授权在登录时用于设置订阅者可能需要的初始条件或服务,或两者兼而有之。NASREQ 协议不用于对用户进行重新身份验证或重新授权。

Junos OS 支持以下 NASREQ 协议交换:

  • AA-Request/Answer — 登录时的身份验证/授权请求。

  • Session-Termination-Request/Answer — 用户会话已终止的通知。

  • Abort-Session-Request/Answer — 请求从 NASREQ 服务器终止订阅者的会话。

注意:

在 AA-Request、Session-Termination-Request 和 Abort-Session-Request 消息中,必须将 Auth-Application-Id AVP 设置为值 1。

NASREQ 客户端有两个队列,即传输队列和响应队列。传输队列存储出站数据包,直到它们被发送到 Diameter,并包括请求和响应。响应队列存储数据包,直到 Diameter 响应请求,并且仅包括等待响应的请求。

以下配置变量控制队列的传输流和使用:

  • outstanding-requests— 发送到 Diameter 进行有线传输的最大请求数(包括 AAR 和 STR)— 实际上,这是响应队列上的最大请求数(尚未响应或超时的动态请求的最大数);它不包括已发送的响应。

  • request-retry- 给定请求在其初始请求超时后重新向 Diameter 发送的次数。此值仅适用于响应队列中的请求。

  • timeout— 出站数据包在声明超时之前保留在传输队列中的秒数。超过超时值的数据包不会传输。Diameter 管理传输后超时的数据包。超时值适用于传输队列中的所有数据包,包括要发送的请求和响应。

交换流程如下:

  1. 订阅者尝试登录,authd 作为 NASREQ 客户端向 NASREQ 服务器发送 Diameter AA-Request (AAR) 消息,其中包含有关订阅者的信息和身份验证信息。

    • 如果未完成的请求数小于配置的最大未完成请求值,则 authd 将请求发送到 NASREQ 服务器进行传输,并将请求放在响应队列中。

    • 如果未完成请求数大于或等于配置的最大未完成请求值,则 authd 会将请求存储在传输队列中。

  2. 当从 NASREQ 服务器收到 Diameter AA-Answer (AAA) 消息形式的响应时,authd 会检查响应队列中是否存在匹配请求 (AAR)。

    • 如果找到匹配的请求,则从队列中提取该请求并用于处理响应。

    • 如果未找到匹配的请求,则忽略并丢弃响应。

当 Diameter 通知 NASREQ 客户端请求已超时时,将发生以下作之一:

  • 如果请求不在响应队列中,则忽略超时。

  • 如果此请求的重试计数器小于配置 request-retry 的值,authd 将再次发送请求并递增该请求的重试计数器。

  • 如果此请求的重试计数器大于或等于配置的值,authd 将处理请求超时,并将传输队列上的下一个请求发送到 NASREQ 服务器。

当配置的超时期限到期时,authd 会从传输队列中移除任何过期的出站数据包,并将其处理为已超时。

使用 Diameter NASREQ 协议的好处

  • 允许使用外部 NASREQ 服务器为订阅者提供身份验证和授权,而不使用 RADIUS 服务器。某些客户模型可能不采用 RADIUS 服务器,或者希望在迁移到 Diameter 订阅者配置模型时停止使用 RADIUS 服务器。

配置 Diameter 网络访问服务器应用程序 (NASREQ)

您可以将 NASREQ 客户端配置为 RADIUS 的替代方法,以便在用户登录时进行用户身份验证和授权。

要配置 NASREQ 进行身份验证和授权:

  1. 将 NASREQ 指定为与网络元素关联的 Diameter 应用程序(功能)。
  2. 将 NASREQ 指定为 Diameter 网络元素转发功能和分区。
  3. 指定 NASREQ 进行订阅者身份验证和授权。
  4. 将 NASREQ 指定为订阅者授权(无身份验证)。
    注意:

    同时配置 authentication-orderauthorization-order时,行为取决于用户类型。对于 DHCP 用户, authorization-order 优先于 authentication-order。对于所有其他订阅者类型, authentication-order 优先于 authorization-order

  5. 指定 NASREQ 分区的目标标识。
  6. 指定要发送到 Diameter 引擎进行传输的最大请求数。这也是响应队列中的最大请求数。
  7. 指定在从 Diameter 收到请求超时时重试向 Diameter 引擎发送请求的次数。
  8. 指定出站数据包在声明超时之前保留在传输队列中的秒数。