S5700产品S5700-52-PWR-LI-AC
问题描述
交换机版本:V200R008C00SPC500+SPH002;
组网图:
S5700交换机上联端口分别与其他友商portal服务器和外网路由器对接,S5700交换机上配置逃生功能(server-detect interval 100 max-times 5),逃生功能主要检测指定的服务器是否正常,如果服务器出现故障,那么逃生功能启用,可以让客户端避免认证,从而上网。
故障现象:客户配置逃生后,需要进行测试,但是在测试时portal服务器故障恢复正常后,逃生功能任然继续工作,导致客户无法进行radius认证,任然按照逃生模式上网。
设备配置:
#
web-auth-server ndkey //配置portal服务器
server-ip 10.139.1.46 //portal服务器地址
port 50100 //服务器使用端口
url-template ndkey //套用url模板
source-ip 192.168.42.2 //本端地址
server-detect interval 100 max-times 5 //开启逃生功能,100秒内发送5次心跳检测。
#
interface Vlanif42
ip address 192.168.42.2 255.255.254.0
#
interface GigabitEthernet0/0/13
port link-type access
port default vlan 42
authentication portal //接入用户认证模式
web-auth-server ndkey direct //接口绑定portal模板,并启用二层转发。
#
处理过程
1、和客户沟通了解故障现象,发现portal服务器down后,逃生功能启用,证明能检测到portal服务器。
2、逃生功能原理,需要portal服务器和交换机之间启用心跳线,怀疑是不是portal服务器恢复正常后,没有打开心跳,不反馈心跳报文到交换机,导致逃生功能一直生效。
3、在portal服务器侧报文头分析,portal服务器有发送心跳报文,心跳功能是打开了的,检测报文内容发现友商portal心跳协议为思科的协议,华为portal心跳协议为华为私有,那么相互收发代码就不一致,华为协议代码为0x81和0x82,0x81是交换机发送给portal服务器;0x82是服务器反馈给交换机的。所以让portal服务器厂家研发修改相关参数,交换机才能正常接收心跳报文。
4、修改后,发现故障现象依旧再,再次报文头分析查看发现portal服务器发送的心跳版本为V1,华为心跳版本为V2,没有V1版本,需要portal服务器心跳版本改成V2。修改后就能正常启用心跳检测功能,并退出逃生状态,客户能正常进行认证。
根因
根因:华为PORTAL协议为私有,对接时需要版本V2、并且协议代码为0x81和0x82。