分类 默认分类 下的文章

公共场所wifi认证解决方案wifidog+authpuppy(2)

二、 配置服务器和插件管理
1、 访问http://localhost ,通过管理员账户登录,配置authserver
1.png

配置完成后再次访问http://localhost 就会出现如下界面
2.png

2、 点击Manageplugins,点击View all available plugins and updates添加插件,点击后发现无法跳转,原因应该是插件的网站被墙了,大家让服务器科学上网一下就可以了。
安装apAuthLocalUserPlugin这个插件,并启用,就可以对登录账号进行管理了,更多插件的使用可以自己慢慢摸索。
3.png

三、 配置网络结点和路由器认证
1、 访问http://localhost 以管理员身份登录,点击Managenodes进行结点的管理,服务器默认为我们创建了一个叫My first node的结点,我们对其进行编辑,修改Name :wifidog,gw id:123456,deployment status 选择Deployed

2、 配置路由器,路由器在编译openwrt固件的时候,makemenuconfig后,在Network–>Captive Portals中选择wifidog.这样在刷完固件后路由器就有wifidog插件了:
4.png

3、 通过命令行访问路由器,windows下可以使用putty登录,执行如下命令,启动wifidog

/etc/init.d/wifidogenable
/etc/init.d/wifidog start

此时会报错,因为此时还没配置好服务器的信息。
4、 编辑/etc/wifidog.conf,window用户如果不会用vi等编辑器,可以使用winscp软件访问并修改,需要配置的主要有三项:

#这个需要与服务器中gw id相对应
GatewayID 123456
#查看自己的路由器进行配置,外网接口
ExternalInterfaceeth0.2
#路由器内网接口
GatewayInterface br-lan
#服务器配置
AuthServer {
    #服务器的ip地址
    Hostname192.168.0.224
    SSLAvailable yes
    Path /
}

5、 重启wifidog,连接该无线网络,开始验证。

四、wifidog的认证需要https的,于是开始安装https服务
1、 安装ssl

sudo apt-get install apache2

複製代碼
2、 开启ssl

sudo a2enmod ssl

複製代碼
3、 重启apache

sudo service apache2 restart

複製代碼
4、 创建一个ssl目录

sudo mkdir /etc/apache2/ssl

複製代碼
5、 创建一个自己认证的证书

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

複製代碼
输入信息得到:/etc/apache2/ssl/apache.key
7、 配置证书

sudo gedit /etc/apache2/sites-available/default-ssl.conf

複製代碼
8、 在ServerAdmin下添加一行,服务器域名或者ip地址

ServerName 127.0.1.1:443
ServerAlias authpuppy.test<span style="line-height: 1.5; background-color: rgb(255, 255, 255);">                          </span>

複製代碼
并修改如下内容:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

複製代碼
9、 开启ssl并重启apache

sudo a2ensite default-ssl
sudo service apache2 reload

複製代碼
10、 此时访问https://localhost 可以访问,但是localhost下的其他路径时404错误
修改/etc/apache2/sites-enabled/default-ssl.conf 添加443虚拟目录

<VirtualHost *:443>
        DocumentRoot /var/www/html/authpuppy/web
        ServerName authpuppy.localhost
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key

        DocumentRoot /var/www/html/authpuppy/web
        DirectoryIndex index.php
        <Directory /var/www/html/authpuppy/web/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
        </Directory>
</VirtualHost>

本文章由 http://www.wifidog.pro/2015/02/26/wifidog-authpuppy%E5%AE%89%E8%A3%85-2.html整理编辑,转载请注明出处

编写自己的WifiDog认证服务器

次我使用的是php来编写auth_server服务器,因为这样比较简单。
1.首先是login.php

