分类 wifidog openwrt 下的文章

在OpenWrt中安装Wifidog

  1. 系统需求
    硬件
  • 已安装了OpenWrt固件的无线路由器(典型的有Linksys WRT54G系列)
    软件

  • Wifidog
    你可以尝试执行以下命令安装Wifidog:

    opkg update # Optional
    opkg install wifidog

将无线路由器接入Internet。
设置并启用无线网络,即,使用无线路由器创建一个可用的Access Point。

  1. 在Web控制面板中创建热点
    登录到Web控制面板,访问http://cp.wiwiz.com/as/s/menu
    点击“我的热点”,在接下来的页面中点击“创建热点”。根据页面的提示完成各项设置,点击保存。
    你将会看到你刚创建热点的Hotspot ID。记下它,接下来的步骤将会用到它。

  2. 安装与设置HotSpot Builder Utility组件
    将一台PC机连接至你的无线路由器,用SSH方式连接到无线路由器。执行以下命令:

    cd; wget http://dl.wiwiz.com/hsbuilder-util-latest-OpenWrt.tar.gz
    cd /; tar -zxf /root/hsbuilder-util-latest-OpenWrt.tar.gz
    /usr/local/hsbuilder/hsbuilder_setup4openwrt.sh setup

然后按照提示完成设置。
特别地,你需要输入的Hotspot ID就是你在Web控制面板中创建的热点的Hotspot ID(不是热点的名称)。User Name是你在控制面板注册的用户名。

提示:
安装时你将会被提示输入External NIC 与 Internal NIC。External NIC 代表的是连接Internet的网络接口。Internal NIC 代表的是连接局域网的网络接口。如果你不确定,可以执行ifconfig命令,并从执行结果中找到它们。

现在,如果没有报错信息,那么安装已经完成了。
你可以使用一个Wi-Fi客户端(如带WLAN适配器的PC或者支持Wi-Fi的移动电话)测试一下你的热点:

  • 搜索可用Wi-Fi热点,并连接到你的热点。
  • 打开Web浏览器,输入任何一个HTTP开头的网址。如果你的热点的认证页面能够显示出来,就说明你的热点已经正常运转了。

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

wifidog中命令组合代码测试

wifidog中命令组合代码测试,有需要的朋友可以参考下

/*************************************************************************
    > File Name: test.c
    > Author: NULL
    > Mail: 574889524@qq.com
    > Created Time: 2014年11月21日 星期五 20时22分18秒
 ************************************************************************/

#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include<stdio.h>
#define TABLE_WIFIDOG_TRUSTED "WiFiDog_$ID$_Trusted"

int safe_vasprintf(char **strp,const char *fmt,va_list ap)
{
    int retval;
    retval = vasprintf(strp,fmt,ap);
    if(retval == -1){
        printf("FAIL\n");
        exit(-1);
    }
    return retval;
}
int safe_asprintf(char **strp,const char *fmt,...)
{
    va_list ap;
    int retval;
    va_start(ap,fmt);
    retval = safe_vasprintf(strp,fmt,ap);/*这里要给strp分配内存*/
    va_end(ap);
    return retval;
}

int iptables_do_command(const char *format,...)
{
    va_list vlist;
    char *fmt_cmd;
    char *cmd;

    va_start(vlist,format);
    safe_vasprintf(&fmt_cmd,format,vlist);/*将每个参数组合到一起*/
    va_end(vlist);
    safe_asprintf(&cmd,"iptables %s",fmt_cmd);/*格式化输入到cmd*/
    printf("%s\n",cmd);
    free(fmt_cmd);/*释放两次分配的空间*/
    free(cmd);
    return 0;
}
int main()
{
    iptables_do_command("-t mangle -N " TABLE_WIFIDOG_TRUSTED);
    /*两个字符串合并,组成一个字符串*/
    return 0;
}

输出:

iptables -t mangle -N WiFiDog_$ID$_Trusted

本文章由 http://www.wifidog.pro/2015/01/19/wifidog%E5%91%BD%E4%BB%A4.html 整理编辑,转载请注明出处

wifidog-配置guest WLAN--part2

第四步b:对固件设置的不同修改
我创建了一些规则在guest SSID进行分离guest。我有一些只有WEP才能运行或无认证的设备。WEP与HT模式下在.11n运行的设备不同,所以唯一的选择是wide-open SSID。我也不太希望我的邻居偷用我的网络。此防火墙设置也只允许明确已知联接到互联网的MAC。
编辑/etc/config/firewall并添加新区域节段覆盖guest接口,允许SSH,DNS和DHCP guest。

