现场为无线终端接入,网关在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表项。
*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表项