分类 wifidog原理 下的文章

wifidog安装--part1

Wifidog 网关安装
需求:
1) 熟悉GNU/Linux环境
2) 内核中编译了netfilter的GNU/Linux OS
3) Iptables
4) GNU C 编辑器。其它编辑器可能也适用,但我们没有测试,也不支持。
5) 可以从SourceForge得到最新的Wifidog TAR包
预安装
很多人会在这里遇到问题,所以我们大致陈述一下:
将Wifidog引入到环境之前先要确保一切都是正常运行
l 路由器须boot正确
l 路由器能正确调出界面
l 路由器须联网
l 正确设置DNS,并能正常运行
l 正确设置DHCP
l 装载ipt_mac.o内核模块
l 如果用NAT,路由器必须用iptables设置NAT/masquerading规则
l 获取WIFI的客户端必面能够绑定和联接到互联网
l 当路由器开始运行时,以上所有须自动运行
安装
Wifidog跟其它开源项目一样,使用标准的自动化工具,使得安装更加便捷。打开TAR包获取来自SVN的最新资源,然后按以下步骤:
./autogen.sh
make
make install

如果你没有用make install来安装,二进制文件会保存在src/wifidgo。

OpenWrt ipkg
mkdir ~/wifidog.openwrtcd ~/wifidog.openwrtwget http://downloads.openwrt.org/whi ... inux-i686-1.tar.bz2tar -jxvf OpenWrt-SDK-Linux-i686-1.tar.bz2svn checkout https://dev.wifidog.org/svn/trunk/wifidogcd wifidog./autogen.shmake ipk OPENWRTSDK=~/wifidog.openwrt/OpenWrt-SDK-Linux-i686-1
如果没有错误,你的包应该保存在~/wifidog.openwrt/OpenWrt-SDK-Linux-i686-1/bin/packages
配置
编辑/etc/wifidog.conf并依照说明操作,一切OK。
首次运行Wifidog
按照以下命令启动Wifidog:
Wifidog –f –d 7
测试:
当客户端获取WIFI后,用浏览器打开你喜欢的网页。
监测运行当中的Wifidog的output。
认证服务器安装
需求
PHP5
l PHP5网络服务器。推荐Apache httpd服务器,并提义使用虚拟主机。
l 必用:Pgsql,dom,bmstring
l 选用:xml,gettext,mcrypt,mhash,xmlrpc
l PEAR:radius,Auth_RADIUS,Crypt_CHAP
l PHP library:Smarty,MagpieRSS,Phlickr
强烈建议安装选用项,以便激活认证服务器的所有特性。如果你不知道哪些已经安装,install.php将会进行检测并显示出对你有用的信息。最后一项将会通过install.php自动下载安装。
重点:认证服务器所需内存要大于PHP默认的8Mb。你需要在php.ini将其提高到32Mb或64Mb。如果你没进行此操作,也会安装成功,但不久就会用光内存。
PostgreSQL
正确配置PostgreSQL服务器。install.php脚本不会向PostgreSQL数据库服务器提供特殊的安全方式。系统管理员要做的是授予正确的数据库存取许可。
快速安装
1) 将Wifidog认证服务器软件源从CVS中撤出
2) 在人喜欢的浏览器中打开http://server.com/wifidog/install.php并按说明操作
3) 在config.php设置语言
4) 用管理员身份登录,填入网络信息,创建热点和目录
install.php
即使是install.php也无法尽其所能的来简化安装。但它能很快的给你一个门户,你可以做为管理员进行登录,自定义你的网络,热点,目录,用户等。
首先,你需要在浏览器中打开install.php。如果你尝试另一个门户网页,并且认证服务器没有预先设置好,那么你的浏览器将自动重新导向install.php。
按照网页上的说明创建wifidog用户和数据库。
第一次打开install.php,脚本会在/tmp/dog_cookie.txt文件中随机产生密码。这只是一种安全控制,用来防止选程用户用新安装的认证服务器做坏事。这个文件只是随机密码,不需要用户名。

本文章由 http://www.wifidog.pro/2015/01/09/wifidog%E5%AE%89%E8%A3%851.html 整理编辑,转载请注明出处

wifidog 认证出现绿屏问题

使用wifidog 做无线认证的网关协议,经常会遇到个绿色页面,其实这个页面是wifidog 源码里的 wifidog-msg.html,直接用浏览器打开时这个样子的。
1.jpg

这个页面什么时候会出现呢?我们来看下wifidog 的网关协议。
在wifidog.conf里有个配置:

