我们有一个由 Ubuntu 16.04 服务器和 Pepwave Peplink AP Pro 300M 无线接入点组成的隔离网络。目标是允许消费者用户访问此接入点,但当他们使用该接入点时,他们只能访问服务器上的网站。我所说的“隔离”是指网络没有 Internet/WAN 访问权限,也不应该有这样的访问权限。实际上没有与路由器或 Internet 的连接。
我们已经配置Bind9作为 DNS 服务器,以便特定域解析到本地 Web 服务器。
本质上它看起来像这样:
- Web 服务器/DNS 服务器
192.168.1.18
- 切入点:
192.168.1.22
- AP 管理 DHCP 并将地址分配
192.168.1.80
给192.168.1.254
- AP 网关:
192.168.1.18
- 亚太地区 DNS:
192.168.1.18
- 登陆页面:
192.168.1.18
总体而言,这是可行的:如果您连接到接入点并转到 DNS 绑定的其中一个隔离站点(例如 myinfo.myservers.com),您将被重定向到登录页面,并且您正在运行我们希望您运行的 Web 应用程序。nslookup myinfo
正确运行解析为192.168.1.18
然而,有一个明显的烦恼:如果你通过 Android 手机连接到它,你偶尔会看到这样的通知“Android 系统,Wi-Fi 无法上网,点击查看选项”。不过,我们希望您访问的网站仍然有效。
我猜想 Android 正在幕后检查互联网访问情况?我们如何设置 DNS 或网络,以便无线设备正常运行?是否有特定的响应或必须响应的 IP 地址?
答案1
您应该能够通过在 BIND 中启用查询日志记录来找到正在查找的 DNS 记录。
运行数据包嗅探器将显示客户端正在尝试的其他流量。