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

article/2025/9/27 10:04:28
服务器:linux mint 17.3 + authpuppy

路由器:DB120 + wifidog

手机一部


一、在OpenWrt的路由器上安装Wifidog应用程序


安装Wifidog程序有两种方式,一种是在刷了OpenWrt的路由器上直接安装Wifidog;或者是把Wifidog直接编译进OpenWrt中

1. 在OpenWrt根目录下

执行

make menuconfig,按 / ,查找wifidog,如果找不到,退出来安装。
执行
./scripts/feeds install wifidog

  
make menuconfig

4. 在Network/captive portals/下选择wifidog ,保存退出。

执行

make V=s

把编译好的wifidog拷贝到路由器/sbin下

./build_dir/target-mips_34kc_uClibc-0.9.33.2/wifidog-normal/wifidog-1.2.1/ipkg-ar71xx/wifidog/usr/bin/wifidog

当然还需要一个依赖库,拷贝到/lib下

./build_dir/target-mips_34kc_uClibc-0.9.33.2/wifidog-normal/wifidog-1.2.1/ipkg-ar71xx/wifidog/usr/lib/libhttpd.so.0.0.0

然后软连接一下 ln -s libhttpd.so.0.0.0 libhttpd.so.0

一个配置文件,拷贝到/etc 下

./build_dir/target-mips_34kc_uClibc-0.9.33.2/wifidog-normal/wifidog-1.2.1/wifidog.conf

如果嫌麻烦就直接刷固件吧



二、在服务器上安装authpuppy认证服务


1、首先安装authpuppy服务端验证

1. 安装php开发环境:

sudo apt-get install apache2 php-mysql libapache2-mod-php mysql mysql-server

 2. 启用apache rewrite,否则会出现(Therequested URL /install/3 was not found on this server.)错误

sudo a2enmod rewrite

 3. 到https://launchpad.net/authpuppy 从http://launchpad.net/authpuppy下载authpuppy最新源码,解压并移动到/var/www/目录下。

tar xvzf authpuppy-<version>-<stability>_<packaging>.tgz 
sudo mv authpuppy /var/www/

4. 为authpuppy赋予权限

chmod 777 /var/www/html/authpuppy/ -R

5. 修改/etc/apache2/sites-enabled/000-default.conf替换所有内容

sudo gedit /etc/apache2/sites-enabled/000-default.conf

 修改如下:

复制代码
<VirtualHost *:80>ServerAdmin webmaster@localhostServerName authpuppy.localhostServerAlias authpuppy.testDocumentRoot /var/www/html/authpuppy/webDirectoryIndex index.php<Directory /var/www/html/authpuppy/web/>Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from all</Directory>Alias /sf /var/www/html/authpuppy/lib/vendor/symfony/data/web/sf<Directory "/var/www/html/authpuppy/lib/vendor/symfony/data/web/sf">AllowOverride AllAllow from All</Directory>#ErrorLog /var/log/apache2/authpuppy/error.log
复制代码

 6. 重启apache

sudo service apache2 restart

 7. Mysql数据库的创建

authpuppy需要使用数据库进行用户认证管理,可以使用mysql创建一个名为authpuppy的数据库。

user@yourserver $> mysqladmin -uroot -p create authpuppy

 8. 访问http://localhost出现authpuppy配置页面

9. 点击下一步继续,这一步会检测系统的环境是否满足authpuppy的要求,不满足的会显示红色,按要求配置好就可以点击下一步了。

10. wifidog数据库的配置。填写在低7步创建的数据库名字,并填写你的数据库账号和密码等信息,此处为了方便,使用root登录,读者可以新建一个user用于访问。

11. 一直点击下一步,直到出现管理员用户配置页面,配置用户信息:

Username 和Password 是以后你登录服务器的用户和密码。

12. 最后配置成功,出现如下页面,此时authpuppy的基本配置完成:

13. 以后再次访问http://localhost,就会出现如下页面,不需要重新配置了:

 

2、配置服务器和插件管理

1. 访问http://localhost ,通过管理员账户登录,配置authserver

Logo 选择你喜欢的图片

Main url 就是点击点击Logo后跳转的界面


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


3. 点击Manageplugins,点击View all available plugins and updates添加插件,
安装apAuthLocalUserPlugin这个插件,并启用,就可以对登录账号进行管理了,更多插件的使用可以自己慢慢摸索

三、配置网络结点和路由器认证


1. 访问http://localhost 以管理员身份登录,点击Managenodes进行结点的管理,服务器默认为我们创建了一个叫My first node的结点,我们对其进行编辑,修改Name :mint,gw id:123456789,deployment status 选择Deployed

