我正在尝试使我的家庭网络设置合理,我注意到我混合了带有 .local 和 .localdomain 的 TLD(后者是我的 Ubiquiti 安全网关的默认设置)。我知道 .local 是 mDNS 的 TLD,但我没有在网上找到结果来说明我是否应该忽略它并将我的 DNS 的 TLD 设置为不同的东西,或者是否也可以将其设置为 .local,或者这是否可以解决所有问题。
这个问题的逻辑延伸是,什么是我的家庭顶级域名的好设置?我看到最近有一个 RFC 说当前的最佳实践是 home.arpa。看起来务实的答案是,我可以选择任何我喜欢的东西,但有一天它可能会与官方的东西发生冲突,然后我就会遇到问题。
笔记:
- 我的家庭网络是混合客户端:Mac 笔记本电脑和其他 Apple 产品,如 iPhone/iPad 和 Apple TV、Windows 客户端、物联网设备等。
- 我没有使用可选的 dnsmasq 作为 USG 上的 DHCP 服务器。(任何人都知道这是否是首选?我找不到关于我为什么选择它而不是默认的文档。)
(我是一名软件工程师,但不是网络工程师。假设我知道的足够危险。:-))
我想说只有两个可接受的选项:1)
.home.arpa
或另一个明确保留的域;2)您自己的域名在DNS或其子域中注册。其他任何事情都是不好的做法。假冒 TLD 总有一天会被添加到真正的 IANA TLD 列表中。假的二级域名也有可能有一天变成真正的域名。
这最近发生在
.dev
,这显然在本地网站开发中很受欢迎。“未使用”的 IP 地址也有可能有一天会被实际使用,就像 1.1.1.1 一样(通常是一个常见的占位符地址,但现在是一个真实的 Internet 地址)。
确保不会发生这种情况的唯一方法是使用您个人注册的域(购买一个),或使用保留用于“私人”使用的域(例如 home.arpa)。
某些域在代码中具有特殊处理:
一些解析器总是使用 mDNS 作为名称
.local
,从不使用常规单播 DNS 查询它。有一种检测单播 .local 使用的机制,但并非所有解析器都实现它。解析器被禁止对 TLD下的名称使用任何形式的 DNS
.onion
,使其纯粹是 Tor 的领土。许多解析器通过始终使用相同的 127.0.0.1 和 [::1] 地址进行响应来缩短查询
localhost.
(如果不这样做,这是一个安全问题)。不过,这通常不适用于子域.localhost
。某些域在 Web 浏览器中具有特殊处理:
.dev
变成 TLD的相同内容也被添加到 Web 浏览器的“HSTS 预加载”列表中,结果浏览器开始要求HTTPS 以及该 TLD 下任何域的公认证书。DNSSEC 验证解析器仅允许您覆盖父区域具有现有“不安全”委托而没有 DS 记录的后缀:
有 NS和DS 记录
dev.
,因此验证解析器将要求其子域的任何响应都具有正确的 RRSIG,并且不会接受您的“虚假”响应。处既没有 NS 也没有 DS 记录
home.
,验证解析器会将其识别为“经过身份验证的拒绝存在”,并且不会接受对下面子域的任何响应。只有 NS 记录
home.arpa.
但没有 DS 记录,因此您的家庭 DNS 服务器可以自由地为其子域生成“假”响应。