之前搞定了路由器刷机为DD-Wrt,并实现了路由器无线中继和自动翻墙。今天搞定了使用此路由器搭建付费无线热点。没错,用的是Wiwiz。但是实现了两个功能:
一、自己的设备免认证;
二、未认证前的用户也可以用支付宝付款。
而上面这两个,都是Wiwiz高级版才能实现的功能。可是,高级版$15/月啊!于是,我折腾出一个免费的方法来实现上面这两个功能。如果你想跳过我长篇大论的新手入门内容,请直接拉到文章后半部的粗体部分。
Wiwiz是什么?
Wiwiz HotSpot Builder是一个有线/无线网络热点管理系统,利用它你可以为你的热点创建一个强制门户/强制认证页面(captive portal)。简单点说,就是共享你的网络有偿给大家使用的路由器软件。
官方提供的Wiwiz安装方式:
1. 一个是直接在dd-wrt固件里的wifidog设置。
这个方法是官方不推荐的方法。官方的不推荐理由是:
– 如创建计费型热点后,热点使用者认证前无法访问Paypal或支付宝在线充值
– 不支持黑/白名单地址列表管理
– 无法打开非内网的用户自定义认证页面URL
– 访问控制中的免认证功能
而我今天实现的两个功能就是用此方法。:)
2. 直接在支持dd-wrt的路由器上安装他们家的软件。
主要是下面三行命令
# cd; wget http://dl.wiwiz.com/hsbuilder-util-latest-DD-WRT.tar.gz
# cd /jffs; tar -zxf /tmp/root/hsbuilder-util-latest-DD-WRT.tar.gz
# /jffs/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /jffs setup
因为普通版限制太多,我顺便附上卸载的命令:
# /jffs/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /jffs uninstall
实现在Wiwiz免费版中设备免认证和支付宝付款
第一种方法其实就是直接在路由器上设置Wifidog参数。就相当于iPhone不越狱,什么软件都在AppStore下载。安全、稳定。
而第二种方法,Wiwiz提供的程序我看不懂,但是这种非原生软件加载到路由器内,我觉得会影响稳定,同时一些后门的东西也说不清楚。
我用的就是第一种方法,设置如下:
登录路由器-服务-热点,然后按如下设置:
网关ID填入你在Wiwiz创建的热点ID。
最关键的就在:信任的Mac列表和防火墙规则设置。
把你想免授权的MAC地址填进来吧~多个MAC地址用英文逗号隔开,MAC地址中间用冒号而不是-
然后我用的防火墙的规则是:
FirewallRuleSet global {
FirewallRule allow tcp port 443
FirewallRule allow udp port 53
FirewallRule allow tcp to 110.75.0.0/16
FirewallRule allow udp to 218.85.157.99
FirewallRule allow tcp 121.207.0.0/16
FirewallRule allow tcp 199.7.0.0/16
FirewallRule allow tcp 123.150.173.239/32
}
FirewallRuleSet known-users {
FirewallRule allow to 0.0.0.0/0
}
简要解释下:
全局防火墙global:所有人都可以连接支付宝可能涉及到的IP地址及DNS地址。其中我的DNS是218.85.157.99。这样,用户即使未验证成功,也可以访问支付宝进行付款。
而已经认证成功的用户known-users,就什么都可以访问啦。
此项方案的缺点是:
暂时只支持支付宝余额付款,因为我暂时没有把各大银行可能涉及到的IP加进来。银行实在太多了,而且各大银行都用的CDN,比较麻烦。有空再研究!
后记
其实,Wiwiz是采用Wifidog技术,而Wifidog技术是开源的。而Wiwiz对高级版和提款的手续费收的确实太狠了。
如果你懂Linux,完全可以自己搭建类似wiwiz的平台,搜索wifidog即可。主要要搭建两个系统:Gateway 和 Auth-Server。
给力,有时间测试下~~
给力,有时间测试下~~
Wiwiz确实很强大呀
Wiwiz确实很强大呀
你好,请问我要做一个微博的第三方认证功能,我也做了类似你这样的设置,但是总是无法正常跳转到微博开放平台的api处!
给力,有时间测试下~~
我的ddwrt上wifidog无法转到任何业页,哪里有错?