因此,我曾经设置过一些 Win Servs,当有路由器将我的内部网络与外部网络分开时,我总是使用 .local。现在我第一次设置 *nix 盒,这个概念还适用吗?我是否仍希望我的 FQDN(/etc/hostname
)对我网络内的所有机器(混合:Linux 服务器、Win 工作站)显示 .local 或 .com。
这个问题是在 Active Directory 始终指导我完成每一步的情况下出现的,现在我正在手动设置 DNS 机器。
答案1
作为@Zoredache指出.local
命名空间没有官方地位(你能找到的最接近的是.localhost
,在RFC 2606因此,.local
永远不应使用,因为 ICANN 有一天可能会将该 TLD 分配给某人
。正确的事要做的就是注册一个您自己的域名,例如example.com
,并在其下(可能在下internal.example.com
)适当地分配主机名。
话虽如此,如果您想使用.local
或.lan
作为内部主机的顶级域名,您肯定不会孤军奋战,而且目前任何人试图篡夺.local
、.lan
或的可能性.private
都很低:它们被如此广泛地使用,以至于试图纠正数十年的不良行为不值得一战。
但请注意,此类机器和名称不应从公共互联网访问(或以任何方式暴露给公共互联网)。这是一种较轻的罪过,类似于通过您的公共接口发出 RFC-1918 网络地址,像我这样的人会在公共场合对你皱眉头,并在私下嘲笑您的网络信息泄露。
还请注意,*nix 机器实际上没有 Active Directory 意义上的“域”概念——最接近的类似概念是 NIS 域,它不像 AD 那样与 DNS 绑定。
裸 *nix 系统实际上只知道它自己的个人主机名,它不必是完全合格的域名(alice
与 一样有效alice.wonder.lan
),尽管按照惯例,许多管理员使用机器的完全合格 DNS 名称作为其主机名。
这让您可以避免使用“非官方”域名,例如.local
,但在我看来,它不如将有效、分配、完全合格的域名作为系统的主机名“正确”。
答案2
它还不是官方的,但考虑到它的普遍性,它也可能被使用:.local 用于链接本地名称解析多播域名解析:
本文档规定 DNS 顶级域“.local.”是具有特殊语义的特殊域,即任何以“.local.”结尾的完全限定名称都是链路本地的,并且此域中的名称仅在其来源的链路上有意义。这类似于 169.254/16 前缀中的 IPv4 地址或 FE80::/10 前缀中的 IPv6 地址,它们是链路本地的并且仅在其来源的链路上有意义。
您会发现运行 Avahi 的 Apple 产品和现代 Linux 发行版都将以这种方式使用 .local,且无需任何配置。在我自己的网络上,我利用了这一点,并停止维护本地 DNS 区域,因为我们几乎只使用 Linux 和 OS X—你好对于 Windows,请填写 Windows 机器的最后一个空白。
如果你需要实际维护 DNS 区域,我建议创建一个已注册域名的子域名(例如 lan.example.com)并使用水平分割 DNS在内部解析本地域。甚至在没有互联网草案可供引用的情况下,很难证明 Windows 继续推荐使用 .local 域是合理的。