zoukankan      html  css  js  c++  java
  • 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 整理编辑,转载请注明出处

  • 相关阅读:
    ES 分词器简单应用
    ElasticSearch 通过 Kibana 与 ElasticSearch-head 完成增删改查
    linux 通过docker安装 elasticsearch-head
    The container name "/nacos" is already in use by container
    mysql 用户及用户权限管理命令总结-用户添加及添加权限
    docker 安装 ElasticSearch 和 Kibana 及ik 中文分词器
    docker 安装 nacos
    mysql 主从状态查询及恢复
    那些看似牛逼的「快速阅读法」为什么全是错的!?
    新手VS高手,高手是怎么读书的?
  • 原文地址:https://www.cnblogs.com/wifidog/p/4401683.html
Copyright © 2011-2022 走看看