我们正在 beaglebone black 上运行一个远程应用程序,其中我们定期报告从各种外部 IP 服务(freegeoip.net、ipinfo.io、各种 STUN 服务器等)检索到的外部 IP 地址
在某个位置,当我们失去互联网但设备保持通电状态时,一旦互联网连接恢复,我们就会失去执行 DNS 查询的能力。直接 google ip 地址可以 ping 通,但www.google.com
不成功。我已经对很多事情进行了测试、探索和刺激,这就是我可以肯定地说的。我还没有在其他地点看到过这种情况,但现在我们也只在少数几个地点看到过这种情况,所以它可能还没有出现。
- 重新启动设备即可解决问题
- 重新启动
connman
即可解决问题 - 手动添加一行
/etc/resolv.conf
以指向默认网关或 google DNS 服务可以解决问题
现在看来 /etc/resolv.conf
是由 connman 管理的(因为它只是 的符号链接/var/run/connman/resolv.conf
)
我是否可以/应该使用备用 DNS 服务(例如dnsmasq
),或者也许我应该完全放弃“智能”配置服务,转而采用更可靠但更繁琐的手动文件配置(即手动将网关和本地主机写入/etc/resolv.conf
和 /etc/网络/接口)
编辑:版本信息
Debian 版本:Debian GNU/Linux 8 \n \l
BeagleBoard.org Debian 镜像 2016-12-09
conmand --版本:1.33
dnsmasq --版本:2.72