本文主要介绍在DD-WRT路由器上多个无线网络后,架设使用Wifidog认证的无线热点。关于多网络隔离的问题请看这一篇日志。
在这一篇日志中,已经成功建立了一个虚拟无线网络并将之与自用的网络隔离开了。其中br0是自用的网络,br1是公用网络,两个网络之间不能互相访问。
下面我将介绍在br1网络上设置认证热点,而在br0网络上不需要认证。
1.最简单的实现方法
首先你需要一个提供wifidog认证的服务器,这里推荐使用Wiwiz。使用方法请参照http://www.wiwiz.com/zh/archives/141.htm/
下面以在不支持JFFS2的情况下的安装方法为例,详细说明一下其中需要修改以适应多网络的地方:
在防火墙命令中有这样一条命令
/tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /tmp qsetup -hotspotid HOTSPOTID -username USERNAME
其作用是运行wiwiz提供的脚本进行wifidog的配置,将这条命令稍作修改即可
/tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /tmp qsetup -hotspotid HOTSPOTID -username USERNAME -gwif br1
最后添加的-gwif br1作用就是只在br1网络上启用认证。
2.开启基于MAC地址的免认证功能
wiwiz的免费用户是不能使用基于MAC地址的免认证功能的,但实际上此功能是wifidog服务本身所具有的功能,只需将其开启就可以使用。
这里提供一个修改过的脚本文件,只需将Wiwiz提供的脚本文件中的同名文件替换就可以开启MAC免认证功能。
下载地址hsbuilder_setup4dd-wrt.sh
使用方法:
/tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /tmp qsetup -hotspotid HOTSPOTID -username USERNAME -gwif br1 -mac TRUSTMAC
其中TRUSTMAC替换为需要免认证的MAC地址,格式为00:00:00:00:00:00,多个地址间用半角逗号“,”分开。
下面是提供给懒人的防火墙命令:
if [ ! -e "/tmp/usr/local/hsbuilder/hsbuilder.sh" ]; then
wget -O - "http://dl.wiwiz.com/hsbuilder-util-latest-DD-WRT.tar.gz" > /tmp/hsbuilder-util-latest-DD-WRT.tar.gz
cd /tmp; tar -zxf /tmp/hsbuilder-util-latest-DD-WRT.tar.gz
wget http://www.zhangminghao.com/upload/2013/04/01/hsbuilder_setup4dd-wrt.sh -O /tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh
/tmp/usr/local/hsbuilder/hsbuilder_setup4dd-wrt.sh -dest /tmp qsetup -hotspotid HOTSPOTID -username USERNAME -gwif br1 -mac TRUSTMAC
fi
注意修改其中大写的部分。