我在家里有以下设置:
|--------------------|
INTERNET ---- | GATEWAY COMPUTER | ----- WIRELESS ROUTER )))))) CLIENT 10.10.0.2
|--------------------|
问题:有没有办法让用户第一次登录WIFI时显示默认网页?
我看到我的 ISP 在你延迟支付账单时这样做。它会显示你试图查看的任何页面,并且在你点击“我明白”后,该页面消失并且不会再出现。
答案1
当然,我在家里使用 Meraki 设备,利用其内置功能可以轻松实现这一点,允许特定 SSID 上的用户使用各种方法进行身份验证。例如 Facebook 登录、付费墙、点击、短信身份验证
在您的设置中,您的网关计算机可以运行 m0n0wall 或 pfsense 之类的程序,并使用它们的强制门户功能来配置您想要的内容。
答案2
这是可能的,但并非没有遇到很大困难。
您需要ipset
和一个可编写脚本的 Web 服务器。
首先,创建一个“IPset”来记录已经看到强制门户的计算机的 IP 地址
ipset create AlreadySaw hash:ip timeout $timeout
接下来,创建一组规则。
第一条规则捕获来自主机的流量不是在“AlreadySaw”IPset 中:
-t nat -A PREROUTING -m set ! --match-set AlreadySaw src -j REDIRECT
第二组规则重置通过网关的数据包的超时时间:
-A FORWARD -m state --state ESTABLISHED -j Estab
-A Estab -j SET --add-set AlreadySaw src --exist
-A Estab -j ACCEPT
最后,创建一个监听端口 :80 和 :443 的网络服务器,它将向用户提供一个“强制门户”,当用户成功执行“强制门户”要求的操作时,将执行以下命令:
ipset add AlreadySaw %IP%
...其中 %IP% 是源 IP 地址,应该由“强制门户”脚本检测。
。
当然,困难的部分是制作“强制门户”的脚本。我把这个留给你做家庭作业 :)
答案3
您可以使用 coovachilli,这是一个带有强制门户的现成访问控制器。该网站是 coova.org,上面有有用的介绍。ubuntu 上的安装教程在这里:https://help.ubuntu.com/community/WifiDocs/CoovaChilli。可以从 coova.org 获得已构建的二进制文件,因此您无需从源代码进行编译。