HTTP拦截
同锐捷一代Web认证的HTTP拦截技术。
HTTP重定向
同锐捷一代Web认证的HTTP重定向技术。
工作原理
Web认证的典型组网方式如下图所示,它由三个基本角色组成:认证客户端、接入设备、Portal服务器。
用户上线Chap认证流程
(1) 用户访问网站,经过AC重定向到Portal Server;
(2) Portal server推送统一的认证页面;
(3) 用户填入用户名、密码,提交页面,向Portal Server发起连接请求;
(4) Portal向Radius发出用户信息查询请求,由Radius验证用户密码、查询用户信息,并向Portal返回查询结果及系统配置的单次连接最大时长、手机用户及卡用户的套餐剩余时长信息;
(5) 如果查询失败,Portal结束认证流程,并直接返回提示信息给用户,指导用户开户及正确使用;
(6) 如果查询成功,Portal Server向AC请求Challenge;
(7) AC分配Challenge给Portal Server;
(8) Portal Server向AC发起认证请求;
(9) 而后AC进行RADIUS认证,获得RADIUS认证结果;
(10) AC向Portal Server送认证结果;
(11) Portal Server根据编码规则判断帐户的归属地,推送归属地定制的个性化页面,并将认证结果、系统配置的单次连接最大时长、套餐剩余时长、自服务选项填入页面,和门户网站一起推送给客户,同时启动正计时提醒;
(12) Portal Server回应确认收到认证结果的报文。
用户上线PAP认证流程
用户主动下线
用户点击下线页面上的下线按钮,进行下线操作
交互流程
流程描述:
1)当用户需要下线时,可以点击认证结果页面上的下线机制,向Portal服务器发起一个下线请求。
2)Portal服务器向AC发起下线请求。
3)AC返回下线结果给Portal服务器。
4)Portal服务器根据下线结果,推送含有对应的信息的页面给用户。
5)当AC收到下线请求时,向SAM发计费结束报文。
6)SAM回应AC的计费结束报文
时长或流量用完,AC强制用户下线
流程描述:
1) AC侦测到用户的本次连接最大允许接入时间结束,向Portal服务器发出下线请求。
2) Portal服务器回应下线成功,并向用户推送下线结果页面。
3) 当AC收到下线请求时,向SAM发计费结束报文。
4) SAM回应AC的计费结束报文。
异常下线
异常下线,是指AC通过流量保活检测机制或链路保活检测检测到客户端已不在线,通告sam及eportal该用户下线
流程描述:
1)AC侦测到用户下线,向Portal服务器发出下线请求。
2)Portal服务器回应下线成功。
3)当AC收到下线请求时,向SAM发计费结束报文。
4)SAM回应AC的计费结束报文。
SAM 踢用户下线
流程描述:
1) SAM向AC下发Disconnect-Request消息。
2) AC向Portal服务器发出下线请求。
3) Portal服务器回应下线成功,并向用户推送下线结果页面。
4) AC向SAM回应Disconnect-ACK下线成功。
5) AC向SAM发计费结束报文。
6) SAM回应AC的计费结束报文。
AC 与eportal间的portal交互报文,以及 accouting结束报文见上面章节介绍,其中需要说明的是,在accounting-request报文中,Acct-Terminate-Cause 属性值为Admin-Reset(6),表示是管理员将其下线
保活机制
1、 流量保活
Web认证提供了一个低流量下线功能,允许设备检测已认证用户在一定时间内的流量值,当用户在指定时间内的流量低于指定的阈值时,则认为该用户处于低流量状态(比如处于待机状态等),此时将该用户下线。
WEB认证的流量检测功能默认打开,无流量用户下线功能。web认证通过的用户如果在配置的无流量时间之内没有流量通过设备,则设备认为该用户已经下线,该用户将被踢下线。
无流量检测11.x版本分为全局无流量检测和wlansec下无流量监测两种,wlansec下的无流量检测优先级更高,所以当wlansec下的无流量检测生效的情况下,全局的无流量下线是不生效。
全局无流量检测默认8小时流量为0则将用户下线,配置方法为:
Ruijie(config)# offline-detect interval xx threshold yy
xx是时间,1-65535的取值,单位min分钟,默认8小时
yy是流量, 0-4294967294取值,单位Byte,默认0
Wlansec下无流量检测默认15分钟流量为0则将用户下线,配置方法为:
wlansec下优先级更高,默认为15分钟无流量就将用户下线。
WS(config)#wlansec 7 -------这个数字根据实际的认证wlansec序号来
WS(config-wlansec)#web-auth offline-detect ?
flow Configure no flow threshold
interval Configure no flow interval
2、 链路保活
Web认证功能检测到无线用户的信号断开后,会将对应的Web认证信息清除,此时该用户就不能访问网络了,需要重新Web认证才可以继续访问网络。
缺省情况下,检测功能是打开的。若要关闭链路检测功能,请按照如下步骤:
Ruijie# configure terminal
Ruijie(config)# no web-auth sta-leave detection
配置关闭无线链路检测功能。
在SAM上无法将用户下线
+----------+Disconnect-Request+----------+
| |<-------------------- | |
| NAS| | RADIUS|
| |Disconnect-Response | Server|
| |---------------------> ||
+----------++----------+
解决方案:ruijie(config)#radius dynamic-authorization-extension enable //配置AC支持radius扩展属性
DM消息机制,由RADIUS服务器主动向设备发起用户下线请求,设备依据请求报文中携带的用户会话等标识来对匹配的用户进行下线处理,并将处理结果以回应报文形式返回给RADIUS服务器,以实现服务器对用户的下线管理功能。
二代web认证下线原因分析
“01”:用户请求下线
“02”:端口连接丢失(无线上指的是stamg通告sta下线,遇到这个问题需要找stamg负责人继续定位下线原因)
“03”:不能提供服务,主要指连接异常中断
“04”:空闲超时(无流量下线)
“05”:会话超时(可用时长到达)
“06”:管理员复位端口或会话(radius服务器踢线、portal恢复之后逃生用户下线、通过clear命令删除用户)
“07”:管理员重启NAS
“08”:端口错误,需要中断会话
“09”:NAS出错,要求中断会话
“10”:NAS因为其他原因要求中断会话
“11”:NAS意外重启
“12”:NAS认为不再需要保留该端口而中断会话
“13”:NAS需要重新优先分配该端口而中断会话
“14”:NAS需要挂起端口而中断当前会话
“15”:NAS不能提供所需服务
“16”:NAS为新会话回调而中断当前会话
“17”:用户输入错误
“18”:主机请求中断
“103”:IP或MAC发生改变(发生地址抢占)
“115”:服务切换
“122”:流量用完
“250”:低流量下线(我司私有的属性,和code4原因一样)
“500”:认证超时,radius认证报文超时未响应。提供给无线wlog模块使用,snc也会关注
“501”:认证拒绝,radius服务器拒绝。提供给无线wlog模块使用,snc也会关注
“502”:设备上用户数达到上限。提供给无线wlog模块使用,snc也会关注
portal协议规范中errcode的含义
(1) 当Type值为 2 时,ack_challenge:
ErrCode=0,表示AC设备告诉Portal Server请求Challenge成功;
ErrCode=1,表示AC设备告诉Portal Server请求Challenge被拒绝;---->portal报文错误或是AC上用户不存在
ErrCode=2,表示AC设备告诉Portal Server此链接已建立; ---->这个用户已经通过认证,此时再发认证请求就会返回errcode2
ErrCode=3,表示AC设备告诉Portal Server有一个用户正在认证过程中,请稍后再试; ------>AC已经向radius发起认证请求,但是radius还没回应,在这个过程中portal再发起req_challeage请求就会返回errcode3
ErrCode=4,则表示AC设备告诉Portal Server此用户请求Challenge失败(发生错误); ------>AC内部处理出错,导致请求挑战失败
注:ErrCode非0时,具体错误原因以ErrID属性值为准。
(2) 当Type值为 4 时:ack_auth
ErrCode=0,表示AC设备告诉Portal Server此用户认证成功;
ErrCode=1,表示AC设备告诉Portal Server此用户认证请求被拒绝; ---->portal报文错误(req_id不对,或是portal属性错误)或是radius服务器返回认证拒绝
ErrCode=2,表示AC设备告诉Portal Server此链接已建立;
ErrCode=3,表示AC设备告诉Portal Server有一个用户正在认证过程中,请稍后再试;
ErrCode=4 ,表示AC设备告诉Portal Server此用户认证失败(发生错误);
注:ErrCode非0时,具体错误原因以ErrID属性值为准。