OpenWRT使用wifidog实现强制认证的WIFI热点

首先安装wifidog到OpenWRT的路由器:

opkg update

opkg install wifidog

wifidog依赖下面这些模块:

iptables-mod-extra

iptables-mod-ipopt

kmod-ipt-nat

iptables-mod-nat-extra

libpthread

由于trunk的固件更新会比较频繁,会导致直接opkg install wifidog安装不了,如果你凑巧又没有备份与固件对应的Packages的话,就需要到http://downloads.openwrt.org/snapshots/trunk升级固件,然后再安装wifidog。我备份了一个2013年7月份(kernel =3.10.3-1-9da5017d589c0594e545ab00a51eecea)的版本的Packages,需要的话拿去用:

http://openwrt.sinapp.net

如果你的路由器不是openwrt官方支持的版本的话,那就需要自己编译固件。make menuconfig后,在Network–>Captive Portals中选择wifidog.

安装完成后,

/etc/init.d/wifidog enable

/etc/init.d/wifidog start

这时会抛出一个错误,因为我们还没有设置AuthServer的信息。关于安装wifidog更多的信息可以参考:http://wiki.openwrt.org/doc/howto/wireless.hotspot.wifidog

下面安装Auth Server,按照官方的说法:

AuthPuppy is the next generation authentication server for Wifidog networks.

源文档 <http://www.authpuppy.org/>

不过貌似这wifidog和Authpuppy都已经N久没更新了。。。

AuthPutty是需要安装apache2, php5和MySQL。详细介绍在这里:http://www.authpuppy.org/doc/Getting_Started (Windows版点这里)。

安装成功后,访问AuthPuppy会要求设置一些数据库信息,全部设置完成后能看到首页:

当然了,我们还需要设置管理员的账号。

进入Manage plugins,Install apAuthLocalUserPlugin,记得要enable这个插件。

然后,点击Manage Nodes,把默认节点的status改成deployed。这个GW(Gateway) ID default后面配置wifidog.conf的时候需要使用。

到这里,AuthPuppy就基本配置完毕了。

下面回到路由器,编辑wifidog.conf,一般情况下,我们之后配置ExternalInterface,GatewayInterface和AuthServer这三项就可以,其他默认。下面是我的配置:

GatewayIDdefault           #注意这个ID必须跟AuthPuppy的GW ID一致

# Parameter: ExternalInterface

# Default: NONE

# Optional

#

# Set this to the external interface (the one going out to the Inernet or your larger LAN).

# Typically vlan1 for OpenWrt, and eth0 or ppp0 otherwise,

# Normally autodetected

ExternalInterface eth0      #路由器外网的物理接口

# Parameter: GatewayInterface

# Default: NONE

# Mandatory

#

# Set this to the internal interface (typically your wifi interface).

# Typically br-lan for OpenWrt, and eth1, wlan0, ath0, etc. otherwise

GatewayInterface wlan0      #路由器内网的物理接口

AuthServer {

Hostname 192.170.1.104

SSLAvailable no

Path /

}

CheckInterval 60

ClientTimeout 5

FirewallRuleSet global {

}

FirewallRuleSet validating-users {

FirewallRule allow to 0.0.0.0/0

}

FirewallRuleSet known-users {

FirewallRule allow to 0.0.0.0/0

}

FirewallRuleSet unknown-users {

FirewallRule allow udp port 53

FirewallRule allow tcp port 53

FirewallRule allow udp port 67

FirewallRule allow tcp port 67

}

FirewallRuleSet locked-users {

FirewallRule block to 0.0.0.0/0

}

注意这个Interface是物理接口,而不是下面OpenWRT web界面中看到的interface。注意不是下面这个:

可以看到我的Interface里面没有wlan0之类的选项,/etc/config/network里面也看不到。

[email protected]:~# cat /etc/config/network

config interface ‘loopback’

option ifname ‘lo’

option proto ‘static’

option ipaddr ‘127.0.0.1’

option netmask ‘255.0.0.0’

config globals ‘globals’

option ula_prefix ‘fd09:fd03:490d::/48′

config interface ‘lan’

option proto ‘static’

option ipaddr ‘192.168.1.1’

option netmask ‘255.255.255.0’

option ip6assign ’60’

option _orig_ifname ‘eth0′

option _orig_bridge ‘false’

config interface ‘WAN’

option proto ‘dhcp’

option _orig_ifname ‘gretap0′

option _orig_bridge ‘false’

option ifname ‘eth0′

之前我用gretap0和eth0设置ExternalInterface和GatewayInterface,不行。反着来也不行。网上搜了一圈,找到下面的方法来获取physical interface:

[email protected]:~# ls -l /sys/class/net

lrwxrwxrwx    1 root     root             0 Jan  1  1970 eth0 -> ../../devices/platform/ag71xx.0/net/eth0

lrwxrwxrwx    1 root     root             0 Jan  1  1970 lo -> ../../devices/virtual/net/lo

lrwxrwxrwx    1 root     root             0 Aug  2 15:58 wlan0 -> ../../devices/platform/ar933x_wmac/net/wlan0

源文档 <http://unix.stackexchange.com/questions/57309/how-can-i-tell-whether-a-network-interface-is-physical-device-or-virtual-alia>

OK,原来我这边也是有wlan0这个interface的,找到之后添加在wifidog.conf上。重启wifidog,成功。

另外:

You can also run wifidog in foreground/debug mode:

wifidog -f -d 7

-f means to run in foreground (do not become a background daemon)

-d 7 increases debug output level to the maximum

