![如何设置 wifi 接入点以仅允许接受 EULA 的用户使用?](https://linux22.com/image/48454/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20wifi%20%E6%8E%A5%E5%85%A5%E7%82%B9%E4%BB%A5%E4%BB%85%E5%85%81%E8%AE%B8%E6%8E%A5%E5%8F%97%20EULA%20%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
我需要设置一个接入点,仅当用户首先接受 EULA 时才允许他们通过。为了让事情稍微简单一些,我正在考虑使用一台unix机器来实现这一点,该机器共享从以太网到wifi上的人的连接。解决这个问题的最佳方法是什么?
我当时在想
- 将所有新的 http 连接重定向到 EULA 页面,一旦用户单击“接受”,就会在表中添加 ip+mac 并过滤其他所有内容
- 使用 dnsmasq 重定向(尽管我不知道如何使其在用户单击“接受”后停止重定向)
有什么建议吗?
答案1
我同意你的做法。在用户 MAC 地址进入白名单之前,来自该用户的所有数据包都必须被丢弃,HTTP 请求除外。这些必须重定向到您的 apache IP:端口(这里是例子)。一旦用户点击 EULA 上的“接受”,您就必须触发一个程序,将其 MAC 地址列入白名单,在 iptables 内添加例外并停止丢弃其数据包。我并不是说这很容易,但至少是可行的。