在 LAN 中通过名称访问设备

在 LAN 中通过名称访问设备

我有几个设备(包括台式机、笔记本电脑、智能手机等)连接到我的 wifi 路由器。它们每次根据连接的顺序有不同的 IP 地址,因此配置/etc/hosts可能不起作用。

我如何才能轻松访问其中任何一个?主机名似乎不错,但是当我ping archlinux(我的台式机的主机名是archlinux)在我的笔记本电脑上时,它不知道那个是谁(ping: cannot resolve archlinux: Unknown host)。

什么是最简单且独立于平台的解决方案?

答案1

由于您使用路由器,因此您会为每个经常使用的设备指定一个静态 IP 地址。例如您的服务器:192.168.0.1(此配置是在路由器上进行的)。

这将是第一步。现在可以使用 IP 地址(将一直保持不变)访问每个设备。

从这里你有两种可能性。

  1. 去中心化 -> 使用本地文件进行特定名称解析,在本地文件中描述哪个 IP 属于主机名。
    查看这里

  2. 开始时需要做更多工作,更复杂,但更具可扩展性和集中性(您只需为整个网络维护 1 个服务器。使用此方法时,您将不会使用本地文件解析本地主机上的名称。您将要求服务“DNS“用于名称所属的 IP。这比使用本地文件的工作量大得多,如果您必须管理大量主机,我只能推荐这样做。
    但也许您的路由器已经有此功能。在这种情况下,请在 youtube 上搜索“如何使用路由器示例设置 DNS”。<(我为我的私人家庭网络做了这个,它工作得很好,而且只花了一点时间。

答案2

您需要在其中一台机器上设置本地 DNS 服务器并配置所有机器以使用该 DNS 服务器,或者编辑每台机器的 hosts 文件以包含所有机器的名称。

您可以在Windows和Linux系统上编辑hosts文件,但我不确定智能手机是否可以。

答案3

另一个解决方案是将您的 dhcp 服务器配置为始终为设备分配相同的 IP 或更可能是相同的 mac 地址。

答案4

您可以使用主机文件将主机名解析为 IP。但要使用此功能,您需要为网络上的设备分配固定 IP 地址。例如,要将 archlinux 解析为其 IP,请在主机文件中添加以下条目。

192.168.1.x archlinux

使用上述语句中的 archlinux 的 ip 地址代替 192.168.1.x。Linux 中的 hosts 文件位于/etc/hosts,Windows 中的 hosts 文件位于C:\windows\system32\drivers\etc\hosts。将 hosts 文件附加到其余设备上。

相关内容