1、portal 简介portal 是用来进行网页认证的认证机制,在认证成功前用户不能真正上网,只能查看到portal server 的页面,如图:访问任何页面都会被强制转换到如图所示的 portal 页面,需要手动输入用户名和密码后才能够正常上网。Portal 的优点是用户不需要安装专门的客户端就可以直接进行认证和上网。Portal 协议流程Portal 认证拓扑图如下:全国用户接入控制器 ( A C )接入点 ( A P )省内用户门户网站 ( P o r t a l )中央认证服务器( R A D I U S )全国用户 / 省内用户认证请求物理连接逻辑连接通过 P o r t a l 协议
2、规定 A C 与 P o r t a l s e r v e r之间对用户的上线 、 下线等请求的处理认证流程如下:W L A N 用户门户网站( P o r t a l )接入控制器( A C )连接请求请求认证认证结果推送归属地定制的页面, 通知用户认证结果 ,并启动正计时提醒用户请求 , 通过 A C 强制到 P o r t a l s e r v e r统一认证页面推送请求 C h a l l e n g e分配 C h a l l e n g e查询用户信息返回查询结果及用户连接时长相关信息R a d i u sR A D I U S 认证流程如果查询失败 , 直接给出提示信息 ,
3、结束认证判断归属地如图:1, 首先 wlan 用户上网,AC 侦测到 http 连接后,强制发送 http 重定向报文给 wlan 用户2, Wlan 用户接收到重定向报文后,按照重定向报文提供的目的 IP 地址访问 portal 服务器,推送出认证页面3, 用户通过认证界面,输入用户名密码给 portal server4, Portal server 向 AC 发送需要认证用户的用户名5, AC 向 portal server 发送认证挑战6, Portal server 回应认证挑战7, AC 向 radius 发起认证8, 如果认证成功,则 AC 把认证成功信息发送给 portal 服务
4、器,推送出认证成功界面,同时 AC 上下发规则,认证成功。下面按照一次实际抓包来分析一次实际认证过程:如上抓图,分别为从 AC 端口的抓包和从 PC 端口的抓包1, 首先在 PC 的 IE 上数据 url 地址后,pc 发起 http 访问,该访问被 AC 连接,并直接返回重定向报文:http 302 报文给 PC,把 pc 直接重定向到 portal server 上去,如图:2, 然后 PC 根据 http 的重定向信息向 portal server 发起请求并获得认证页面,在认证页面中输入用户名密码后进行认证。整个过程对于 AC 来说和普通 IP 包的处理是相同的,由于实现配置了 por
5、tal server 的IP 地址在白名单中,所以 AC 对这次访问不进行阻止,按照普通的 IP 包进行处理使用 tcp.port eq 7080 作为过滤条件可以看到 pc 和 portal server 交互的整个过程3, portal server 得到用户名和密码后开始和 AC 联系,出发 AC 进行 portal 认证,如图:Portal 协议根据移动规定采用的是 udp 的 2000 端口进行认证的具体的数据包分析如下第一个包:如图,portal server 向 AC 发送认证请求,数据包的类型为 01,表示为认证请求报文。第二个包AC 回应 portal server 的认证请
6、求,并发送挑战给 portal server注:挑战(chanllenge)是网络上认证的一种常用手段,由于网络中数据传输有可能被第三方侦听,所以明文的用户名和密码在网络上传输不安全,采用的办法是挑战方把一段随机字符串发送给被挑战方,被挑战方使用该字符串作为密钥加密字符后把被加密过的字符返回给挑战方,挑战方再使用自己的字符串进行解密得到密码。由于每次连接的随机字符串可能不通所以即使有个别情况下被监听也能够保证密码安全第三个包:如图:portal server 通过挑战回应发送用户名和密码给 AC至此,AC 已经得到了用户的用户名和密码,可以发起 radius 认证了第四个数据包即为 radiu
7、s 认证数据包:第五个数据包为,radius 认证成功后返回给 AC 的 access 报文:到这里,radius 认证完成,AC 已经确定用户认证通过,然后通过第 7 和第 8 个报文返回用户认证成功信息给 portal server:第七个报文:AC 通知 portal server 认证通过,类型 04第八个报文:portal server 回应 AC,确认认证通过信息,类型 07:4, Portal server 收到认证成功请求后,会推送认证成功界面给 PC,pc 上就弹出了认证成功页面认证过程中还可能存在各种错误的情况,在移动测协议中对错误码也有明确的规定,见附件:中 国 移 动
8、WLAN业 务 PORTAL协 议 规 范 V2.0.0.doc我们的 portal 配置方法portal 设置只能使用 web 界面进行配置,如下 (采用的济南的环境作为例子 ):首先选择一个 ID,随意选取即可,一般会选择 0,用户名和密码随便写。认证服务器 IP 地址填入设备公网 IP 地址,对于济南环境我们的公网 IP 即为 vrrp 上行虚 IP地址 120.192.22.2认证服务器接口写 3990然后在接口列表中点选要使用 portal 认证的接口,济南环境对 wlan 虚接口进行认证,所以直接选择 wlan1 接口即可。然后点击确定。在白名单中写入需要允许用户直接访问的 IP
9、地址,例如 portal server 的地址。ID 需要和上一步的 ID 一致Mode 选择 IP起始 IP 和结束 IP 根据实际情况进行填写,如果只有一个 IP 地址则起始 IP 和结尾 IP 相同。Port 如果不写则表示对所有端口都允许通过,如果写入具体端口号,则只允许这个端口号的数据包通过。配置 portal,设置 eag 为开启开启空闲时间选项的功能为如果用户为超时下线则在计费报文中减去超时部分重定向侦听设置为 AC 的公网 IP,济南环境公网 IP 为上行虚 IP重定向侦听端口设置为 3990Nasid 和 radius 设置根据局方提供的 portal server 要求和 radius 情况进行填写。Portal 服务器填写局方提供的 portal 服务器地址Portal 服务器端口填写局方提供的 portal 服务器端口号。登录网页填写局方提供的 portal 服务器网页路径点击确定,完成配置。