今天我不得不删除并重新安装我的 AdGuard-home 容器。我真笨……我在查看完整容器配置之前就删除了它,所以我不知道之前它运行正常时我到底是怎么设置的。我确实备份了 AdGuard 配置,所以我能够恢复它。
我已删除容器、修剪 docker 并在 docker 容器中重新安装 AdGuard-home。我期望它能像以前一样工作,但不幸的是,现在我的其他 docker 容器无法解析 dns 请求。它在其他设备上工作正常,但在同一 NAS 上的 docker 容器上却不行。我确实看到 AdGuard 正在处理请求,但任何其他容器中的应用程序似乎在 dns 上超时。
我让路由器为所有客户端提供我的 NAS 的 IP 地址作为 DNS 服务器。这也意味着我的 NAS 会获得自己的 IP 地址作为 DNS 服务器,如果我从 SSH 和网络上的设备 ping 一个 URL,这似乎可以正常工作。但是,当我从 docker 容器内 ping 地址时,它不会解析(ping:坏地址错误)。使用 nslookup 会超时(';; 与 192.168.1.104#53 的通信错误:超时,其中 192.168.1.104 是我的 NAS 的 IP,因此应该是 DNS 服务器的正确 IP)
修复此问题的唯一方法似乎是手动覆盖 Synology 中的 DHCP DNS,以使用路由器作为 DNS 而不是 AdGuard。但这违背了使用 AdGuard 作为 DNS 的目的。
有人知道如何解决吗?我现在已经尝试了很多方法,无法一一列举,但很高兴参与一些故障排除。