可能是一个愚蠢的问题,但我正在我的家庭网络上设置 pihole。我确信以前曾被问过,但搜索没有产生任何相关结果,也许只是我问的方式。
我添加了一些 .local 地址映射,它们工作正常。
然后我觉得是实验性的,添加了一个media.moon
到本地 LAN 地址的映射,但输入该地址后我就转到了谷歌,向我展示了月球照片。
这是否意味着它不能工作?或者我需要调整什么配置吗?
可能是一个愚蠢的问题,但我正在我的家庭网络上设置 pihole。我确信以前曾被问过,但搜索没有产生任何相关结果,也许只是我问的方式。
我添加了一些 .local 地址映射,它们工作正常。
然后我觉得是实验性的,添加了一个media.moon
到本地 LAN 地址的映射,但输入该地址后我就转到了谷歌,向我展示了月球照片。
这是否意味着它不能工作?或者我需要调整什么配置吗?
从理论上讲,是的,只要您的 DNS 服务器响应某个名称,那么从您的计算机的角度来看,该名称就“存在”。(当然,只要您的计算机查询您的DNS 服务器。)
但在实践中,一些网络浏览器(尤其是 Chrome)喜欢对此挑剔,并且会在内部将域名与自己内部的“当前互联网上存在的 TLD 列表”进行比较。如果该名称使用的 TLD 不在列表中,Chrome 会假定它是一个搜索词 -除非您也输入
http://
,在这种情况下,它会不情愿地接受它作为 DNS 域。(在 Chrome 的搜索结果页面上方,您可能会显示“您想访问 http:///media.moon 吗?”栏。)
决定单个域(例如
.moon
)并通过 DHCP 分发它可能会有所帮助,以便操作系统自动为域添加后缀,而无需您这样做;如果我没记错的话,Chrome 会关注从 DHCP 收到的“域后缀”信息。就域名的选择而言,
.local
特别不推荐;实际上,它专门用于基于 mDNS(即无服务器)的主机名查找和服务发现,将其与常规 DNS 一起使用会干扰这一点。如果启用了 DNSSEC 验证,创建自定义域也不会 100% 有效 - 使用 ICANN 根密钥进行 DNSSEC 验证隐含假设 DNS 的 ICANN 视图是“真实”视图,因此如果计算机得到以下答案: “media.moon”,但也找到一条 DNSSEC 签名记录,表明 .moon 不存在(或者该特定子域不存在),这将导致查询失败。