问题描述
故障时,手动触发流量也不弹窗,手动输入url地址,重定向正常。
设备配置
interfaceVlan-interface100
ipaddress10.x.x.1255.255.255.0
dhcpserverapplyip-pool100
portalenablemethoddirect
portaluser-detecttypearpretry5interval10idle300
portaldomain h3c
portalbas-ip10.x.x.1
portalapplyweb-serverndtest
portalapplymac-trigger-serverndtest
web-redirecturlhttp://10.x.x.60:xxxx/am/portal/serviceId/SNxxxxxx/ac/H3C/ssid/ndtest
portal mac-trigger-server ndtest
ip 10.x.x.60 key cipher $c$3$b5WVlpC9+mmS0WB14MZ2rXgL9zjqeFdCZxbwWA==
server-type cmcc
过程分析
debugging portal all ,从debug看,已经有了首次认证,再次认证时报错找不到无感知表项。但是没有触发弹窗
*Jun 16 15:24:17:302 2023 H3C PORTAL/7/PACKET: -MDC=1;
Portal sent 35 bytes of packet: Type=req_macbind_info(48), ErrCode=0, IP=10.x.x.4
*Jun 16 15:24:17:307 2023 H3C PORTAL/7/PACKET: -MDC=1;
Portal received 54 bytes of packet:Type=req_auth(3), ErrCode=0, IP=10.x.x.4
*Jun 16 15:24:18:221 2023 H3C PORTAL/7/EVENT: -MDC=1-Slot=5; Set mac trigger rule status 0.
*Jun 16 15:24:18:221 2023 H3C PORTAL/7/RULE: -MDC=1-Slot=5;
MT_RULE:
InterfaceL3 = Vlan-interface100
InterfaceL2 = Ten-GigabitEthernet0/0/3
VLAN = 100
SrcMAC = xxxx-xxxx-xxxx
SrcIP = 10.x.x.4
Operation = 0
*Jun 16 15:24:17:333 2023 H3C PORTAL/7/EVENT: -MDC=1-Slot=0; Del mac trigger rule successfully.
*Jun 16 15:24:18:243 2023 H3C PORTAL/7/EVENT: -MDC=1-Slot=5; Del mac trigger rule successfully.
*Jun 16 15:24:17:325 2023 H3C PORTAL/7/PACKET: -MDC=1;
Portal received 16 bytes of packet: Type=ack_macbind_info(49), ErrCode=1,IP=10.x.x.4
(回包的 ErrCode=1 为首次认证, ErrCode=0为再次认证)
*Jun 16 15:24:17:325 2023 H3C PORTAL/7/ERROR: -MDC=1; MAC-trigger: Failed to find MAC item for ACK-MAC-BIND IP: 10.x.x.4
设备给服务器发req_macbind,服务器侧却先给设备发req_auth,导致设备去服务器认证,认证失败。
此后设备会删除该无感知表项,下次流量过来会再次触发无感知,所以会导致一直循环走无感知,弹不了页面 。
解决方法
正常的无感知流程是:
设备给服务器发req_macbind,无感知服务器和portal服务器在一起,服务器侧是知道这个用户在不在的,应该直接回复回应ack_macbind,查不到错误码为1,查到了为0,并给设备发req_auth走正常认证
需要排查服务器侧情况,可替换服务器文件测试