我的局域网主机名存储在哪里

我的局域网主机名存储在哪里

hostname当我在计算机上配置时,我可以像这样查找:

$ hostname
example

然后从同一 LAN 上的另一台计算机 ping 或 ssh:

$ ssh example
user@example's password:

我的另一台计算机在哪里查找此主机名的地址?前一台计算机是否以某种方式将其注册到路由器?第二台计算机是否只是询问 LAN 上的每个 IP 地址“您是吗example?”?

example即使我拔掉 ,第二台计算机似乎也知道 对应的 IP 地址example。该信息是否缓存在第二台计算机中?或者是否以hostnamectl某种方式向路由器注册了此主机名。

如果我现在将这些计算机插入另一个网络,它们还能通过这些主机名互相找到吗?

它是怎么运行的?

答案1

有几种方法:

  • 零配置网络使用 IP 多播协议(RFC 1112) 将 UDP 数据包发送到特殊地址,LAN 上的许多设备会将这些地址视为向它们发送的消息。因此,无需询问网络上的每个 IP 地址。它们还使用保留的 MAC 地址将数据包转发到交换机上的每个端口。

    • 多播 DNS (mDNS,RFC 6762

      • UDP 端口5353
      • IPv4 224.0.0.251/ MAC01:00:5E:00:00:FB
      • IPv6 ff02::fb/ MAC33:33:00:00:00:FB
    • 链路本地多播名称解析 (LLMNR,RFC 4795

      • UDP 端口5355
      • 网络地址224.0.0.252转换01:00:5E:00:00:FC
      • 网络地址ff02::1:3转换33-33-00-01-00-03
  • 动态主机配置协议(DHCP)可能涉及:

    • 连接特定的 DNS 后缀、DHCP 选项 15(RFC 2132,3.17) 为客户端提供了一个域名,该域名将作为后缀添加到这些非 FQDN 查询中。因此,您的DNS 查询example可能会example.example.com使用该域名。

    • 可以使用以下方式自动更新 DNSDHCP 客户端 FQDN 选项RFC 4702)。

  • NetBIOS。参见 Robert L Bogue 的例子:NetBIOS 名称解析的真正工作原理

  • 对等名称解析协议(PNRP)。这是一项 Microsoft 技术,需要 IPv6。

答案2

在客户端计算机上,运行“grep hosts /etc/nsswitch.conf”

这将告诉您系统将搜索主机名的位置和顺序。通常,您会看到类似以下内容:

主机:文件 DNS

这意味着它正在查看 /etc/hosts 文件,然后查询 dns。如果它改为说:

主机:dns 文件

然后它将查看 DNS,然后查看本地 /etc/hosts 文件。

此条目还有其他可能性,因此请查看并看看您能找到什么!

相关内容