标签 nodogsplash认证 下的文章

nodogsplash配置刷完自带luci界面openwrt配置nodogsplash的方法

路由器刷完openwrt之后,连接到电脑,无线有线皆可。
用网线连接路由LAN口与电脑、
电脑打开cmd、
输入telnet 192.168.1.1回车

如果提示telnet不是可执行的命令、需要在
控制面板-程序-程序和功能-打开或关闭Windows功能、
把telnet服务端和telnet客户端勾选、确定、
执行上述命令后将登录到路由、我们设密码、
输入

passwd root

提示

Changing password for root

New password:
输入密码、这里注意、你输入时屏幕不会有反应、输入完密码回车就是了、
提示
Retype password:
再次输入密码、输入完回车、
虽然在telnet里也可以配置联网、但是我建议使用winSCP来配置、比较清晰、操作也比较方便、
下载winSCP、运行、
主机名填写 192.168.1.1
端口默认22
用户名 root
密码输入你刚刚设置的密码、
协议设置为SCP
点登录、
可能会提示group错误、确定就是了、不会有影响、

点 ..
这个图标回到上级文件夹、
进入到/etc/config/ 文件夹、就可以配置了
开始配置
1.打开/etc/config/wireless文件,加入

config wifi-iface
    option device radio0 #如果是USB外置网卡改为radio1
    option network lan1
    option ifname ath1
    option mode ap
    option ssid nodogsplash

2.打开/etc/config/network文件,加入

config 'interface' 'lan1'
    option 'ifname' 'ath1'
    option 'proto' 'static'
    option 'macaddr' '01:1B:24:D3:1F:37'
    option 'ipaddr' '192.168.9.1'
    option 'netmask' '255.255.255.0'

3.打开/etc/config/dhcp,加入

config dhcp lan1
    option interface lan1
    option start 100
    option limit 150
    option leasetime 12h

4.打开/etc/nodogsplash/nodogsplash.conf,修改

GatewayInterface ath1 #在第九行。

ClientForceTimeout 360 #验证过期时间,单位分钟。

RedirectURL #登录后强制跳转地址。

5.自定义WEB页面在/etc/nodogsplash/htdocs

6.启动项加入/etc/init.d/nodogsplash start 重启连上ssid打开任意网页看效果。

本文章由 http://www.wifidog.pro/2015/04/23/nodogsplash%E9%85%8D%E7%BD%AEopenwrt-luci.html 整理编辑,转载请注明出处

nodogsplash openwrt wifi认证

1.SecureCRT登录路由器.
opkg install nodogsplash 出现“configuring nodogsplash"的字样表示安装成功

  1. 可以看到在”/etc“目录下已经有”nodogsplash“的目录,目录下有一个文件nodogsplash.conf和一个目录htdocs,其中nodogsplash.conf是配置文件,htdocs目录是wifi或局域网认证时弹出web页面的存放地方,splash.html文件为弹出的首页,images文件夹为web页面用到的图片存放地(当然,大家可以随便存放主页了,除了首页的文件名要改成splash.html外)
  2. 启动nodogsplash,/etc/init.d/nodogsplash start

4.将nodogsplash加入到启动项,点击“系统”----“启动项”,将"nodogsplash"加到“exit 0”前面

5.可以用ndsctl命令:ndsctl status(看状态)、ndsctl stop(服务停止)等

先记录在此,准备对比哪个wifi认证好用

本文章由 http://www.wifidog.pro/2015/04/23/nodogsplash-openwrt-wifi%E8%AE%A4%E8%AF%81.html 整理编辑,转载请注明出处

nodogsplash openwrt安装及配置使用

路由器内置的有线和无线不用验证,直接可以上网的,利用虚拟AP及USB网卡发送WEB验证,可以采用nodogsplash。
先把你的无线加密,这个SSID供自己手机用,不用WEB验证,

opkg update 
opkg install nodogsplash

----------------打开/etc/config/wireless文件,加入-----------
config wifi-iface
option device 'radio1'    #如果你没有USB网卡,请改成radio0
option ifname 'ath1'
option mode 'ap'
option ssid 'AIR-FOR-YOU'
option encryption 'none'
option network 'lan1'

config wifi-iface  
option device 'radio0'   #从内置无线中虚拟一个ap
option ifname 'ath6'
option mode 'ap'
option ssid 'AIR-4-YOU'
option encryption 'none'
option network 'lan1'

------------------打开/etc/config/dhcp文件,加入--------
config dhcp lan1
    option interface    lan1
    option start     10
    option limit    150
    option leasetime    12h


------------------打开/etc/config/network文件,加入--------
config interface 'lan1'
option proto 'static'
option macaddr '00:1B:24:1c:BF:B7'
option ipaddr '192.168.4.1'
option netmask '255.255.255.0'
option _orig_ifname 'ath1'
option type 'bridge'

-----------/etc/nodogsplash/nodogsplash.conf--------------

