wifidog安装及简单的配置
前言
最近在做关于路由器认证相关的工作,由于需求,认证的过程同往常的网页认证有稍许不同,因此,自己开始尝试编写wifidog的认证服务器,查阅了中外的一些资料,现将经验总结一下。
Wifidog的原理
下图是在Wifidog的wiki网站上截取的wifidog认证流程图,网址为点击打开链接。
wifidog由两部分组成,一个是运行在路由器上的程序,另一部分是运行在认证服务器上的程序。
wifidog的认证流程大致是:
1.首先,用户的终端可以连接上wifi,然后发起访问网站的请求,如www.baidu.com;
2.网关根据防火墙规则,将用户的请求重定向到本地端口(wifidog的监听端口);
3.网关将用户的访问重定向到认证服务器上的认证页面;
4.认证服务器返回登录页面至用户;
5.用户再向认证服务器提供凭据,如用户名和密码;
6.认证服务器根据用户提供的凭据来确定用户是否符合要求,是否可以上网;
7.如果符合要求,认证服务器将用户的访问重定向至路由器的网关并携带标识token;
8.网关向认证服务器确认用户信息;
9.如果符合要求,服务器向用户返回登录成功页面;
10.用户就可以上网了。
WifiDog在openwrt上的安装和配置
Wifidog的配置如下所示:
GatewayID default
GatewayInterface br-lan
GatewayAddress 192.168.1.1
ExternalInterface br-lan
AuthServer{
Hostname justyoung.com(也可以是域名)
SSLAvailable no
HTTPPort 8080(默认是80)
Path /wifidog/(文件名的两边都要加‘/’号,除非是根目录,只要一个‘/’)
LoginScriptPathFragment login.php/? (这里把第一次登陆时重定向的位置也修改了,加了一个后缀,默认是login/?,)<pre class="plain" name="code">
PingScriptPathFragment ping.php/?
PortalScriptPathFragment portal.html?
AuthScriptPathFragment auth.php/?
}可以有多个AuthServer,Wifidog会从第一个往后找,直到找到可用的认证服务器为止。
这段代码首先根据mac地址来判断登录用户是否合法,如果合法则直接重定向至192.168.1.1:2060/wifidog/auth?token=XXX,如果是不合法,则重定向至欢迎页面,引导用户获得认证。
本文章由 http://www.wifidog.pro/2015/02/28/wifidog%E5%AE%89%E8%A3%85-2.html 整理编辑,转载请注明出处