分类 wifidog原理 下的文章

openwrt 配置wifidog interface 的 DHCP

DHCP
在设置DHCP时,如果你想得到更多的控制权,你可能会考虑到从wifidog gateway box运行DHCP而不是从无线接入点。你可以通过安装DHCPD后在Debian操作。
首先让你所需的DHCP服务器运行apt-get install dhcpd
安装你所需的DHCP服务器后,首先运行以下命令:

/etc/init.d/dhcp stop

这将停止DHCP服务器,这样你可以更改配置脚本。你需要安装接口卡,DHCP服务器需要在此卡上操作服务,并且还要向此卡传送一系列IP地址和向终端PC用户传送的网络信息。
更改接口,DHCP服务器将在此接口运行。你需要编辑/etc/init.d/dhcp并在此输入你的网络接口。

# Defaults
INTERFACES="eth0"

注意也许还有必须编辑/etc/default/dhcp文件来确保INTERFACE在/etc/init.d/dhcp具有同等值。
更改由DHCP服务器发布的网络信息,你需要编辑/etc/dhcpd.conf文件。我使用了一个举过的例子。阅读不同components的注释:

default-lease-time 10800;
max-lease-time 28800;

subnet 10.0.1.0 netmask 255.255.255.0 {
range 10.0.1.2 10.0.1.254;
option routers 10.0.1.1;
option domain-name-servers 150.237.47.200;
} 
  • default-lease-time =你的客户端发布一个IP地址所用的默认时间
  • max-lease-time =你的客户端发布一个IP地址所用的最长时间
  • subnet 10.0.1.0 =你发布给客户端的IP地址范围的子网络,在这种情况下10.0.1.0就是10.0.1.2/254的子网络(将地址范围最后的数字去掉,并改成0)
  • netmask =应用于子网络范围的掩码为IP地址提供有效号码。在这种情况下255.255.255.0只允许IP地址最后部分可以被更改。
  • range =客户端从DHCP获取的IP地址范围
  • option routers =在DHCP运行的网关的网络接口卡
  • option domain-name-servers =DNS服务器

    当你操作完选项,并确保一切正常运行时,你可能要重启DHCP:

    /etc/init.d/dhcp start

现在DHCP已经安装,如果你想测试,或者通过已被桥接的接口点连接到无线,或者往网关以太网卡和另一台PC上连接一个交叉连接线,看看会显示什么信息。

本文章由 http://www.wifidog.pro/2015/03/09/openwrt%E9%85%8D%E7%BD%AEDHCP.html整理编辑,转载请注明出处

OpenWrt的wifidog网关安装

在Linksys WRT54G安装网关的FAQ
快速安装:
如果你不习惯使用Linux并且不知道如何编辑这些问题,你可以使用别人编辑的OpenWRT和Wifidog。他们肯定会为你的特殊版本的OpenWRT编译。注意的是开源版本的IPK包或者由你自己的资源建立的,都是我们唯一提供服务的包。如果你使用了由其它组织发布的包,你必须向他们寻求服务。
1)下载一个重新编辑的OpenWRT固件镜像
2)通过路由器的网络接口安装固件镜像。
3)重点:在你安装Wifidog之前,确保连接在你OpenWRT路由器的客户端能够正确的使用网络
4)下载一个官方由Wifidog项目建立的.IPK文件。
5)安装Wifidog
6)按照文件的说明操作,一切将不言自明。
(如果安装.ipk文件时看到错误提示“无法满足以下依赖性…”,那么运行ipk更新,然后再重新安装。)
请注意,根据以上所述,你不用具有太多专业知识或者浪费太多时间来编译和制作binary文件。但对于linux文盲却没有更好的办法了。你必须对unix环境足够精通才能telent/ssh到路由器,执行安装概述和配置任务。如果你不够精通,那么建议你与精通linux和网络的人协商一下。

在基于PC的 Debian安装(网关和门户)

  • 在基于PC的 Debian安装客户端
  • 在PC上安装两个网络接口卡。一个将被连网,另一个将连接无线路由器
  • Debian最小化安装
  • 以根用户身份登录
  • 运行apt-get update和apt-get upgrade来确保你的安装是最新的

确保/etc/network/interfaces文件已配置正确,两个网络接口也已进行配置-例如:

iface eth0 inet static
             address 192.168.0.111
             netmask 255.255.255.0
             gateway 192.168.0.1
             dns-nameservers 195.238.2.21 195.238.2.22

iface eth1 inet dhcp

浏览http://www.linuxforum.com/debian/ch-gateway.en.html,可获得更详细的网络配置向导。

  • 你需要brideg eth0和eth1,这样你的无线客户端才能够通过网络连接来上网。

如果想要完成这些,你需要确认有适当使用iptables的代理脚本(如果在Windows后台,与就网络连接分享非常相似)
如果你使用的是Debian,那你很走运。你可以在http://www.aboutdebian.com/proxy.htm中找到完整版的NAT Linux Proxy服务器IPTABLES和安装向导。遵循里面的规则,测试确保可以通过使用了规则的无线接口上网。只有那时你才可以进行wifidog客户端安装。别忘了阅读全篇向导,确保现在你可以通过无线接口上网。

  • 在/usr/src/获取wifidog wget URL-HERE。你需要将它解压成gunzip
    WIFIDOG-FILE,然后untar成tar -xvf yourcopyofwifidog
  • 在wifidog解压的位置运行:

    ./configure
    make
    make install

如果遇到以下错误提示:

wifidog: error while loading shared libraries: libhttpd.so.0: 
cannot open shared object file: No such file or directory

请运行命令:

ldconfig