源文档 <http://wiki.openwrt.org/doc/howto/wireless.hotspot.wifidog>

时间: 2024-10-24 08:22:04

OpenWRT使用wifidog实现强制认证的WIFI热点的相关文章

[转载]OpenWRT使用wifidog实现强制认证的WIFI热点 | 半个橙子

首先安装wifidog到OpenWRT的路由器: opkg update opkg install wifidog wifidog依赖下面这些模块: iptables-mod-extra iptables-mod-ipopt kmod-ipt-nat iptables-mod-nat-extra libpthread 由于trunk的固件更新会比较频繁,会导致直接opkg install wifidog安装不了,如果你凑巧又没有备份与固件对应的Packages的话,就需要到http://down

wifidog认证实现OpenWRT强制认证的WIFI热点

首先安装wifidog到OpenWRT的路由器: opkg update opkg install wifidog wifidog依赖下面这些模块: iptables-mod-extra iptables-mod-ipopt kmod-ipt-nat iptables-mod-nat-extra libpthread 由于trunk的固件更新会比较频繁,会导致直接opkg install wifidog安装不了,如果你凑巧又没有备份与固件对应的Packages的话,就需要到http://down

OpenWRT TP_LINK703N 校园网 锐捷认证解决办法

OpenWRT TP_LINK703N 校园网 锐捷认证解决办法 一.准备的工具 1)      SSH登录工具,推荐使用MobaXterm_Personal下载链接https://moba.en.softonic.com:这款SSH功能很强大,它集成了很多功能,也是很多电脑爱好者所喜欢的 2)      703N的OpenWrt的固件openwrt-15.05-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin:可以到http://download

Ubuntu 12.04下在校园认证网络内用hostapd+DHCP+NAT实现WIFI 热点(AP)

环境: Ubuntu 12.04.5 LTS 32bits Dell Optiplex 745(很老的机器了) 有线网卡eth0: 无线网卡wlan0: 本人是一名普通的大学生,使用校园网(需要锐捷认证)上网. 网络上,大部分关于Hostapd做Wifi热点的文章,都是基于网桥实现的.但是在需要认证的校园网内,网桥并不适用. 于是,我阅览了网上很多篇相关文章,并最终在两篇文章及一个网页的内容的共同帮助下,完成了在校园网内用Hostapd做Wifi热点. 它们分别是: 1. http://zhid

Android WiFi开发教程(一)——WiFi热点的创建与关闭

相对于BlueTooth,WiFi是当今使用最广的一种无线网络传输技术, 几乎所有智能手机.平板电脑和笔记本电脑都支持Wi-Fi上网.因此,掌握基本的WiFI开发技术是非常必要的.本教程将围绕一个小Demo初步与大家一同探讨WiFi开发. 先上效果图   Demo功能比较简单,四个按钮.两个文本和一个列表.功能主要有创建WiFi热点,关闭WiFi热点,搜索WiFi,连接WiFi,数据通讯.源码会在教程结尾提供. 本章节主要介绍WiFi热点的创建和关闭 需要用到的权限 <uses-permissi

台式机如何快速建立wifi热点

http://jingyan.baidu.com/article/da1091fbd8c1e8027849d622.html 现如今智能手机都很耗费流量,很多时候我们上网都是借助wlan或者wifi热点.对于很多上班族来说,当我们的办公电脑是台式的时候,对于免费wifi的需求就变得很迫切了.但是台式机却并没有无线网卡,所以用他台式机建立wifi热点我们必须借助无线网卡. 台式电脑,360安全卫士,无线网卡 方法/步骤 一.首先选择合适的无线网卡 选购无线网卡的时候我们要考虑一下几点: 接口类型:

用DD-WRT自建计费WiFi热点

架设无线网络(Wlan)向周围的用户有偿共享网络. 传统的方法,可以使用专业的无线与宽带计费网关设备和软件,比如MikroTik等.不过,对于个人架设WiFi热点来说,这些方案太过昂贵,安装设置也非常有难度. 有一个非常简便快捷的方案,就是使用DD-WRT与Wiwiz HotSpot Builder,只需要一个普通的家用无线路由器就可以解决. 百度经验:jingyan.baidu.com 工具/原料 无线路由器,DD-WRT,Wiwiz HotSpot Builder,宽带网络 百度经验:jin

Android开发——自动连接指定SSID的wifi热点(不加密/加密)

http://blog.csdn.net/yuanbohx/article/details/8109042 最近在做一个项目,其中涉及到一块“自动连接已存在的wifi热点”的功能,在网上查阅了大量资料,五花八门,但其中一些说的很简单,即不能实现傻瓜式的拿来就用,有些说的很详细,但其中不乏些许错误造成功能无法实现,经过浣熊多方努力,终于成功将功能实现,遂将一点点小成就拿出来与大家分享. 首先需要感谢这篇文章的作者:http://blog.chinaunix.net/uid-22342564-id-

创建假的wifi热点

本帖介绍怎么创建假的wifi热点,然后抓取连接到这个wifi用户的敏感数据.我们还会给周围的无线路由器发送未认证的包,使这些路由器瘫痪,强迫用户连接(或自动连接)我们创建的假wifi热点. 这种攻击也叫"水坑攻击"-把其他用户都聚集到一个"坑"中. 系统要求: Kali Linux 本地有线网络连接(网络接口 eth0) 无线网卡支持包注入模式和监控模式 (网络接口 wlan0) 各种抓包工具-Wireshark. ettercap.tcpdump- 获得默认网关