wifidog配置linksys54g总结
最开始想用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=你的token,这样子就可以了。至于是否需要用户名密码等等登录方法。看你自己咯
/auth 这个接口太重要,之前各种没法验证的原因都是因为没有访问到这个,路由器在刚才拿到login之后的token后,会再次访问这个接口,带上了一些其他参数如ip、MAC地址等等,当然也包括token,服务器端可以再次做验证,这个接口重要是的要返回给路由成功与否,结果如下:
Auth: Number
Number 如下:
0 - AUTH_DENIED - User firewall users are deleted and the user removed.
6 - AUTH_VALIDATION_FAILED - User email validation timeout has occured and user/firewall is deleted
1 - AUTH_ALLOWED - User was valid, add firewall rules if not present
5 - AUTH_VALIDATION - Permit user access to email to get validation email under default rules
-1 - AUTH_ERROR - An error occurred during the validation process
自己猜内容,我都是猜的。反正我返回的1,就对了。
/ping 这个接口很简单。返回结果内容包含Pong字符串就可以了。
/portal 哦。这个还是有点重要哦,是认证通过以后,路由器自动定向的页面,当然如果你需要返回到用户之前的页面,在/login接口的时候,路由器传入了一个url的地址,那个是用户真的想访问的地址。
本文章由 http://www.wifidog.pro/2015/03/25/wifidog%E9%85%8D%E7%BD%AE%E5%9C%A8linksys54g.html 整理编辑,转载请注明出处