• OpenWrt wifidog 实现收费提醒效果


    需求场景

    有一个免认证的 Wifi SSID,比如叫:OpenWrt,附近的同学可以随便连上这个 SSID,没有缴过费的同学不管访问什么地址,都会被跳转到收费提醒页面,而缴过费的同学就可以开心上网了。

    解决办法

    从需求上来说,这是一个非常标准的 WifiDog 效果,如果未来有很复杂的需求,可以直接通过 WifiDog 来实现跳转,然后再通过 AuthPuppy 来实现账户管理,不过想在 OpenWrt 上同时部署 WifiDog 与 AuthPuppy 也不是一件很容易的事情。

    因此我们准备考虑直接通过 iptables 来实现这个需求,未来如果有复杂的扩展需求,也不影响扩展到 WifiDog 来实现。

    实现流程

    通过 SSH 登录到 OpenWrt,打开 /etc/config/uhttpd,在文件的最顶部增加以下配置

    config uhttpd 'portal'
    list listen_http '0.0.0.0:11990'
    option home '/www/portal'
    option error_page '/index.html'

    然后在 /www/portal 下新建一个名为 index.html 的静态文件,文件内容可以如下

    <html>
    <head>
      <meta http-equiv="cache-control" content="no-cache">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>Wifi</title>
    </head>
    <body>
      Email: xxxx@xxx.com
    </bodu>
    </html>

    之后再打开 /etc/firewall.user 文件,在末尾添加如下配置:

    iptables -t nat -A prerouting_lan_rule -p tcp -m tcp --dport 80 -m mark ! --mark 8 -j REDIRECT --to-ports 11990
    iptables -t filter -A forwarding_lan_rule -m mark ! --mark 8 -j REJECT

    保存后执行 /etc/init.d/firewall restart 重新载入 iptables 的配置
    然后再执行 /etc/init.d/uhttpd restart 重新载入 uhttpd 的配置

    然后用手机连接这个无线网络,你就会发现总是弹出这个提示页面了

    用户授权

    当有用户缴费了之后,向他要到他的MAC地址,同样打开 /etc/firewall.user 文件,比如这个用户有 2 个设备,MAC 地址分别是 00:00:00:00:BB:AA 与 00:00:00:00:BB:BB 则添加以下 2 条 规则,以后这 2 个设备就可以随便上网了!

    iptables -t mangle -A fwmark -m mac --mac-source 00:00:00:00:BB:AA -j MARK --set-mark 8
    iptables -t mangle -A fwmark -m mac --mac-source 00:00:00:00:BB:BB -j MARK --set-mark 8

    添加后同样需要执行 /etc/init.d/firewall restart 以使配置生效

    注意事项

    如果通过以太网口访问 OpenWrt luci 管理界面也是那个收费提示,只需要把该机器的 MAC 地址同样授权一样即可

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

  • 相关阅读:
    界面控件DevExpress Blazor UI组件v20.2新版亮点:集成Visual Studio
    如何打印超长图片
    使用you-get库下载视频自动化
    数组求最值和平均数的算法
    如何删除git所有提交历史
    计算机图形学应知应会
    通过终端登录FTP服务器的方式
    局域网内通过ARP欺骗获取他人账号密码
    如何在局域网下用他人的流量上网
    XAMPP下的项目进行内网穿透时的注意点
  • 原文地址:https://www.cnblogs.com/wifidog/p/4401683.html
Copyright © 2020-2023  润新知