![使用 dnsmasq 强制主机在无法解析的查询上使用备用 DNS 服务器](https://linux22.com/image/768906/%E4%BD%BF%E7%94%A8%20dnsmasq%20%E5%BC%BA%E5%88%B6%E4%B8%BB%E6%9C%BA%E5%9C%A8%E6%97%A0%E6%B3%95%E8%A7%A3%E6%9E%90%E7%9A%84%E6%9F%A5%E8%AF%A2%E4%B8%8A%E4%BD%BF%E7%94%A8%E5%A4%87%E7%94%A8%20DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
情况是这样的。我有一个运行数字标牌系统的物联网设备。我试图设置它,以便它拥有自己的 WIFI 网络,用户可以连接到该 WIFI,在他们的设备上输入 http 地址,然后路由到物联网设备正在运行的 Web 服务器。需要注意的是,这个物联网设备本身并没有连接到互联网。
这种方法一直有效,直到有人尝试使用手机,一旦他们连接到物联网设备,他们就无法再访问任何其他网站,就像一旦他们连接到 WIFI 网络,他们的 4g/5g 就被破坏了。我怀疑这是因为 dnsmasq 正在尝试解析上游,但本身没有连接到任何上游服务器。有没有办法,它可以将查询反弹回设备,让它尝试备用服务器?
当前的 dnsmasq.conf 下面。
dhcp-range=192.168.1.101,192.168.1.124,255.255.255.0,24h
domain=wlan
address=/castboard.net/127.0.0.1
server=0.0.0.0
dhcp-option=6,0.0.0.0,8.8.8.8,8.8.4.4
答案1
假设dnsmasq在IOT设备上运行:
你的方法行不通。一旦手机连接到 WiFi,它就会假定该 WiFi 有互联网连接。但正如你所说,你的物联网设备/WLAN 没有互联网连接,因此任何尝试访问替代 DNS 的尝试都会失败。
解决您的问题的方法是简单地配置您的手机不使用此 WiFi(或配置 Wifi 不接受来自手机的连接)- 据我所知,在连接 WiFi 时,手机没有“使用移动数据连接”选项。而且您在 dnsmasq 服务器中配置的任何内容都无法改变这一点...