如果你遇到其它错误提示,请确认你运行的是最新的编辑器。
将wifidog.conf移到/etc/ : mv wifidog.conf /etc/并编辑选项
在全部调试的前台输入wifidog -f -d 7来运行wifidog。如果一切正常运行,你可以在门户页面看到许多output。

本文章由 http://www.wifidog.pro/2015/03/06/openwrt%E7%9A%84wifidog%E5%AE%89%E8%A3%85.html 整理编辑,转载请注明出处

AirOS的wifidog网关安装

Ubiquiti产品中的Wifidog
Ubiquiti产品被应用的越来越广。Openwrt可以在其产品中运行并且固件和AirOS都有自己的版本。
与openwrt不同,AirOS没有包管理器。当大部分文件系统是只读的时候,我们需要创建有wifidog的固件来运行AirOS中的wifidog。
1 从sourceforge中获取最近的wifidog TAR包,并复制到~/dev/wifidog目录中
2 获取wifidog airos包目录

cd ~/dev/wifidog
wget http://dev.wifidog.org/wiki/doc/install/airos/wifidog_airos.tar.gz
tar xvzf wifidog_airos.tar.gz

如果在原文编辑,目录在wifidog/contrib/airos
3 下载airos SDK: http://www.ubnt.com/support/downloads,并复制到~/dev/airos
4 解压SDK并准备文件

cd ~/dev/airos
tar xvjf SDK.UBNT.v5.2.tar.bz2
cd SDK.UBNT.v5.2

cd openwrt/package
ln -s ~/dev/wifidog/airos/wifidog/ 
cd ../dl
ln -s ~/dev/wifidog/wifidog-20090925.tar.gz

cd ../..
patch -p1 < openwrt/package/wifidog/files.patch

5 准备wifidog.conf文件,当airos是只读的时候,在路由器中无法转换成config文件

cd ~/dev/airos/SDK.UBNT.v5.2/openwrt
mkdir -p files/usr/etc
cp package/wifidog/files/wifidog.conf files/usr/etc/wifidog.conf

6 想要设置认证服务器需编辑files/usr/etc/wifidog.conf文件。如果没有使用SOHO路由器配置,网关界面也需要更改。
7 设置OS

make world V=99

8 你可以在open/bin目录中得到新镜像

本文章由 http://www.wifidog.pro/2015/03/06/airos%E7%9A%84wifidog%E5%AE%89%E8%A3%85.html 整理编辑,转载请注明出处

wifidog一般常见问题(2)

问:它是如何运作的?
答:客户端守护进程通过防火墙规则来控制路由器的流量。当一个新用户试图打开一个网页,客户端将透明地将他们重定向至认证服务器以便登录或注册新用户。客户端和认证服务器将协商如何处理该上网用户和是否允许其访问网络。客户端每X分钟就向认证服务器发起请求,以便对其进行动态统计及资料更新,内容包括:正常运行时间,负载,上网用户的流量监测以及在/离线状态。

问:它是如何运行的?
答:客户端可在任何Linux机器中运行,但机器中需安装netfilter 以及iptables 。认证服务器运行于任何支持PHP的web服务器。

问:我可以在同一个Linux box中安装并运行Wifidog认证服务器和Wifidog网关吗?
答:可以。

问题:如果要使用Wifidog,我的系统必须要有无线网卡吗?还是只要有个无线路由器就可以?
回答:在网关运行的机器不需要无线网卡,但是对于每个无线客户端,Wifidog被设置在入口,网关必须被链接在第二层到以太网关接口处。实际上,无线路由器必须被用作是纯粹的接入点,只有将LAN端口(不是WAN端口)和在网关运行的机器的接口相联接才能实现。

问:我需要使用无线接入点吗?如果不使用无线接入点,我可以使用Wifidog无线路由器吗?
答:一些无线路由器做nat,这种情况会使从无线路由器中获取的MAC地址将客户端的MAC地址进行替换。如果产生这种问题,Wifidog的身份验证将失效,因为它依赖MAC地址去允许/不允许进入。

问题:我可以写自己的客户端吗?
回答:当然可以,但是为什么呢?我们已经完成了所有的工作。客户端已经用C语言写好,并且足够轻量级,这使得它在像Linksys WRT54G这样的嵌入式环境中都可以平稳运行。这个客户端是久经测试的,并且相当的稳定。它已被广泛用于ile Sans Fil部属的热点中。

问题:我可以写自己的认证服务器吗?
回答:重申一次,我们已经完成了所有的工作。但是如果你觉得我们所提供的不适合你的需求,并且你希望从头开始写你自己的服务器,整个系统中的客户端必须使用同一种协议。

问:Wifidog是什么样界面的?
答:客户端是在后台运行的守护进程。没有终端用户所关注的立即可视的用户界面,但它可以为管理员提供一个简单的命令行和基于网络的界面来查询状态。

问:我可以从哪里获取帮助?
答:如果你需要获取关于Wifidog安装的技术支持,你的信息需包括:
1)你的Wifidog客户端的版本(ipk 或者你自己编辑的版本)
2)配置安装(请删除默认配置)
3)Wifidog除错输出信息(命令:Wifidog-f-d 7)

问题:我可以使用Wifidog在运行无身份验证的热点运行吗?
回答:可以,只要将每个无身份验证的热点在网络设置页面中激活便可。

问题:我可以只运行Wifidog网关吗(没有认证服务器)?
回答:不可以,这不是Wifidog设计的初衷。你可以试试NoCatSplash,它是为此而设计的。

问题:Wifidog支持RADIUS,WISP或者WPA吗?
回答:目前Wifidog支持RADIUS用户认证和流量统计。

本文章由 http://www.wifidog.pro/2015/03/05/wifidog%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98-2.html 整理编辑,转载请注明出处