为了满足计费认证等需求,TL-AC1000在portal认证中为第三方认证服务器提供相应接口,用户可根据自己的需求接入第三方认证服务器,实现用户计费认证上网的需求,同时用户也可以使用TL-AC1000内置的认证服务器进行认证计费。
TL-AC1000使用portal进行认证计费的详细设置可以参考文档:《[TL-AC1000] Portal功能典型配置案例》。
以下分别介绍使用radius认证服务器和本地认证服务器的数据通信过程。
Radius认证服务器
TL-AC1000支持的Radius认证计费类型:只支持按时间计费。
无线终端接入无线网络之后,正常的认证计费的过程如下:
Portal认证流程图
认证计费流程:
第一步:无线终端连接WIFI,访问外网
无线客户端连接上AP发出的WIFI信号后,打开浏览器以http方式访问外网,触发portal认证;
第二步:AP拦截无线客户端访问外网的GET数据包,并重定向到WEB服务器
没有通过认证的无线客户端发往外网的GET数据包会被AP拦截,并且AP会向客户端返回一条重定向条目(假设WEB服务器域名为www.abc.com),重定向条目为http://www.abc.com/?pagetype=xxx&vlan=xxx&staMac=xxx&staIp=xxx&apMac=xxx&apIp=xxx,该条目主要携带以下有效信息:
参数 |
说明 |
www.abc.com |
WEB服务器地址 |
pagetype |
标志不同的认证方式 |
vlan |
所属的VLAN |
staMac |
客户端的MAC地址 |
staIp |
客户端的IP地址 |
apMac |
客户端链接的AP设备的MAC地址 |
apIp |
客户端链接的AP设备的IP |
第三步:无线终端访问WEB服务器
无线终端根据第二步返回的重定向条目与WEB服务器建立连接;
第四步:WEB服务器向无线终端返回认证页面
WEB服务器向无线终端返回认证登录页面;
第五步:无线终端向TL-AC1000提交用户名和密码
无线终端在认证登录页面填写用户名和密码后点击”登录”按钮,就可以以GET的方式将username、password、vlan、staMac、staIp、APMac、apIp等参数提交给TL-AC1000,AC对这些信息进行记录;
第六步: TL-AC1000向Radius认证服务器提交认证信息
TL-AC1000在获取客户端提交的信息之后,从vlan、staMac、staIp、APMac、apIp参数中确定需要进行认证的设备,然后把所有的参数提交给认证服务器进行认证,参数包括:
User-name |
用户名 |
NAS-Identifier |
NAS设备标识 |
Calling-station-Id |
需要进行认证设备的MAC |
Called-station-Id |
AP的MAC和对应的SSID |
Framed-IP-Address |
需要进行认证设备的IP地址 |
NAS-IP-Address |
NAS设备的IP地址 |
NAS-port |
用户接入端口号 |
NAS-port-type |
NAS设备端口类型 |
User-password |
加密后的密码 |
第七步: Radius认证服务器向TL-AC1000返回认证结果
认证服务器根据TL-AC1000提交的信息判断用户是否通过认证,若不通过认证,Radius反馈NAS该用户非法的信息,若通过认证,则将该设备的相关信息记录,并且向TL-AC1000返回认证结果,返回的响应结果中包括以下参数:
Connect-Info |
Radius服务器信息 |
Framed-IP-Address |
为用户提供的IP地址 |
Framed-Routing |
为路由器用户设置的路由方式 |
Framed-MTU |
为用户配置的最大传输单元 |
Session-timeout |
用户可用的会话时长 |
Idle-timeout |
允许用户空闲在线的最大时长 |
Acct-interim-interval |
实时计费时间(AC1000目前不支持每隔一段时间进行实时计费,只通过最后断开时的总连接时间来计费) |
第八步: TL-AC1000向无线终端返回认证结果
TL-AC1000根据认证服务器返回来的结果向无线终端返回相应的认证结果,若认证成功,TL-AC1000则根据之前的vlan、staMac、staIp、APMac、apIp参数信息对相应设备的上网数据给予放行;
第九步:TL-AC1000向Radius认证服务器发送计费开始请求
Tl-AC1000将相应设备的IP,MAC等信息提交给Radius认证服务器,请求开始计费;
Acct-Session-Id |
表示该次计费的唯一标识 |
User-name |
用户名 |
NAS-Port-Id |
用户接入端口标识 |
Service-type |
服务类型 |
Framed-Protocol |
协议类型 |
Acct-Authentic |
接入认证协议 |
NAS-Identifier |
NAS设备标识 |
Acct-status-type |
计费请求报文的类型 |
Calling-station-Id |
需要进行认证设备的MAC |
Called-station-Id |
AP的MAC和对应的SSID |
Framed-IP-Address |
需要进行认证设备的IP地址 |
NAS-IP-Address |
NAS设备的IP地址 |
NAS-port |
用户接入端口号 |
NAS-port-type |
NAS设备端口类型 |
第十步:Radius认证服务器对计费开始请求给予回应
Radius认证服务器收到计费请求之后,给TL-AC1000相应的回复,同意开始计费;
第十一步:无线设备断开AP的无线连接
无线设备断开AP的无线连接;
第十二步:AP将设备断开连接的信息告知AC
无线设备断开无线连接之后,AP将该信息上传给AC;
第十三步:TL-AC1000向Radius认证服务器发送停止计费请求
AC向Radius认证服务器发送停止计费请求,其中包括相应的设备的IP、MAC和总在线时长等信息;
Acct-Session-Id |
表示该次计费的唯一标识 |
User-name |
用户名 |
NAS-Port-Id |
用户接入端口标识 |
Service-type |
服务类型 |
Framed-Protocol |
协议类型 |
Acct-Authentic |
接入认证协议 |
NAS-Identifier |
NAS设备标识 |
Acct-status-type |
计费请求报文的类型 |
Acct-Session-Time |
设备在线时长 |
Calling-station-Id |
需要进行认证设备的MAC |
Called-station-Id |
AP的MAC和对应的SSID |
Framed-IP-Address |
需要进行认证设备的IP地址 |
NAS-IP-Address |
NAS设备的IP地址 |
NAS-port |
用户接入端口号(VLAN信息) |
NAS-port-type |
NAS设备端口类型 |
第十四步:Radius认证服务器向TL-AC1000响应计费结束请求
Radius认证服务器收到AC发过来的计费结束请求后,根据设备在线时长统计计费,然后结束计费。
除了客户端主动请求断线外,若用户账号到期,服务器会主动提出断线请求,过程如下:
1、用户在上网期间账号到期,那么服务器会主动发起断线请求Disconnect-Request(注:若radius认证服务器在外网,则需要在前端路由器做虚拟服务器开放TL-AC1000的UDP3799端口),该断线请求中需要包括以下信息:
NAS-IP-Address |
NAS设备的IP地址 |
NAS-Identifier |
NAS设备标识 |
User-name |
需要断开连接的用户名 |
Calling-station-Id |
需要断开连接的终端MAC地址 |
Called-Station-Id |
AP的MAC和对应的SSID |
Acct-Session-Id |
计费唯一会话ID |
NAS-Port |
用户接入端口号(VLAN信息) |
注意事项:
a、若Disconnect-Request只包含了User-Name属性,TL-AC1000会将所有使用该用户名认证的终端剔除下线;
b、若要剔除指定的客户端,请在Disconnect-Request中包含Calling-Station-Id、Acct-Session-Id等可以标识唯一终端的属性。
2、当AC1000收到该断线请求后,就会向Radius服务器返回响应信息,并且断开相关设备的连接;
3、AC1000断开相关设备的连接。
本地认证服务器
当使用TL-AC1000内置的本地认证服务器,可以设置免费用户和正式用户两种类型,免费用户可以设置相应的免费上网时长,正式用户可以设置其账户到期时间。用户可利用正式用户的账户到期时间来进行包月或者包年的计费需求。
其过程主要如下:
第一步到第五步过程与上文使用Radius认证服务器时的过程相同,这里不再赘述。
第六步:返回认证结果
TL-AC1000根据客户端提供的用户名和密码,判断用户是否通过认证,若通过认证则将用户记录,根据用户的IP、MAC对相应的数据放行,并返回相应的结果,免费用户返回免费时长,正式用户返回账户有效期等信息;
第七步:无线设备断开连接
无线设备主动断开无线连接;
第八步:无线设备断开连接
无线设备断开连接之后AP将消息上传给AC,AC记录相关设备信息;
第九步:TL-AC1000主动断开无线设备的连接
若在无线设备上网期间用户的账号到期了或者免费的时长消费完毕,AC会主动断开无线设备的连接,设备需要上网需要再次进行认证。