2. 登录到路由器(linux直接使用ssh命令,windows下可以使用putty、xshell等工具),编辑/etc/wifidog.conf,需要配置的主要有以下几点:

GatewayAddress  192.168.100.2 (路由器地址)
#这个需要与服务器中gw id相对应
GatewayID 123456789
#查看自己的路由器进行配置,外网接口
ExternalInterface  br-wan
#路由器内网接口
GatewayInterface br-lan
#服务器配置
AuthServer {
#服务器的ip地址
Hostname192.168.2.69 (服务器地址)
SSLAvailable no
Path /
}

3. 启动wifidog

wifidog -c /etc/wifidog.conf

4. 连接该无线网络,开始验证,没什么问题服务器上可以看到



四、总结几容易犯错的地方


1、权限问题,确定你的authpuppy 和 安装的插件都具有 777 权限,且要 -R,否则会出现,手机连接ap但是弹不出认证界面 的问题

2、Auth server did NOT say Pong,犯这个错误。一般是 路由器和authpuppy 路径没有对应上,导致ping服务器没有回应 HTTP/1.0 404 Not Found

#服务器配置
AuthServer 选项里的Path 和 /etc/apache2/sites-enabled/000-default.conf 里的 
/var/www/html/authpuppy/web (不止一个这2个路径合起来 是你的authpuppy里web的路径。 
如果 000-default.conf 里写/var/www/html 那么Path 应该是 /authpuppy/web/
3、

容易出现Authpuppy does not connect to postgresql,这是因为你的Db name 或者usename password不对。
填写在第7步创建的数据库名字,并填写你的数据库账号和密码等信息。
4、failed to connect to server。 检测路由器wan口和服务器之间是否在同一网段,是否能ping通。
5、如果你认证之后无法上网,那要看看你的firewall配置文件了,我就是因为这个原因卡了2天,后来修改Firewalls之后才成功上网。

就是图中的option input选项在作怪!!!。


http://chatgpt.dhexx.cn/article/JAwcx6DL.shtml

相关文章

wifidog 配置文件

下面回到路由器&#xff0c;编辑wifidog.conf&#xff0c;一般情况下&#xff0c;我们之后配置ExternalInterface&#xff0c;GatewayInterface和AuthServer这三项就可以&#xff0c;其他默认。下面是我的配置&#xff1a; opk安装包&#xff1a;luci-app-wifidog-all.ipk 链…

Portal Server搭建(wifidog安装)

可以参考这篇文档&#xff1a; http://dev.wifidog.org/wiki/doc/install/ubuntu/auth-server#Configurelocaleinwifidog.conf 一、 安装前准备 打开终端&#xff08;用普通用户进入终端&#xff0c;不要用超级用户&#xff09;。 sudo apt-get update sudo apt-get instal…

wifidog+authpuppy搭建WiFi 接入设备认证测试平台

0&#xff1a;前提 其实搭建认证环境都是基础&#xff0c;重要的是要对WiFidog的代码进行详细的研究&#xff0c;了解清楚wifidog与authpuppy之间进行了哪些数据交互&#xff0c;WiFidog的程序框架及iptables的建立及生效规则&#xff0c;这才是重点。WiFidog和之前nodogsplas…

wifidog authpuppy 服务器搭建

安装环境&#xff08;64位 Ubuntu 14.04.4 LTS \n \l &#xff09;一、安装各种软件包1、apache和php sudo apt-get updatesudo apt-get install apache2 php5 复制代码 2、安装数据库(postgresql或者mysql) sudo apt-get install postgresql 复制代码 3、安装需要的库 sudo ap…

wifidog认证流程图

一. 用户上线 1. 用户访问网络&#xff0c;通过iptables将未认证的用户dnat到wifidog进程&#xff0c;wifidog通过307报文将用户重定向到认证服务器 2. 用户打开认证服务器登录页面&#xff0c;输入用户名密码&#xff0c;发送认证请求 3. 认证成功的话服务器会发送302报文&…

wifidog+authpuppy认证页面的配置

路由器上用的是wifidog client&#xff0c;服务器后端管理用的是authpuppy。 首先&#xff0c;选择自己的操作系统&#xff0c;在http://www.authpuppy.org/doc/Main_Page网站里面&#xff0c;我的操作系统是Linux。 然后到这个网站http://www.authpuppy.org/doc/Getting_Star…

openwrt-看门狗watchdog

一、硬件watchdog和软件watchdog Linux内核不仅为各种不同类型的watchdog硬件电路提供了驱动&#xff0c;还提供了一个基于定时器的纯软件watchdog驱动&#xff0c;软件watchdog基于内核的定时器实现&#xff0c;当内核或中断出现异常时&#xff0c;软件watchdog是无法复位系统…

wifidog认证流程(图文版)

学习使用wifidog一段时间了&#xff0c;觉得这玩意真的不错&#xff0c;虽然有些代码写的不够严谨&#xff0c;运行效率不够高&#xff0c;但是少量人数情况下实现portal是很好的方案。 下面是我摘自一个博客的内容和apfree写的文档中的一部分发上来的&#xff0c;希望能对研究…

wifidog 认证

首先简单介绍一下什么是Portal认证&#xff0c;Portal认证&#xff0c;通常也会叫Web认证&#xff0c;未认证用户上网时&#xff0c;设备强制用户登录到特定站点&#xff0c;用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时&#xff0c;必须在门户网站进行认证…

Wifidog入门教程

曾经撸了两台K2路由器&#xff0c;刷成了华硕固件。以前就比较好奇什么肯德基&#xff0c;星巴克那种连上wifi就弹出一个页面进行验证什么的&#xff0c;是怎么弄的&#xff0c;昨天发现这个华硕固件里有这个功能&#xff0c;就是wifidog。 首先来看截图&#xff1a; 这里打开w…

wifidog安装以及自写wifidog认证服务器

前言 最近在做关于路由器认证相关的工作&#xff0c;由于需求&#xff0c;认证的过程同往常的网页认证有稍许不同&#xff0c;因此&#xff0c;自己开始尝试编写wifidog的认证服务器&#xff0c;查阅了中外的一些资料&#xff0c;现将经验总结一下。 Wifidog的原理 下图是在…

wifidog浏览器弹窗认证 — 基于OpenWRT路由器

一、移植 wifidog功能 1、功能介绍 wifidog是一种能够实现让路由器局域网设备(包括wifi连接和网线连接设备)在上网前先进行 portal认证的工具&#xff0c;主要应用于手机端上网认证&#xff0c;手机在连接wifi后会自动打开浏览器并跳转出 login界面&#xff0c;用户在该页面上…

WiFidog简介

WiFidog简介 WIFIdog是一种新的认证方式&#xff0c;这种认证方式的优势在于安全性高&#xff0c;不容易被破解验证。 客户端发出初始化请求&#xff0c;比如访问www.baidu.com网关的防火墙规则将这个请求重定向到本地网关的端口上。这个端口是Wifidog监听的端口。Wfidog提供一…

安装sysbench

一 安装依赖包 yum install gcc gcc-c autoconf automake libtool mysql-devel vim -y #验证是否安装 rpm -q --qf %{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n gcc \ gcc-c \ autoconf \ automake \ libtool \ mysql-devel \ vim 二 安装 cd /opt && git clon…

sysbench mysql_通过sysbench工具实现MySQL数据库的性能测试

1.背景 sysbench是一款压力测试工具&#xff0c;可以测试系统的硬件性能&#xff0c;也可以用来对数据库进行基准测试。sysbench 支持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。目…

sysbench 压测 mysql_sysbench压测

一&#xff1a;sysbench的安装遇到的几个问题&#xff1a; 解决办法&#xff1a; yum install automake 解决办法&#xff1a;yum install libtool sysbench 的一些常用参数低版本和高版本是有点区别的大家在测试的时候稍微注意一下&#xff1a; 以下这个版本是0.5版本的但是我…

Sysbench常用命令

1 Sysbench 安装 requirements yum -y install make automake libtool pkgconfig libaio-devel# For MySQL support, replace with mysql-devel on RHEL/CentOS 5yum -y install mariadb-devel openssl-devel mysql-devel# For PostgreSQL supportyum -y install postgresql-…

sysbench性能测试

sysbench的官网地址是&#xff1a;http&#xff1a;//sysbench.sourceforge.net Step 1&#xff1a; 下载安装&#xff1a; sysbench-0.5.tar.gz 解压后展开目录如下 [rootlocalhost mnt]# cd sysbench-0.5 [rootlocalhost sysbench-0.5]# ls aclocal.m4 autom4te.cache c…

mysql sysbench_MySQL sysbench基准测试

一、基准测试 参考《高性能 MySQL》第二章。 二、Sysbench sysbench 是开源的跨平台多线程基准测试工具&#xff0c;主要用于测试各种不同系统参数下的 CPU/内存/线程/IO/数据库等方面的性能&#xff0c;数据库目前支持 MySQL/Oracle/PostgreSQL。具体的参数设置&#xff0c;应…

sysbench mysql图表_sysbench_mysql

ref 测试 当执行下面这个sysbench测试mysql的时候&#xff0c;你不知道的可能可能是&#xff1a; 这到底是在测试读写&#xff1f;还是 读&#xff1f; 答&#xff1a; 只读 --num-threads12 啥意思&#xff1f; 答&#xff1a;就是说有12个线程在同时链接 你可以看到&#xff…