出现这种问题一般是openClash或者passwall等工具导致dnsmasq上游被更改,但是由于dns错误导致其openClash或者passwall等工具也无法启动。所以dnsmasq访问一个不存在的dns上游
起因
头脑发热直接更新了下iStoreOS固件,更新完成后开始出现DNS错误问题。
查看dnsmasq日志发现其使用了"127.0.0.1#7874",但是此时openClash或者passwall等工具已经down了,所以所有 DNS 查询 timeout
Tue Dec 2 10:34:29 2025 daemon.info dnsmasq[1]: using nameserver 127.0.0.1#7874修复
修复主要分2步,先修复dnsmasq,使其恢复使用手动配置的DNS先关闭openClash或者passwall等工具,等dns恢复正常后在重新启动openClash或者passwall等工具即可
先关闭openClash或者passwall等工具
/etc/init.d/openclash stop然后还原dnsmasq的DNS上游配置
# 允许 dnsmasq 使用系统 resolv.conf(WAN 的 DNS)
uci set dhcp.@dnsmasq[0].noresolv='0'
# 删掉所有手动指定的上游(包括 127.0.0.1#7874)
uci -q delete dhcp.@dnsmasq[0].server提交配置并重启dnsmasq
uci commit dhcp
/etc/init.d/dnsmasq restart检查当前dnsmasq使用的DNS上游,正常应该可以看到223.5.5.5和8.8.8.8等手动配置的DNS
Tue Dec 2 10:40:12 2025 daemon.info dnsmasq[1]: using nameserver 223.5.5.5#53
Tue Dec 2 10:40:12 2025 daemon.info dnsmasq[1]: using nameserver 8.8.8.8#53此时DNS应该已经恢复正常

然后重新启动openClash或者passwall等工具即可