[..]
# Enable logging
config 'zone'
option 'name' 'guest'
option 'network' 'guest'
option 'input' 'REJECT'
option 'forward' 'REJECT'
option 'output' 'ACCEPT'
# Quick rule to allow SSH in
config 'rule'
option 'name' 'Allow SSH in'
option 'src' 'guest'
option 'dest_port' '22'
option 'proto' 'tcp' o
ption 'target' 'ACCEPT'
# Allow DNS Guest -> Router
config 'rule'
option 'name' 'Allow DNS Queries'
option 'src' 'guest'
option 'dest_port' '53'
option 'proto' 'tcpudp'
option 'target' 'ACCEPT'
# Allow DHCP Guest -> Router
config 'rule'
option 'name' 'Allow DHCP request'
option 'src' 'guest'
option 'src_port' '67-68'
option 'dest_port' '67-68'
option 'proto' 'udp'
option 'target' 'ACCEPT'
# Allow only specific source MAC addresses out to the WAN
config 'rule'
option 'name' 'Allow my Nintendo DS'
option 'src' 'guest'
option 'dest' 'wan'
option 'proto' 'all'
option 'src_mac' '00:ab:00:32:00:00'
option 'target' 'ACCEPT'
# Drop broadcast traffic, it just fills the logs 
config 'rule'
option 'name' 'Drop guest broadcast'
option 'src' 'guest'
option 'dest_ip' '172.16.62.255'
option 'target' 'DROP'
# Another explicit deny at the end.
config 'rule'
option 'name' 'Deny guest -> WAN'
option 'src' 'guest'
option 'dest' 'wan'
option 'proto' 'all'
option 'target' 'REJECT'
[..]

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

wifidog-配置guest WLAN--part1

配置一个guest WLAN
Guest WLAN为你的网络用户提供互联网接口。当guest network从其它网络中隔离出来时,它也会提供固件安全规则。
配置
以下变更都假设在OpenWrt默认配置情况下,相关连文件如下:

/etc/config/network
/etc/config/wireless
/etc/config/dhcp
/etc/config/firewall
/etc/config/wshaper

第一步:定义一个新网络
编辑/etc/config/network并定义一个新的interface字段:

[..]
config 'interface' 'guest'
option 'proto' 'static'
option 'ipaddr' '10.0.0.1'
option 'netmask' '255.255.255.0'
[..]

如果你的无线网络有多个radio和访问点,并且你希望向guest network连接一个或多个,那么这个新的网络接口就会被当做bridge进行配置。
第二步:复制已有无线网络
在/etc/config/wireless中,通过复制已有的节段并将它的网络选项更改为指赂新创建的接口节点,并定义一个新的第二 wifi-iface节段。
[..]
config 'wifi-iface'
option 'device' '???'
option 'mode' 'ap'
option 'network' 'guest'
option 'ssid' 'openwireless.org'
option 'encryption' 'none'
[..]

‘device’’????’选项你可以放列于“wifi-ceivce”节段中的设备。例如,如果你的“wifi-deivce”显示config ‘wifi-device’‘wifi0’,那么wifi-iface节段应该为option ‘device’’wifi0’。
注意的是:你的硬件可能做不到。比如,Broadcom硬件的开源b43驱动器不能拥有多个SSID。你需要使用wl专有驱动器-目前,你需要创建一个镜像-sup 2012/05/12 20:22。
第三步:定义一个新的DHCP pool
为了在guest wireless支持DHCP,必须在/etc/config/dhcp定义一个dhcp。

[..]
config 'dhcp' 'guest'
option 'interface' 'guest'
option 'start' '50'
option 'limit' '200'
option 'leasetime' '1h'
[..]

第四步a:调整固件设置
编辑/etc/config/firewall并添加一个区域节段来覆盖guest interface,允许网络,DNS和DHCP guest:

[..]
config 'zone'
option 'name' 'guest'
option 'network' 'guest'
option 'input' 'REJECT'
option 'forward' 'REJECT' option '
output' 'ACCEPT'
# Allow Guest -> Internet
config 'forwarding'
option 'src' 'guest'
option 'dest' 'wan'
# Allow DNS Guest -> Router
# Client DNS queries ordinate from dynamic UDP ports (>1023)
config 'rule'
option 'name' 'Allow DNS Queries'
option 'src' 'guest'
option 'dest_port' '53'
option 'proto' 'tcpudp'
option 'target' 'ACCEPT'
# Allow DHCP Guest -> Router
# DHCP communication uses UDP ports 67-68
config 'rule'
option 'name' 'Allow DHCP request'
option 'src' 'guest'
option 'src_port' '67-68'
option 'dest_port' '67-68'
option 'proto' 'udp'
option 'target' 'ACCEPT'
[..]

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