无线AC集中转发+AP
V7版本C5417P01版本
涉及终端:iPhone各型号、安卓手机、Macbook笔记本
客户网络中无线配合IMC做portal认证,重定向由AC发起
客户遇到问题主要为:
Macbook笔记本关联无线之后能够自动弹出portal页面,在输入账号信息点击登录之后就无法上网了,ping网关DNS都不通。只能通过开关笔记本盖子才能恢复。此现象能够稳定复现。
同时要求安卓手机能够快速弹出portal页面,iPhone手机也需要自动及时弹出Portal认证界面。
对于遇到Macbook关联Portal型无线网络,IOS系统往往会发http的探测报文http://captive.apple.com/hotspot-detect.html。
在Portal认证时DNS查询是应该放通的,所以IOS系统先对captive.apple.com进行DNS查询,DNS回应正确苹果服务器地址。如下图:
终端获得正确的DNS地址之后便会发起HTTP的请求探测,此行为是手机后台行为非浏览器动作(主动拉起浏览器就是依靠这一步),AC对这个探测请求会进行拦截并且仿冒苹果服务器回应一个重定向,告知需要重新打开页面去进行后续认证操作。如下图(注意http方式为1.0):
重定向内容如下图,部分敏感信息已做模糊处理:
终端在获知重定向信息之后便会拉起浏览器开始访问,此时会产生一个http 1.1的请求,AC也做302重定向,请求报文携带了操作系统的信息和浏览器Mozilla的信息,如下图:
此时终端的体验就是浏览器被唤起,且开启重定向地址到指定域名,随后开始DNS查询域名信息和加载http网页元素(图片和表框)。
在完成用户密码的传递校验及登录之后,终端后台发起第二次探测请求,对于这个探测请求AC的配置做法为仿冒苹果服务器回复Success这样可以让终端认为网络已经ok可用,无需再做额外操作。如下图(注意探测请求依旧是http 1.0):
逻辑到此,按照iPhone手机的做法就已经完成了无线探测portal的所有工作,但是虽然是苹果公司的产品,Macbook的行为方式却有所不同。
Macbook笔记本会在这之后发起第三次的captive探测请求,依旧是http 1.0方式,按照AC的逻辑实现,对于http captive的探测请求是一次重定向一次仿冒OK的做法。因此对于Macbook的第三次探测请求,会继续被重定向,这样的后果会导致Macbook认为wifi不通,他需要被回复Success才可以认为wifi是OK的,如下图:
通过上述分析,我们能知道对于Macbook是如何进行wifi探测,是如何认为wifi可用的。
针对上述的分析,结合客户对iPhone手机安卓手机和苹果笔记本的整体要求,整理优化的portal配置如下:
portal free-rule 1 destination ip any udp 53
portal free-rule 2 destination ip any tcp 53 //放通DNS查询UDP OR TCP 53端口
portal free-rule 3 destination ip any tcp 5223 //ios iphone特殊情况查询DNS方式
portal web-server h3ctest
url http://A.B.C.D/portal //用户要求重定向地址,也可以写域名。
server-type cmcc //缺省为IMC模式,采用204跳转,CMCC模式为302跳转,对于安卓而言302跳转能够更快唤起portal页面打开
captive-bypass ios optimize enable //无线对于ios产品的优化功能,能够欺骗探测报文并且回应Success信息,让IOS portal流程更加完美
if-match original-url http://captive.apple.com/hotspot-detect.html user-agent Mozilla temp-pass redirect-url http://A.B.C.D/portal
if-match original-url http://www.apple.com user-agent Mozilla temp-pass redirect-url http://A.B.C.D/portal //两条if-match命令是对macbook笔记本专用,主要特点为temp-pass功能,实现第三次探测http的时候进行放通。
最后服务模板增加关键配置temp-pass
wlan service-template 101
ssid ABCD
portal enable method direct
portal domain h3ctest
portal bas-ip 172.16.1.105
portal apply web-server h3ctest
portal temp-pass enable
service-template enable
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作