ClientForceTimeout 360 这里验证过期的时间,我给他们上一分钟,就是 ClientForceTimeout 1,一分钟后重新回到验证页。
RedirectURL 这里是登陆后的强制跳转的地址,我暂时不需要,不理他。你要,把#去掉,写你自己的网址
还有MAC黑名单,帐号密码,上传下载限速,等,我都暂时不用,你要就自己研究吧。

启动项加入
/etc/init.d/nodogsplash start
重启,连SSID,随便打开任何一个网页,看效果。。
自定义WEB验证目录在/etc/nodogsplash/htdocs
页面也很简单,,在你页面随便给条链接a href="$authtarget" 就可以点击登陆。。
以后你有多余的无线网卡,只要系统能认得出来,把他的SSID在接口LAN1上桥接起来,就能为你拓展热点。

本文章由 http://www.wifidog.pro/2015/04/22/nodogsplash-openwrt%E5%AE%89%E8%A3%85.html 整理编辑,转载请注明出处

nodogsplash认证之ndsctl工具

ndsctl是通过unix socket与nodogsplash之间通过socket来实现进程之间的通信。ndsctl的主要作用如下:
nodogsplash_1.png

其中上面的的参数中,具有操作功能的参数,主要是用来对特定的MAC和IP地址进行操作,操作的结果就是通过iptables建立不同的数据包过滤机制来达到对用户的访问控制。如下:

~ # ./ndsctl deauth 192.168.197.11
Client 192.168.197.11 deauthenticated.

nodogsplash_2.png

配置文件:
其配置文件为:nodogsplash.conf,其中有些很重的参数:目前我使用的有:

RedirectURL http://192.168.197.1/www/index.html  此配置参数说明在进行认证通过之后将要跳转的页面。
GatewayPort 9999 用来进行监听http清楚的socket端口
PasswordAuthentication yes Password 123 表示在进行认证的时候需要输入密码,密码为:123
UsernameAuthentication yes Username root 表示在进行认证的时候需要输入用户名,用户名为:root。
在代码中函数http_nodogsplash_check_userpass(request *r, t_auth_target *authtarget) 来完成对输入的用户名和密码

的验证工作,验证与否是与上面的参数的配置相关的,在代码中有如下的判断:

  if(!config->passwordauth && !config->usernameauth) {
    /* Not configured to use username/password check; can't fail. */
    return 1;
  }

当在配置文件中没有配置的时候,不进行验证。
同时还有一个比较重要的函数:

/* Allocate and return a pointer to a string that is the redirect URL. Caller must free.
 */
char* http_nodogsplash_make_redir(char* redirhost, char* redirpath) {
  s_config *config;
  char* redir;
  config = config_get_config();
  if(config->redirectURL) 
  {
  safe_asprintf(&redir,"%s?to=%s%s",config->redirectURL,redirhost,redirpath);
  debug(LOG_DEBUG,"Redirect request http://%s%s, substituting %s",redirhost,redirpath,config->redirectURL);
    printf("Redirect address:%s\n",redir);
//redir = safe_strdup(config->redirectURL);
  }
  else
  {
    /* We just assume protocol http; after all we caught the client by
       redirecting port 80 tcp packets
    */
    safe_asprintf(&redir,"http://%s%s",redirhost,redirpath);
debug(LOG_DEBUG,"http_nodogsp lash_make_redir:no define redirectURL in config, redir= %s ",redir);
  }
  return redir;
}

上面的代码仔细的看一下。

测试
当用户在PC2的浏览器中访问:http://192.168.100.244的时候,nodogsplash中的调试信息如下:
nodogsplash_3.png

上面的日志信息中,首先可以看到:nodogsplash收到了一个来自192.168.197.11的连接请求,同时从调试信息中可以看到192.168.197.11访问的request是:192.168.100.244。之后从/proc/net/arp中取出192.168.197.11对于的MAC地址。将其对于的ip地址和MAC添加到用户访问列表中来实现对此用户进行监控的目的。
上面serving splash page /etc/nodogsplash/htdocs/splash.html to 192.168.197.11的意思当访问192.168.100.244的时候将显示splash.html 。使用的图标为:/images/wifidog.png。
执行的效果如下;
nodogsplash_4.png

当点击上面的图标时,会自动跳转到:http://192.168.100.244。当IP:192.168.197.11第一次访问外网的时候,会让用户进行确认,确认之后在默认的时候之内,如果用户再次访问外网服务时,不会再次出现此确认窗口。
当执行下面的命令的时候:

~ # ./ndsctl deauth 192.168.197.11
Client 192.168.197.11 deauthenticated.

nodogsplash中的调试信息如下:
nodogsplash_5.png

从上面的信息可以看出,当执行ndsctl相关的命令时,ndsctl会与nodogsplash建立一个socket连接。当nodogsplash收到ndsctl的请求之后创建一个thread来处理此请求,上面出现了俩条iptables命令,
第一条:删除mangle表中的ndsOUT规则,就不再对满足192.168.197.11的数据包进行进行MARK操作。
第二条:不再accept ,192.168.197.11的数据包。]

本文章由 http://www.wifidog.pro/2015/04/22/nodogsplash%E8%AE%A4%E8%AF%81ndsctl.html 整理编辑,转载请注明出处