ADC

配置具有持久性的 RADIUS 负载平衡

如今复杂的网络环境通常需要通过强大的身份验证和授权协调大容量、大容量负载平衡配置。应用程序用户可以通过移动接入点(例如消费级 DSL 或 Cable 连接、WiFi 甚至拨号节点)连接到 VPN。这些连接通常使用动态 IP,在连接过程中可能会发生变化。

如果您在 NetScaler 设备上配置 RADIUS 负载平衡以支持与 RADIUS 身份验证服务器的永久客户端连接,则设备使用用户登录名或指定的 RADIUS 属性而不是客户端 IP 作为会话 ID,将与该用户会话相关的所有连接和记录定向到同一 RADIUS 服务器。因此,当客户端 IP 或 WiFi 接入点发生变化时,用户可以从移动访问位置登录您的 VPN,而不会出现连接中断的情况。

要使用持久性配置 RADIUS 负载平衡,必须首先为 VPN 配置 RADIUS 身份验证。有关信息和说明,请参阅 AAA 应用程序流量中的身份验证、授权、审计 (AAA) 章节。另外,选择负载平衡或内容切换功能作为配置的基础,并确保已启用所选功能。任一功能的配置过程几乎相同。

然后,配置两个负载平衡或两个内容交换虚拟服务器,一个用于处理 RADIUS 身份验证流量,另一个用于处理 RADIUS 记账流量。接下来,配置两个服务,每个为负载平衡虚拟服务器配置一个,并将每个负载平衡虚拟服务器绑定到其服务。最后,创建负载平衡持久性组并将持久性类型设置为 RULE。

启用负载平衡或内容切换功能

要使用负载平衡或内容交换功能,必须首先确保该功能已启用。如果您正在配置以前未配置的新 NetScaler 设备,则这两个功能都已启用,因此您可以跳到下一节。如果要在 NetScaler 设备上配置以前的配置,并且不确定所使用的功能是否已启用,则必须立即执行此操作。

配置虚拟服务器

启用负载平衡或内容交换功能后,接下来必须配置两个虚拟服务器以支持 RADIUS 身份验证:

  • RADIUS 身份验证虚拟服务器。此虚拟服务器及其关联服务处理 RADIUS 服务器的身份验证流量。身份验证流量包括与登录到受保护的应用程序或虚拟专用网络 (VPN) 的用户关联的连接。
  • RADIUS 会计虚拟服务器。此虚拟服务器及其关联的服务处理与 RADIUS 服务器的记帐连接。记帐流量由跟踪受保护的应用程序或 VPN 上经过身份验证的用户活动的连接组成。

重要:必须创建一对负载平衡虚拟服务器或一对内容交换虚拟服务器才能在 RADIUS 持久性配置中使用。您不能混合使用虚拟服务器类型。

使用命令行界面配置负载平衡虚拟服务器

在命令提示符处键入以下命令以创建负载平衡虚拟服务器并验证配置:

add lb vserver <name> RADIUS <IP address> <port> -lbmethod TOKEN -rule <rule>

show lb vserver <name>
<!--NeedCopy-->

要配置现有的负载平衡虚拟服务器,请将前面的 add lb virtual serverset lb vserver 令替换为具有相同参数的命令。

使用命令行界面配置内容交换虚拟服务器

在命令提示符处键入以下命令以创建内容交换虚拟服务器并验证配置:

add cs vserver <name> RADIUS <IP address> <port> -lbmethod TOKEN -rule <rule>

show cs vserver <name>
<!--NeedCopy-->

要配置现有的内容交换虚拟服务器,请将前面的 add cs vserverset cs vserver 令替换为具有相同参数的命令。

示例:

add lb vserver radius_auth_vs1 RADIUS 192.168.46.33 1812 -lbmethod TOKEN -rule CLIENT.UDP.RADIUS.USERNAME

add lb vserver radius_acct_vs1 RADIUS 192.168.46.34 1813 -lbmethod TOKEN -rule CLIENT.UDP.RADIUS.USERNAME

set lb vserver radius_auth_vs1 RADIUS 192.168.46.33 1812 -lbmethod TOKEN -rule CLIENT.UDP.RADIUS.USERNAME

set lb vserver radius_auth_vs1 RADIUS 192.168.46.34 1813 -lbmethod TOKEN -rule CLIENT.UDP.RADIUS.USERNAME
<!--NeedCopy-->

使用配置实用程序配置负载平衡或内容交换虚拟服务器

导航到 流量管理 > 负载平衡 > 虚拟服务器 ,或导航到 流量管理 > 内容交换 > 虚拟服务器 >,然后配置虚拟服务器。