<?php
include './tool/MySQLHelper.php';
if (!empty($_GET["mac"])){
    $result = selectMacByToken($_GET["mac"]);
    if (!empty($result)){
        header("location: http://192.168.1.1:2060/wifidog/auth?token=".$result);
    }
    else {
        header("location: http://xxxxx/WelcomePage.php?mac=".$_GET["mac"]);
    }
}
else {
    header("location: http://xxxxx/WelcomePage.php?mac=".$_GET["mac"]);
}
?>

2.ping.php:

<?php  
echo "Pong";  
?>  

这里没有做额外的处理,只是简单地向wifidog回应一个Pong。
3.auth.php

<?php
// 后门
if ($_GET["token"] == "123"){
    echo "Auth: 1";
    return;
}

if (!empty($_GET["token"]) && isset($_GET["token"])){
   &nbsp;//获取$result的过程//
    isValidate($result);
   &nbsp;//**后续处理**//
    return;
}
else if((!empty ($_GET["mac"])) && isset($_GET["mac"])){
   &nbsp;//**获取result*//
    $result = isSubscribeByMac($_GET["mac"]);
    isValidate($result);
    return;
}
else
{
    echo "Auth: 0";
}

// 输出是否合法.
function isValidate($result){
    if ($result == 1){
        echo "Auth: 1";
    }
    else {
        echo "Auth: 0";
    }
}
?>

这里根据一些参数来获取$result,从而决定是否允许认证。

本文章由 http://www.wifidog.pro/2015/02/15/wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8-2.html 整理编辑,转载请注明出处

wifidog特点

WIFIdog是一种新的认证方式,这种认证方式的优势在于安全性高,不容易被破解验证。
WIFIdog是一种新的认证方式,这种认证方式的优势在于安全性高,不容易被破解验证。
客户端发出初始化请求,比如访问www.baidu.com
网关的防火墙规则将这个请求重定向到本地网关的端口上。这个端口是Wifidog监听的端口。
Wfidog提供一个HTTP重定向回复,重定向到Web认证页面,重定向的Url的Querystring中包含了Gateway的ID,Gateway的FQDN以及其他的信息。
用户向认证服务器发出认证请求。
网关返回一个(可以是自定义的)splash(也称作“登录”)页面。
用户提供他的凭据信息,比如用户名和密码。
成功认证的话,客户端将会被重定向到网关的自己的web页面上,并且带有一个认证凭据(一个一次性的token)
用户就是用获取到的凭据访问网关。
网关去认证服务器询问token的有效性。
认证服务器确认token的有效性。
网关发送重定向给客户端,以从认证服务器上获取 成功提示页面,重定向到 http://portal_server:port/portal_script 这个位置。
认证服务器通知客户请求成功,可以上网了。
整个过程如下图所示:
1.png

本文章由 http://www.wifidog.pro/2015/02/15/395.html 整理编辑,转载请注明出处

一键实现DD-WRT升级web认证功能wifidog版

一、硬件准备(硬件支持列表)
请参照DD-WRT网站的“支持的硬件列表”:
如果你的产品不在列表中,请确认你的路由器支持DD-WRT,或与我们的技术人员联系。
已熟悉DD-WRT并正确配置上网的用户,请直接跳到第五点。
二、升级DD-WRT固件
请先将路由器升级为DD-WRT原版,并确认该版本支持wifidog功能(进入路由器管理界面的“服务》热点”查看是否有wifidog的选项。升级方法请百度)。
默认内网IP为192.168.1.1 DHCP开启(具体配置可参照第四点)。
Step 1:获取IP地址,访问192.168.1.1
Step 2:设置web管理界面的登录用户名和密码
Step 3:设置web管理界面语言为中文:
“管理》管理》语言》简体中文”:

