我有一个带有 wifi 加密狗的 Raspberry Pi,配置为接入点模式(wifi 热点)。
当用户连接时,我想将他们输入的任何 url 重定向到指定的 IP(设备设置/配置页面)。我正在寻找类似于连接到机场公共热点时发生的行为,并且您必须输入电子邮件或接受“条款和条件”才能浏览其他页面。
这可以在 pi 的发行版上完成吗?
答案1
您可以通过一小组iptables
规则将所有流量重定向到 AP 地址的端口 80 和 443 来实现此目的:
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination localhost:80
# iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination localhost:80
此外,您应该将 HTTP 服务器配置为将每个未知 URL 重定向到其起始页(这样,如果用户输入,http://www.example.com/path/to/specific/site
您就不会从 AP 的网络服务器收到 404)。
对于看门狗解决方案(首次连接时重定向到特定页面),存在专用软件包,例如WiFi狗。