配置服务

配置虚拟服务器后,接下来必须配置两个服务,每个服务对应于您创建的虚拟服务器。

注意:配置后,这些服务处于禁用状态,直到 NetScaler 设备可以连接到 RADIUS 服务器的身份验证和记帐 IP 并监视其状态。有关说明,请参阅 配置服务

将虚拟服务器绑定到服务

配置服务后,您必须接下来将创建的每个虚拟服务器绑定到相应的服务。有关说明,请参阅将 服务绑定到虚拟服务器

为 Radius 配置持久性组

将负载平衡虚拟服务器绑定到相应的服务后,必须设置 RADIUS 负载平衡配置以支持持久性。为此,您需要配置一个包含 RADIUS 负载平衡虚拟服务器和服务的负载平衡持久性组,并将该负载平衡持久性组配置为使用基于规则的持久性。持久性组是必需的,因为身份验证和记帐虚拟服务器不同,并且单个用户的身份验证和记帐消息应该到达同一个 RADIUS 服务器。持久性组允许对两个虚拟服务器使用同一会话。有关说明,请参阅 配置持久性组

配置 RADIUS 共享机密

从版本 12.0 起,NetScaler 设备支持 RADIUS 共享密钥。RADIUS 客户端和服务器通过使用在客户端和服务器上配置的共享机密相互通信。RADIUS 客户端和服务器之间的事务使用共享密钥进行身份验证。此密钥也用于对 RADIUS 数据包中的某些信息进行加密。

RADIUS 共享密钥验证场景

RADIUS 共享密 钥的验证发生在以下情况下:

  • RADIUS 共享密钥是为 Radius 客户端和 Radius 服务器配置的: NetScaler 设备在客户端和服务器端都使用 RADIUS 密钥。如果验证成功,则设备允许通过 RADIUS 消息。否则,它会删除 RADIUS 消息。
  • 未为 Radius 客户端或 Radius 服务器配置 RADIUS 共享密钥: NetScaler 设备丢弃 RADIUS 消息,因为无法在未配置 radkey 的节点上执行共享密钥验证。
  • 没有为 RADIUS 客户端和 RADIUS 服务器配置 RADIUS 共享密钥: NetScaler 设备绕过了 RADIUS 密钥验证,允许 RADIUS 消息通过。

您可以配置默认 RADIUS 共享密钥,也可以针对每个客户端或子网进行配置。建议为配置了 RADIUS 策略的所有部署添加 RADIUS 共享密钥。设备使用 RADIUS 数据包的源 IP 地址来决定要使用哪个共享机密。您可以按如下方式配置 RADIUS 客户端和服务器以及相应的共享密钥:

在 CLI 提示符处,键入:

add radiusNode <clientPrefix/Subnet> -radKey <Shared_secret_key>
<!--NeedCopy-->

参数

IPaddress

采用 CIDR 格式的 RADIUS 客户端的 IP 地址或子网。设备使用传入请求数据包的源 IP 地址来匹配客户端 IP 地址。您可以配置客户机网络地址,而不是配置客户端 IP 地址。匹配最长前缀以识别传入的客户端请求的共享密钥。

Radkey

客户端、NetScaler 设备和服务器之间的共享密钥。最大长度:31。

add lb vserver radius_auth_vs1 RADIUS 192.168.46.33 1812 -lbmethod TOKEN -rule CLIENT.UDP.RADIUS.USERNAME

add lb vserver radius_acct_vs1 RADIUS 192.168.46.34 1813 -lbmethod TOKEN -rule CLIENT.UDP.RADIUS.USERNAME

add service radius_auth_service1 192.168.41.68 RADIUS 1812

add service radius_acct_service1 192.168.41.70 RADIUS 1813

bind lb vserver radius_auth_vs1 radius_auth_service1

bind lb vserver radius_acct_vs1 radius_acct_service[1-3]

add radiusNode 192.168.41.0/24 -radKey  serverkey123

add radiusNode 203.0.113.0/24 -radkey clientkey123
<!--NeedCopy-->

必须为 RADIUS 客户端和服务器配置共享密钥。命令是一样的。子网决定共享密钥是用于客户端还是用于服务器。

例如,如果指定的子网是客户端子网,则共享密钥为客户端。如果指定的子网是服务器子网(在前面的示例中为 192.168.41.0/24),则共享密钥适用于服务器。

0.0.0.0/0 的子网意味着它是所有客户端和服务器的默认共享机密。

注意:

RADIUS 共享机密只支持 PAP 和 CHAP 身份验证方法。

配置具有持久性的 RADIUS 负载平衡