Print

S7510E-X结合深澜服务器做Portal无感知认证终端不定时掉线经验案例

2020-03-30 发表

组网及说明

现场为无线终端接入,网关在S7510E-X的交换机上,Portal无感知认证做在核心交换机上。

问题描述

现场反馈交换机S7510E-X在结合深澜服务器做Portal无感知认证时,无线终端每隔两三天在接入无线网络时,会出现掉线,需要重新认证,无法直接无感知上线的问题。但是重新输入用户名密码认证后,是可以正常上线并使用的,可以看出现场是无感知上线出现问题。

过程分析

现场Portal认证使用正常,在检查Portal认证相关配置后未发现配置错误,检查无感知MAC-Trigger相关配置:

#

portal mac-trigger-server shenlan

 ip 10.100.250.254

#

interface Vlan-interface1000

 description ap-yewu

 ip address 10.100.16.1 255.255.240.0

 portal enable method direct

 portal domain shenlan

 portal bas-ip 10.100.250.1

 portal apply web-server shenlan

 portal apply mac-trigger-server shenlan

#

可以看到无感知mac-trigger服务器指向正常且有调用,同时跟现场确认过,在故障复现时,核心交换机与深澜服务器的连通性正常。

MAC-Trigger无感知上线过程如下:

(1)       用户在首次接入网络时,接入设备将用户的MAC地址及接入端口信息保存为MAC-Trigger表项。

(2)       接入设备会根据MAC-Trigger表项将用户的MAC地址发送至MAC绑定服务器进行查询。

(3)       MAC绑定服务器在本地查询是否存在与用户MAC地址绑定的Portal认证信息:

·            如果存在Portal认证信息,则MAC绑定服务器将通知接入设备该用户为“已绑定”状态,并使用用户的认证信息向接入设备发起Portal认证,在用户无感知的情况下完成认证过程。

·            如果不存在Portal认证信息,则MAC绑定服务器将通知接入设备该用户为“未绑定”状态。接入设备将对用户发起正常的Portal认证。在用户完成Portal认证过程后,接入设备会将用户的MAC地址和认证信息发送至MAC绑定服务器,完成信息绑定。当同一用户再次访问网络时,MAC绑定服务器便可以利用保存的认证信息代替用户完成认证。

(4)       用户通过Portal认证后,接入设备将删除MAC-Trigger表项。

根据客户现场的故障现象及无感知上线流程分析,怀疑是服务器未查询到MAC地址绑定信息,或是交换机没有正常发送终端的MAC地址到服务器进行查询。于是让现场在故障复现时,提前在核心交换机上开启debugging portal all,并使用故障终端进行无线接入并进行Portal认证从而查看无感知上线的报文交互信息。
debugging portal all中MAC-Trigger相关信息如下:

*Mar 26 14:55:38:121 2020 core PORTAL/7/PACKET: -MDC=1;

Portal sent 36 bytes of packet: Type=req_macbind_info(48), ErrCode=0, IP=10.100.22.173

*Mar 26 14:55:38:121 2020 core PORTAL/7/PACKET: -MDC=1;

[ 11 SESSIONID           ] [  8] [5840-4e29-3bcf]

[ 10 BASIP               ] [  6] [10.100.250.1]

[ 48 NASID               ] [  6] [core]

 

*Mar 26 14:55:38:122 2020 core PORTAL/7/PACKET: -MDC=1;

01 30 00 00 08 6b 00 00 0a 64 16 ad 00 00 00 03

0b 08 58 40 4e 29 3b cf 0a 06 0a 64 fa 01 30 06

63 6f 72 65

 

*Mar 26 14:55:38:122 2020 core PORTAL/7/EVENT: -MDC=1; MAC-trigger: MAC entry(5840-4e29-3bcf) state changed from DEFAULT to WAIT.

*Mar 26 14:55:38:122 2020 core PORTAL/7/PACKET: -MDC=1;

Portal received 16 bytes of packet: Type=ack_macbind_info(49), ErrCode=1, IP=10.100.22.173

*Mar 26 14:55:38:122 2020 core PORTAL/7/PACKET: -MDC=1;

01 31 00 00 08 6b 00 00 0a 64 16 ad 00 00 01 00

 

 

*Mar 26 14:55:38:128 2020 core PORTAL/7/EVENT: -MDC=1; MAC-trigger: MAC entry(5840-4e29-3bcf) state changed from WAIT to NOBIND.

*Mar 26 14:55:38:128 2020 core PORTAL/7/EVENT: -MDC=1; Set mac trigger rule status 2.

*Mar 26 14:55:38:128 2020 core PORTAL/7/RULE: -MDC=1;

通过debug信息可以看到,MAC-Trigger进程中,接入设备首先给服务器发送Type为48的MAC绑定请求信息,可以看到请求中带有终端的MAC地址和BAS-IP,同时状态由DEFAULT变为WAIT。后续服务器在根据接入设备发送的查询请求报文进行查询,接入设备成功收到了服务器发送的Type为49的MAC绑定查询结果信息,ErrCode为1。ErrCode为1表示MAC绑定表项查询失败,ErrCode为0表示查询成功。因此可以得出,故障时服务器侧 MAC-Trigger表存在异常导致无感知上线失败。

解决方法

检查服务器侧MAC-Trigger表项