wifi用戶認證解決方案——Wifidog+Authpuppy的程序安裝與配置


最近實驗室在做一個項目,其中需要wifi的接入認證,自己寫一個認證系統比較麻煩,先用wifidog進行實驗測試。在此我將這幾天做的事做個整理總結。
搭建wifidog系統主要就三大步,一是在OpenWrt的路由器上安裝Wifidog應用程序,二是在服務器上安裝authpuppy認證服務,三是配置網絡結點和路由器認證

工作環境:   服務器:ubuntu 16.04 + authpuppy

          路由器:NetGear WNDR3800 + wifidog

 

一、在OpenWrt的路由器上安裝Wifidog應用程序

安裝Wifidog程序有兩種方式,一種是在刷了OpenWrt的路由器上直接安裝Wifidog;或者是把Wifidog直接編譯進OpenWrt中。由於項目還需要安裝其他程序,這里我選擇第二種方式。

1. 在OpenWrt系統的源碼文件下,編輯feeds.conf.default文件

vim feeds.conf.default

 在其中增加一行:

src-git wifidog https://github.com/wifidog/wifidog-gateway.git

 2. 然后更新,再安裝:

./scripts/feeds update -a ./scripts/feeds install -a

3. 終端執行編譯命令

make menuconfig

4. 在Network/captive portals/下選擇wifidog 就有選擇 WiFiDog 這一項了

 

二、在服務器上安裝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@localhost ServerName authpuppy.localhost ServerAlias authpuppy.test DocumentRoot /var/www/authpuppy/web DirectoryIndex index.php <Directory /var/www/authpuppy/web/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> Alias /sf /var/www/authpuppy/lib/vendor/symfony/data/web/sf <Directory "/var/www/authpuppy/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All </Directory> ErrorLog /var/log/apache2/authpuppy/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/authpuppy/access.log combined </VirtualHost>

 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. 一直點擊下一步,直到出現管理員用戶配置頁面,配置用戶信息:

12. 最后配置成功,出現如下頁面,此時authpuppy的基本配置完成:

13. 以后再次訪問http://localhost,就會出現如下頁面,不需要重新配置了:

 

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

1. 訪問http://localhost ,通過管理員賬戶登錄,配置authserver

2. 配置完成后再次訪問http://localhost 就會出現如下界面

3. 點擊Manageplugins,點擊View all available plugins and updates添加插件,
安裝apAuthLocalUserPlugin這個插件,並啟用,就可以對登錄賬號進行管理了,更多插件的使用可以自己慢慢摸索。

三、配置網絡結點和路由器認證

1. 訪問http://localhost 以管理員身份登錄,點擊Managenodes進行結點的管理,服務器默認為我們創建了一個叫My first node的結點,我們對其進行編輯,修改Name :wifidog,gw id:123456,deployment status 選擇Deployed

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

#這個需要與服務器中gw id相對應 GatewayID 123456 #查看自己的路由器進行配置,外網接口 ExternalInterfaceeth0.2 #路由器內網接口 GatewayInterface br-lan #服務器配置 AuthServer { #服務器的ip地址 Hostname192.168.0.224 SSLAvailable yes Path / }

3. 啟動wifidog

/etc/init.d/wifidog enable /etc/init.d/wifidog start

4. 連接該無線網絡,開始驗證。

 

本文有部分內容來自文章——公共場所wifi認證解決方案wifidog+authpuppy 

 

over


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM