我有两块运行 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 命名,只是为了造成混淆。
也许您的扫描仪只是坚持使用通过最先响应的协议首先发现的名称。