OpenWRT下实现Portal认证(WEB认证) 介绍了OpenWRT环境下实现Wifidog认证的办法,文末我曾经写道“有的人可能还会问,能不能把这些脚本集成到路由器当中,我的回答是能,只要你的脚本的功能不多,问题应该不大,但是这么做的风险比较大,路由的负载比较高,导致路由的运行会很不稳定,甚至经常死机,这也是笔者亲身实践的结果,所以笔者不建议这么做”。

折腾间突然冒出一个想法,既然OpenWRT有uhttpd和Luci作为Web服务提供图形配置界面,那么可否把Wifidog的认证页面集成到Luci当中呢?之前笔者曾经测试把Wifidog的Web认证页面集成到OpenWRT当中,其实现方法是用传统的LMNP方案,即在OpenWRT上安装Nginx、PHP和Mysql,部署Wifidog的认证服务。但是效果十分不理想,OpenWRT将长期处于高负载状态,甚至影响到了用户的正常上网,稳定性也得不到保证,经常死机,故这种方案不可取,也是我不建议这么做的原因。

OpenWRT中集成了uhttp和Luci作为Web服务提供图形配置界面。uhttpd是一个轻量级的Web服务器,而Luci是用Lua这种轻量级的脚本语言编写的,其性能十分优秀,这也是OpenWRT选择他们的原因,

详细研究Lua和Luci的文档以及相关资料后,终于实现了这个想法,并把程序编译成ipk(下载见文末),需要说明的是Wifidog需自行安装。

安装完成后,Wifidog的默认登录地址是http://192.168.1.1/cgi-bin/luci/login/(路由的lan IP不是192.168.1.1的需自行修改),默认的用户名是root,密码是admin,注意须在Wifidog开启的情况下登录才能成功。如果想新增用户和修改密码,修改/etc/wifidog.auth文件,其格式为username:password,中间用英文半角冒号分隔,每个用户分别占一行。

登陆界面

关于安装完成后Wifidog的配置,我在ipk里加入了wifidog.conf.example,安装完成后位于/etc/目录下,但仍需要根据你的环境作相应的配置,需要配置的参数有ExternalInterface、GatewayInterface、GatewayAddress,其中ExternalInterface指的是你的路由的WAN的接口,如果是VLAN接口就填写VLAN接口;GatewayInterface指的是你的路由的LAN的接口,一般是br-lan;GatewayAddress指的是你的路由的LAN的IP地址。关键配置AuthServer已经提供,如果你想了解AuthServer的配置细节,你可以参见本博客的相关文章。

如果你有HTML+CSS甚至是DIV+CSS编程基础和经验,你可以自定义登录认证页面,其htm页面位于/usr/lib/lua/luci/view/wifidog/文件夹下,CSS等资源文件位于/www/wifidog/文件夹下。

经过测试,其稳定性果然提高不少。不过笔者仍然建议,如果你的WIFI接入用户数大于10,独立的认证服务器仍然是很有必要的。另外,特别提醒,如果你的WIFI是开放的,Luci配置登录界面也会暴露,你的ROOT密码如果过于简单,就会存在安全风险。

附件下载:

luci-app-wifidog-authmini_1.0-1_all.ipk(全平台通用)

