DD-WRT路由器搭建付费无线热点成功

之前搞定了路由器刷机为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提供的程序我看不懂,但是这种非原生软件加载到路由器内,我觉得会影响稳定,同时一些后门的东西也说不清楚。

我用的就是第一种方法,设置如下:

登录路由器-服务-热点,然后按如下设置:

Wifidog

网关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。

7 comments

  1. 你好,请问我要做一个微博的第三方认证功能,我也做了类似你这样的设置,但是总是无法正常跳转到微博开放平台的api处!

Comments are closed.