我有一台家庭服务器(运行 Ubuntu,我将其命名为“lenovo”),它运行几个 HTTP 服务器。这些 HTTP 服务器可供我家庭 LAN 上的其他客户端访问。当使用家庭服务器的静态 IP 时,客户端始终可以访问它们。当使用 Ubuntu 计算机名称(添加了 .local)时,客户端也始终可以访问它们:“http://lenovo.local”。但是,当使用我通过 Unifi 控制台为其分配的本地 DNS 名称时,某些客户端并不总是可以访问服务器:我为 Ubuntu 机器分配了“lenovo.redacted.duckdns.org”的“本地 DNS 记录”。(我在网上找到建议不要使用“.local”,而是使用真实的 DNS 名称后,我这样做了)。我实际上使用“redacted.duckdns.org”指向我的公共 IP——但显然,我在这里使用“redacted”而不是我的实际 duckdns 预留。
问题:
尝试访问“http://lenovo.redacted.duckdns.org”时,curl
在命令行上使用时始终有效(并且nslookup
名称也始终按预期工作)。它也适用于 MacOS。但在 Windows 11 计算机上,当使用 Web 浏览器查看 URL 时,它经常会导致“ERR_CONNECTION_REFUSED”(或类似错误 - 确切的错误我不明白,因为问题现在没有发生)。请注意,该问题仅在使用 Chrome 或 Edge 等浏览器的 Windows 11 上出现。在同一台 Windows 11 机器上的命令行上,它始终有效(curl
和nslookup
)。在 Windows 上的浏览器中,它有时有效,有时无效(例如,反复重新加载会间歇性地工作然后不工作,时断时续)。IP 地址“http://192.168.1.200”和 Ubuntu 分配的“http://lenovo.local”也始终有效。只有 Unifi 分配的 DNS 名称会导致问题,并且仅在 Windows 11 浏览器(Edge 和 Chrome)中出现。发生了什么?
我检查了 Windows 网络,它说它正在使用 DNS 1.1.1.1 并且未加密。MacOS 也使用相同的 DNS 服务器。