一、故障现象
WEB认证重定向页面无法正常弹出,页面空白或者提示设备未注册。
二、组网拓扑
常规网络拓扑如下:
拓扑描述: PC通过接入、汇聚交换机连接到核心,PC的网关在核心上, 下联认证全部开在核心上
三、可能原因
-
PC未获取IP地址,导致无法正常发起http报文;
-
PC获取到DNS服务器地址异常,导致无法正确解析域名,无法正常发起http报文;
-
18K上重定向配置、portal key 、source interface和eportal上设置不一致;
-
接口开启了WEB认证防私设功能,用户使用静态配置的IP地址,导致无法重定向,Web防私设命令:web-auth dhcp-check 或者web-auth dhcp-check vlan xxx;
-
18k为B3P3版本,静态IP地址配置在静态无感知认证地址范围 ,web认证页面不弹出也不跳转;
-
环境问题导致http报文未到达18K上,中途丢包,导致18K无法重定向;
-
PC和portal服务器通路异常,导致报文无法正常交互,比如路由不可达,安全设备过滤portal报文等;
-
eportal服务器异常,导致没有回应报文;
-
报文正常到达NAS,但是NAS未处理。常见的就是网络中存在大量WEB攻击报文上送交换机控制面,控制器资源占满,引发其他协议报文无法正常处理。极简X版本可以通过NFPP中的web-auth防护功能规避;
-
NAS设备软件问题报文未送到WEB进程,导致18K无法重定向;
-
如果是第三方服务器(如城市热点),看一下重定向url是否符合服务器要求,不符合也会导致web认证界面无法弹出;
-
TLS版本问题,我司web重定向使用的TLS版本为1.0或1.1,微软在win 11更新升级后就禁用了TLS 1.0和1.1,从而导致我司重定向交换时被终端浏览器直接拒绝。【web认证需要终端设备与交换机进行重定向交互,当用户使用浏览器访问交换机https页面时需要使用tls(安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性),因为当前tls版本太低被终端浏览器直接拒绝,造成Portal认证页面无法弹出,进一步导致成web认证无法正常完成。】;
四、故障排查步骤:
步骤一:检查PC获取地址以及跳转情况
查看PC是否有获取到IP地址,若没有获取到地址按获取不到地址进行排查,获取到了按下面排查
-
打开浏览器分别输入http://www.ruijie.com.cn 和 http://1.1.1.1(该IP必须为一个内网中不存在的IP地址),观察URL有没有跳转变化。
如果输入网址无法跳转,输入IP地址以后能够跳转,则请检查DNS是否正常,可以在终端上使用nslookup www.baidu.com核实DNS解析是否正常。
如果两者都无法跳转,请走下一个步骤,若是跳转以后无法弹出页面,需要检查portal服务器情况
步骤二:检查18K和eportal服务器相关配置是否正确
-
通过show web-auth tem明确对应认证/记账模板是否有调用错,URL是否配置错误,portal服务器状态是否为enable;
-
明确一下对应portal源端口是哪个,使用对应源端口IP PING portal服务器是否正常可达,同时核实一下portal key是否配置正确;
-
明确一下对应终端地址是否为DHCP获取地址,若是静态配置地址,检查一下设备是否有配置WEB认证防私设功能。相关命令:web-auth dhcp-check 或者web-auth dhcp-check vlan xxx;(web防私设要跟dhcp snooping表项联动,如果查找不到snooping表,web认证重定向不出来)
-
检查是否关闭了http的重定向,即是否配置了no http redirect port 80
-
检查eportal上对应配置是否和18K上一致,如下:
-
show version 检查18K版本是否为B3P3版本,如果是检查是否开启静态地址无感知认证; 静态 ip 若在 dot1x mac-auth-bypass static-ip-segment 配置的ip段范围 ,web认证页面不弹出也不跳转。 ;
-
检查是否存在无感知认证表项,show dot1x su | in xxx(终端mac地址),存在无感知表项不会弹认证;
-
核实终端是否存在迁移情况,若存在需要检查是否配置认证迁移;
station-move permit //必配,所有认证迁移的总开关,必须开启,才有web认证和1X认证迁移的处理逻辑。当用户触发认证迁移时,会自动删除迁移前的认证表项,自动增加迁移后的认证表项
web-auth station-move auto//必配,开启web-auth认证迁移,当用户触发认证迁移时,web-auth模块会自动删除迁移前的认证表项,自动增加迁移后的认证表项
web-auth station-move info-update //必配,开启web-auth认证迁移时,通过计费更新报文通告radius服务器用户vid/port的最新值。
步骤三:核实是否命中已知的HTTPS重定向异常问题
核实一下是否只有https的重定向出现异常,若是只有https页面无法重定向且对应WEB页面有如下图报错,命中TLS版本问题,具体可以参照预警:WN20220302001
步骤四:检查环境是否存在异常,参考环路排查SOP
环路排查参考环路排查SOP:
步骤五:检查终端和18K重定向报文交互情况
正常情况下,终端和18K重定向报文交互情况如下(正常还有DNS解析报文,此处未截取)
过程为:
-
终端发起和地址1.2.3.4的TCP连接建立请求;
-
NAS截获终端请求并伪装目的IP(1.2.3.4)与终端进行TCP三次握手连接;
-
终端发起访问网页的HTTP的get请求报文;
-
NAS给终端回复一个重定向报文,重定向地址为portal服务器的URL地址;
在18K侧抓包查看:
若是过程1或者过程3报文没有,需要检查终端和18K中间的网络情况,可通过调用tcp计数明确丢包点;
show mac-address-table | include ***(用户的MAC地址)
show arp | include ****(用户的MAC地址)
若是过程2或者过程4报文没有,原因可能有以下几点:
-
环境中有大量的异常报文,导致设备未正常处理对应TCP请求,可以通过show cpu-pr type web-auth/show cpu-pr type web-auths核实是否有对应报文的CPP丢包。
-
用户认证报文过多,导致设备web认证模块处理不过来,Wbamain是web认证处理进程,可通过show processes cpu | in wba查看对应进程CPU占用是否正常
-
查看WEB认证对应的TCP端口是否正常开启,通过show tcp connect查看,一般4389/7165是web认证的端口。
-
交换机发送rst报文导致三次握手没建立,查看18K全局或者对应接口下是否有配置acl,acl里是否有deny终端ip地址tcp报文的ace条目;
步骤六:收集信息,联系4008111000分析
五、故障信息收集
-
复现过程收集以下信息:
可以在故障终端浏览器访问http://1.2.3.4,然后对目的ip是1.2.3.4的报文进行过滤
debug efmp packet filter x.x.x.x counter 10(进行报文过滤) ==>开启对应IP 1.2.3.4的快转debug
debug acl efacl ef-packet dstip x.x.x.x count 10 (进行报文过滤) ==>开启对应IP 1.2.3.4的ACL debug信息,看看对应流量是否被ACL过滤
debug ip tcp packet peer-ip x.x.x.x (进行报文过滤) ==>开启对应终端源IP的TCP连接debug,明确对应TCP建立情况,如果此交换机用户不多,可以开启复现收集信息
debug web-auth log-limit 1000(输出1000条debug信息后自动关闭debug web-auth httprd),如果没有此命令则通过debug syslog limit time 30 limit 1500 (30min 内输出1500条debug后自动关闭所有的debug)
debug web-auth httprd (查看重定向的过程,这条命令没有过滤,会对所有的重定向进程输出,用户数多的环境不建议开启,要先输入debug条数限制在开启此命令)
-
复现后收集:
terminal mon
terminal length 0
show ver detail
show run
show cpu
show mem
sh memory history
show cpu-pro type web
show cpu-pro type webs
show processes cpu | in wba
debug scc stat
debug web cli
show mac-address-table | include ***(用户的MAC地址)
show arp | include ****(用户的MAC地址)
show ip dhcp snooping
show ip dhcp snooping binding | in ****(用户的MAC地址)
sh web user ip *******(用户的IP)
sh web syslog ip *******(用户的IP)
sh web syslog mac *******(用户的mac)
debug web-auth show
debug web-auth sta eportalv2
debug web-auth dump err
debug web-auth sta
show web-auth authmng abnormal
show radius timeout record
show web temp
show web portal
show radius auth stat
show radius acct stat
show log
terminal no length
terminal no mon