三、配置网络参数
打开“设置》基本设置》WAN连接类型”,设置下图红色框处的参数(PPPoE、DHCP或静态IP,根据你的网络环境而定):
“可选设置”:输入路由器名称(任意名称,如OldTreeCoffee)
“网络设置》路由器IP”:
1)本地IP地址为192.168.X.X(X为1-254之间的任意数字,如192.168.12.1)
2)子网掩码为255.255.255.0
3)其它参数默认
“网络设置》网络地址服务器设置 (DHCP)”:
1)DHCP类型为“DHCP服务器”
2)DHCP服务器“启用”
3)起始IP地址为100(大于1小于255的数值)
4)最大DHCP用户数(100)
5)其它参数默认
注:某些路由器(如磊科NW618)可能还需要作如下调整(WAN无法获取DHCP地址或无法拨号时进行此操作)
进入“设置》VLANs”页面
取消W下面的小勾(红框处),点击“保存”;等待片刻,重新勾选W,点击“保存”,再点击“应用”,重启路由器,WAN即可恢复正常状态。
(如果其它路由器发现WAN无法使用,亦可尝试此方法)

四、配置无线网络
“无线》基本设置”
1)无线模式为“访问点(AP)”
2)无线网络模式为“混合”
3)无线网络名(SSID)为“wifiap.cn_XXX”
4)无线频道一般选择(1、6、11)三个频道的其中一个(如果无线信号不稳定,请尝试更改此参数)
5)其它参数默认
6)点击“保存”,再点击“应用”
至此,连接到的wifiap路由器的电脑(有线或无线)均可正常上网。

务必先确认路由器在未开启认证的时候能正常上网。

五、注册Wifiap中央管理平台账号
1)访问wifiap官方网站
2)点击右下角的“商家登录|后台管理”,并进行注册
3)填写注册相关资料,提交免费注册(请牢记你的登录账号和密码)
六、创建云端AP并更新标识
1)登录官方网站的管理后台
2)从顶部导航进入“热点管理》热点维护》【新增】”
3)热点名称:热点的唯一标识名称(脚本中的hotspotname)
4)热点类型:选择“商家版”
5)机器码:输入一段字符串,如wifiapkey
6)点击“添加”,成功添加此热点(在“热点维护”中的“更新标识”可修改更多参数)
7)在“热点维护”页面找到新增的热点,在“操作”中点击“生成启动脚本”
8)填写路由系统(DD-WRT)、热点名称(刚新增的热点)、机器码(刚新增的机器码),然后点击“自动生成脚本”,在文本框中复制脚本(见下图)
9)配置路由认证,粘贴脚本(见第七点)
1.png

七、配置路由器认证模块
进入wifiap路由器web管理界面,并打开“管理》命令”
在指令输入框处,粘贴脚本(在脚本参数中生成的脚本)
编辑完成后,点击“保存为启动指令”,然后重启路由器生效。如下图示:
2.png

八、启用web认证功能并配置认证页面
进入官方网站的“热点管理》认证页面配置”,找到刚创建的热点,并点击【认证配置】
1)认证模式》认证方式:选择“用户认证”(其它认证方式请参考“云中心管理系统说明”)
2)认证模式》登录后跳转页面:用户登录成功后强制跳转的页面,如贵公司的网站(留空则跳转到认证前访问的页面)
3)认证模式》注册开关:是否允许用户自助注册,和注册的类型
4)web认证页面》页面模板:务必选择一个合适的模板,并点击“模板示例/使用说明”配置好各文本和图片,点击“修改”确认提交
5)点击【预览】查看页面效果,如需要调整,可即时修改参数,最后点击“修改”生效
3.png

九、用户账号管理
进入官方网站的“账号管理》创建账号”,添加一个账号,如test,密码123
高级账号管理功能请参考“云中心管理系统说明”
十、重启路由器
回到路由器管理界面,进入“管理》管理”页面,点击右下角的“重启路由器”,认证功能将自动启动。
应用效果
打开浏览器,随便输入一个网址,将强制跳转到wifiap云后台配置的认证页面,用户必须输入账号密码方可进行上网。

本文章由 http://www.wifidog.pro/2015/02/15/ddwrt-wifidog%E6%97%A0%E7%BA%BF%E8%AE%A4%E8%AF%81.html 整理编辑,转载请注明出处