OpenWRT-Wifidog之利用Luci认证相关推荐

  1. hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常

    hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期限后异常 参考文章: (1)hdfs/hbase 程序利用Kerberos认证超过ticket_lifetime期 ...

  2. pandorabox php,PandoraBox和openwrt下的wifidog安装及web认证界面设置

    前言: 1.因手头有一个7620A芯片的大功率无线路由器(智博通OEM的),由于要使用无线广告营销功能,但在网上搜寻了很久,都没找到合适的固件. 2.可能有人会说支持7620方案的广告营销固件多的是, ...

  3. 【OpenWRT之旅】LuCI探究

    1. 多语言 1)检查: opkg list | grep luci-i18n- 2)安装语言包: opkg install luci-i18n-hungarian 2.uhttpd 这个是LuCI所 ...

  4. 校园网环境下通过OpenWrt软路由利用DNSPod实现QNAP NAS远程IPv4+IPv6双栈访问

    起因是我在宿舍部署了一台NAS,定期对我的个人数据进行备份,同时在NAS上搭建了文件服务器.工作站.个人多媒体中心以及git等服务,但是因为校园网ipv4无法给上级路由配置端口转发,IPv6只能获取到 ...

  5. 斐讯n1 linux连接wifi,斐讯 N1 部署 Docker 和 OpenWRT,并利用 Hostapd 开启 Wi-Fi 热点

    刷入 Armbian 的 N1 可以通过安装 Docker 做很多事情,部署 OpenWRT 路由系统就是其中之一,同时利用 Hostapd 更可以开启 Wi-Fi 热点,方便作为一台便携路由使用. ...

  6. OpenWrt路由器上的LuCI模块开发

    [一.LuCI配置界面开发的框架] LuCI是OpenWrt上的Web管理界面,LuCI采用了MVC三层架构,同时其使用Lua脚本开发,所以开发LuCI的配置界面不需要编辑任何的Html代码,除非想自 ...

  7. 升级到OPENWRT 19.07后LUCI报错

    今天试着在OpnenWRT 19.07.1里安装应用,发现插件报错,情况如下: Failed to execute cbi dispatcher target for entry '/admin/se ...

  8. python-管家婆-接口获取授权认证码、利用授权认证码获取token信息、刷新token、部分接口调用

    最近在对接管家婆,文档上只有 java php .net 的例子,写了一个python的例子,里面部分数据按需填写. 加解密代码借鉴于知乎 python里面json对象转字符串,分号和逗号默认会有空格 ...

  9. OpenWrt R20.10.20 / LuCI Master (git-20.256.12360-1a54222) 不能访问内网网址

    问题描述 浏览器输入内网网站的网址无法访问 浏览器输入内网网站的 IP 可以正常访问 外网都能正常访问 问题分析 DHCP/DNS 配置问题 解决方法 方法一:luci 管理界面中配置 [网络]–[D ...

最新文章

  1. td 超出部分怎么显示_道瑞斯:黄金白银TD走势分析(纸黄金,纸白银,现货黄金,现货白银)...
  2. SAP UI5 responsiveLayout和responsiveGridLayout的区别
  3. 【kafka】我用kafka两年踩过的一些非比寻常的坑
  4. 列表生成式的复习以及生成器的练习, 杨辉三角实例(非常巧妙)
  5. Android_获取屏幕大小的两种方法
  6. jsonrpc java_jsonrpc环境搭建和简单实例
  7. 重发布,路由策略实验
  8. vue+mapbox实现聚合以及自定义图片图层、元素激活、显示popup、自定义marker
  9. intelx86为何从0xFFFF0处执行
  10. 简易的web全栈开发——服务器部分
  11. TensorFlow-4: tf.contrib.learn 快速入门
  12. 如何判断是否受到DDOS攻击?被攻击该如何解决?
  13. android手机功能创新,盘点最让人心动的五大手机差异化创新趋势
  14. LeetCode 题库 全 JAVA 解题---771.宝石与石头
  15. 经典FLASH 菜单下载【含源码】
  16. 亚马逊欧洲站DOC符合性声明
  17. 近视200度能学计算机吗,近视200度大概是4.几,4.6的视力相当于近视多少度。很多人不知道...
  18. 在Windows命令行工具cmd中使用gcc命令实现编译
  19. idea mac 查找文件快捷键_intellij idea 常用快捷键mac版
  20. USDP使用笔记(三)大数据集群及组件启停

热门文章

  1. php调用发邮件,PHP调用Mailgun发送邮件的方法
  2. 第三届“拳头奖”投票进行时 Devstore志在必得
  3. openstack compute service list报错(HTTP 503)
  4. Java进阶之路~适配器设计模式amp;字符串方法
  5. cassandra_在Chaordic上从MySQL过渡到Cassandra
  6. 2018年7月中华人民共和国县以上行政区划代码
  7. Adoby photoshop cs5永久序列号
  8. 超强干货:企业数据防泄密的26种实用方法
  9. 解决Mac上用spotlight搜索输入几个字母后闪退
  10. python,给定任意列表lst和一个任意值item,返回item在lst中第一次出现的位置