![是什么原因导致公布的主机名中出现不同的大小写和诸如 .local 之类的附加内容?](https://linux22.com/image/1555390/%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E5%85%AC%E5%B8%83%E7%9A%84%E4%B8%BB%E6%9C%BA%E5%90%8D%E4%B8%AD%E5%87%BA%E7%8E%B0%E4%B8%8D%E5%90%8C%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%86%99%E5%92%8C%E8%AF%B8%E5%A6%82%20.local%20%E4%B9%8B%E7%B1%BB%E7%9A%84%E9%99%84%E5%8A%A0%E5%86%85%E5%AE%B9%EF%BC%9F.png)
我有两块运行 Linux (Raspbian) 的 Raspberry Pi 主板。它们完全相同,当我看到它们公布的主机名时,我感到很困惑:
第一个是kitchen.local
;第二个是BATHROOM
。
文件 /etc/hostname 分别是kitchen
这bathroom
两个设备的。
所以我的问题是,什么东西添加了.local
或者导致第二个设备的主机名全部大写?
我不确定这一切是如何运作的,也不确定以下情况是否重要:我正在使用 Angry IP Scanner 查询主机名。我的 DHCP 服务器是一台装有 OpenWRT 的路由器。DNS 服务器是我的调制解调器,我认为它充当了一种缓存。
答案1
您的扫描工具可能正在使用几种不同的发现/浏览协议来尝试查找已发现设备的名称,并且不同的协议有不同的约定。
NetBIOS 名称服务非常古老,传统上使用全大写的主机名。
IETF ZeroConf 支持大小写混合,并使用 .local 命名。(命名说明:ZeroConf 最初是 Apple Rendezvous/Bonjour,后来由 IETF 标准化。它使用的底层协议称为 mDNS(多播 DNS)和 DNS-SD(DNS 服务发现),因此有些人用这些名称来称呼它。最常见的 Linux 实现可能仍然是 Avahi,尽管 Apple 的开源 mDNSResponder 在某些发行版中使用,而 OpenWrt 创建了自己的 mDNS 守护程序)
微软专有的 LLMNR(链路本地多播名称解析)就像是 ZeroConf 的非标准半克隆,也使用 .local 命名,只是为了造成混淆。
也许您的扫描仪只是坚持使用通过最先响应的协议首先发现的名称。