我在用openwrt 和 coovachilli为了注册目的,当路由器有互联网连接时,chilli 就会启动,弹出页面连接到 WiFi 后出现。
但我想要弹出页面无需互联网。使用以下方式连接到 WiFi 后,路由器应弹出库瓦奇利没有互联网。请帮我解决这种情况。
提前谢谢。
OpenWrt 版本:- 15.05
CoovaChilli 版本:- 1.3.0
答案1
你需要一个本地 DNS
在本地 DNS 中添加 2 个区域(绑定服务器也解析 UAMLISTEN IP、端口 UDP 53)
例子:
HS_UAMLISTEN=10.10.10.1
HS_DNS1=10.10.10.1
Windows 10 及以上版本使用http://www.msftconnecttest.com/connecttest.txt
Windows 8.1 及更早版本使用http://www.msftncsi.com/ncsi.txt
区域:msftncsi.com
www IN A 190.46.255.40(或任何公共 IP)
区域: msftconnecttest.com
www IN A 13.107.4.52(或任何公共 IP)
另一个最佳选择是使用 RPZ(响应策略区域)
在本地区域:
响应策略 { 区域“rpz”; } qname-wait-recurse no;
区域“rpz”{
類型主屬;
文件“/etc/bind/db.rpz”;
};
文件db.rpz:
www.msftconnecttest.com 在 13.107.4.52
www.msftncsi.com 190.46.255.40
190.46.255.40 和 13.107.4.52 是每个 URL 的真实 IP 地址。即使您没有互联网也没关系,因为 coovachilli 在登录之前始终响应任何 IP 的 TCP 端口 80(不会在防火墙或 IPTABLES 上丢失)
通过这种方式,DNS解析主机并且浏览器重定向页面。
Windows 10 运行完美。
对于 Android 设备:
connectionscheck.gstatic.com IN A 216.58.222.163
connectionscheck.android.com IN A 216.58.222.174
clients1.google.com IN 216.58.222.174
clients3.google.com IN 216.58.222.174
我有检查互联网状态的脚本,因此当没有连接时,它会重定向到“互联网暂时停止服务”页面。强制门户还根据我的客户的需求进行了几项干预。