• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

某局点结合第三方服务器微信连WIFI认证成功后立刻被AC踢下线经验案例

2017-11-19 发表
  • 0关注
  • 0收藏 2074浏览
粉丝:30人 关注:0人

某局点结合第三方服务器做微信连WIFI认证,认证原理采用的分两次Portal认证,第一次是临时账户认证通过,认证通过后网络放通,终端拉起微信,在拉起微信后,服务器先将第一次临时账户强制下线,然后再发起第二次以微信信息为用户名的Portal认证,这时也可以认证成功,但随后AC就发起Portal的强制下线报文(Type 8)将用户再次踢下线,问题必现。


第二次Portal认证成功后,AC发了Type 8的下线报文将客户端又强制踢下线。

*Nov 10 15:47:31:891 2017 H3C_wireless_AC PORTAL/7/PORTAL_DEBUG: 
Portal send to 10.11.119.138 packet length:16
  Portal packet head:
   Type:8   SN:360  ReqId:0    AttrNum:0  ErrCode:0  UserIP:10.43.2.0
  Portal packet attribute list:
   NULL
  Portal raw packet:
   01 08 00 00 01 68 00 00 0a 2b 02 00 00 00 00 00
  


在服务器上抓包进行分析:      首先可以看到两次完整的Portal认证,第一次认证成功后,服务器发送了Radius强制下线报文(Disconnect-Request(40)),AC正常响应,且发送Portal强制下线报文(NTF_LOGOUT)下线成功,随后服务器发起第二次Portal认证,并且认证成功,但隔了5秒左右AC又发了Portal的强制下线报文(NTF_LOGOUT)并且还发了两次,导致用户被强制踢下线。

一般上线成功后AC发起强制下线的情况是因为服务器下发了一些不识别的属性,比如下发了ACL,但在AC又没有创建相应的ACL,或者是做了Portal的双机热备,但Portal同步失败也会导致AC强制下线。但排查配置后发现AC没有做双机热备,且服务器也没有下发Radius属性。

观察抓包发现,三个NTF_LOGOUT都是间隔了5秒发送一次,并且发出去的NTF_LOGOUT都没有得到服务器的回应,所以怀疑是同一个NTF_LOGOUT重传了两次,导致正巧赶上第二次认证成功的时间了,所以碰巧下线的,再回顾Portal的认证报文。

#define PT_NORMAL_REQ_CHALLENGE 0x01 /* Portal ServerBAS发送的Challenge请求报文 */
#define PT_NORMAL_ACK_CHALLENGE 0x02 /* BAS
Portal Server请求Challenge报文的回应报文 */
#define PT_NORMAL_REQ_AUTH 0x03 /* Portal Server
BAS发送的请求报文 */
#define PT_NORMAL_ACK_AUTH 0x04 /* BAS
Portal Server请求认证报文的回应报文*/
#define PT_NORMAL_REQ_LOGOUT 0x05 /* Portal Server
BAS发送的下线请求报文 */
#define PT_NORMAL_ACK_LOGOUT 0x06 /* BAS
Portal Server下线请求的回应报文 或者Portal Server回应BAS的下线请求报文*/
#define PT_NORMAL_AFF_ACK_AUTH 0x07 /* Portal Server收到认证成功响应报文后向BAS发送的确认报文 */
#define PT_NORMAL_NTF_LOGOUT 0x08 /* BAS
发送给Portal Server的,用户被强制下线的通知报文 */
#define PT_NORMAL_REQ_INFO 0x09 /* 信息询问报文 */
#define PT_NORMAL_ACK_INFO 0x0a(10) /*
信息询问的应答报文 */
#define PT_NORMAL_NTF_USERDISCOVER 0x0b(11) /* Portal Server
BAS发送的发现新用户要求上线的通知报文 */
#define PT_NORMAL_NTF_USERIPCHANGE 0x0c(12) /* BAS
Portal Server发送的通知更改某个用户IP地址的通知报文 */
#define PT_NORMAL_AFF_NTF_USERIPCHANGE 0x0d(13) /* Portal Server
通知BAS对用户表项的IP切换成功 */
#define PT_NORMAL_ACK_NTF_LOGOUT 0x0e(14) /* Portal Server
通知BAS用户强制下线成功 */

其中ACK_LOGOUT 0x06是个双向回应报文,即可以AC对服务器发的REQ_LOGOUT进行回应,也可以服务器对AC发的NTF_LOGOUT进行回应,属于移动规范的报文。而ACK_NTF_LOGOUT 0x0e(14)则是华三的私有报文,指服务器对AC发的NTF_LOGOUT进行回应。 基于上述分析,得出只要服务器对AC第一次发出的NTF_LOGOUT进行回应Type 6或者Type 14都可以解决问题。


跟客户分析清楚原理后,建议客户考虑对以后对其他厂家AC的兼容,建议回应ACK_LOGOUT 0x06即可,客户针对服务器进行调整后问题解决。


由于微信连WIFI认证方式的特殊性,涉及到两次Portal认证,且需要将第一次Portal认证踢下线,所以才诱发此问题,需要服务器对第一次强制下线的报文流程进行回应。建议排查此问题时参考认证流程,每个报文都按照规范来做处理即可解决。


该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2019-06-12对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作