wifidog 配置,实现强制网关跳转

最开始想用openwrt,刷了一个,结果发现不会用,里面的配置太复杂了,被wan lan搞晕了,一直无法联网,因为在公司路由器本来就在一个局域网下,没办法请公司SA帮忙搞了下,也没有搞定,换DDWRT吧,这个可是有中文页面的,顿时亲了很多。

ddwrt确实方便很多了,不过一定要注意呀,因为我要用WIFIDOG,之前下了几个版本都没有wifidog的配置,好像可以自己装,没试过,因为最开始测试用的wiwiz,下载到路由器上以后,没法安装,最后直接下了dd-wrt.v24_nokaid_generic.bin这个版本的ddwrt,上面可以直接配置wifidog.org相当的方便。

wifidog认证服务用authpuppy.org,web服务配置(nginx)

if(!-e$request_filename){
    rewrite^(.*)/index.php last;
}

ddwrt=>services=>hotspot

gateway id这个很重要,认证服务需要这个

服务器路径一定要注意哈,加/,这个最开始老是不对,研究了很久。发现原来路径里面少了个/,导致无法访问到正确的认证接口,如果是路径的最后还要多加个/哦。亲

认证服务配置
nodes页面里面加一个node,默认会有一个的啦。定义gw_id 就是刚才ddwrt wifidog里面配置的那个。
然后去下载一个plugin,做验证的,apAuthLocalUserPlugin,就它了吧。安装以后里面可以配置,页面信息,注册等等。
现在客户端连接上你的WIFI,去测试下吧,应该可以了哦,亲。
下面说下自己开发wifidog服务接口的问题。
我只实现了4个接口地址,不晓得其他的还有那些哈。E文看的不是很懂,需要的自己可以看http://dev.wifidog.org/wiki/doc/developer/WiFiDogProtocol_V1

/login这个是连接的时候访问的登陆接口,登陆成功以后,返回一个302转向到http://gw_server:gw_port/wifidog/auth?token=xxx,你的token,这样子就可以了。至于是否需要用户名密码等登陆方法。看你自己咯。

/auth这个接口太重要了,之前各种没法验证的原因都是因为没有访问到这个,路由器在刚才拿到login的token之后,会再次访问这个接口,带上一些其他参数如ip/mac等,当然也包括token,服务器可以再次做验证,这个接口的重要是返回给路由器成功与否,结果如下:
Auth: Number
Number如下:
0-AUTH_DENIED
6-AUTH_VALIDATION_FAILED
1-AUTH_ALLOWED
5-AUTH_VALIDATION
-1-AUTH_ERROR
返回1是成功了。

/ping这个接口很简单,返回结果内容包含Pong字符串就可以了。
/port哦,这个还是有点重要的,是认证通过之后,路由器自动定向的页面,当然如果你需要返回到用户之前的页面,在/login接口的时候,路由器传入了一个url地址,那个是用户真的想访问的地址哈。

本文章由 http://www.wifidog.pro/2015/01/19/wifidog%E8%B7%B3%E8%BD%AC.html 整理编辑,转载请注明出处

标签: wifidog认证 wifidog安装 wifidog原理 wifidog分析 wifidog配置 wifidog流程 wifidog服务器 wifidog-ddwrt wifidog openwrt