HtmlMessageFile /etc_ro/wifidog-msg.html

这个文件名是可以改的,不过我们没必要这么麻烦,这里就按着默认的介绍下绿屏出现的原因。
从conf.c文件里我们可以看到HtmlMessageFile 对应着config变量中的htmlmsgfile, 然后找到htmlmsgfile 变量使用之处只有如下函数中:

void send_http_page(request *r, const char *title, const char* message);

这个函数很明显就是给浏览器发送http 页面的,举个例子:
send_http_page(r, "WiFiDog error", "Invalid token");
这个是把上面的$title 换成“wifidog error", $message换成"Invalid token",$nodeID换成wifidog.conf 中的 GatewayID。

本文章由 http://www.wifidog.pro/2015/01/09/wifidog%E7%BB%BF%E5%B1%8F.html 整理编辑,转载请注明出处

wifidog uci 设置网络命令

OPENWRT使用命令行设置无线和有线网络

在我们将路由器固件刷成开源的基于Linux内核的openwrt系统后,由于openwrt默认未安装WEB管理界面,所以我们需要先通过SSH或者telnet对路由器进行网络设置,设置完成后可通过openwrt的软件包管理opkg安装web设置界面Luci。
设置lan ip(即访问路由的ip)
Shell代码
uci set network.lan.ipaddr=[lan ip]

使用pppoe设置
Shell代码
uci set network.wan.proto=pppoe //设置wan口类型为pppoe
uci set network.wan.username=[上网帐户]
uci set network.wan.password=[上网密码] //这两行设置pppoe用户名和密码

如果要挂在上级路由下面,就需要进行下面的设置
Shell代码
uci set network.wan.proto=none //关掉wan
uci set network.lan.gateway=[上级路由ip] //网关指向上级路由
uci set network.lan.dns=[上级路由ip] //dns指向上级路由
uci set dhcp.lan.ignore=1 //关掉lan的dhcp

最后对无线网络进行配置
Shell代码
uci set wireless.@wifi-device[0].disabled=0 //打开无线
uci set wireless.@wifi-device[0].txpower=17 //设置功率为17dbm 太高会烧无线模块
uci set wireless.@wifi-device[0].channel=6 //设置无线信道为6
uci set wireless.@wifi-iface[0].mode=ap //设置无线模式为ap
uci set wireless.@wifi-iface[0].ssid=[自己设置SSID] //设置无线SSID
uci set wireless.@wifi-iface[0].network=lan //无线链接到lan上
uci set wireless.@wifi-iface[0].encryption=psk2 //设置加密为WPA2-PSK
uci set wireless.@wifi-iface[0].key=[密码] //设置无线密码

提交应用配置
Shell代码
uci commit //应用
/etc/init.d/network restart //重启网络服务

安装luci管理界面
Shell代码
opkg update // 更新软件列表
opkg list-installed // 查看已安装软件
opkg install luci // 安装LUCI
opkg install luci-i18n-chinese // 支持中文

即可完成LUCI的安装。
输入以下命令开启支持web服务的uhttpd,并设置其为自启动:
Shell代码
/etc/init.d/uhttpd enable # 开机自启动
/etc/init.d/uhttpd start # 启动uhttpd

本文章由 http://www.wifidog.pro/2015/01/09/wifidog-uci.html 整理编辑,转载请注明出处

openwrt使用crontab 实现wifidog定时启动

OpenWrt使用crontab执行计划任务
crontab -l

列出当前的默认计划任务列表

crontab -r

删除当前的默认计划任务列表

crontab -e

启用vi修改当前的默认计划任务列表

crontab后面还可以跟FILE参数,指定计划任务列表

然后是计划任务列表的格式:

[minute] [hour] [day of month] [month] [day of week] [program to be run]

其中各个参数的取值范围是:

minute(0-59)
hour(0-23)
day of month(1-31)
month(1-12)
day of week(0-7,0 or 7 is Sun)

每个参数里的取值可以有4种间隔符:

  • 表示任意

  • 表示范围

, 表示枚举多个值

/ 表示每隔

例如:

周一到周五每天晚上23:30执行ruijieclient -k

30 23 * * 1-5 /bin/ruijieclient -k

每天每隔10分钟执行date

*/10 * * * * date

另外每次执行完成任务后系统会发送信息给你,如果你不想收,可以在每条执行语句后面加:

/dev/null 2>&1

本文章由 http://www.wifidog.pro/2015/01/08/wifidog%E5%AE%9A%E6%97%B6%E5%90%AF%E5%8A%A8.html 整理编辑,转载请注明出处