如何将 localhost 的名称更改为可供 LAN 中其他用户使用的自定义名称

如何将 localhost 的名称更改为可供 LAN 中其他用户使用的自定义名称

我需要使用可从 LAN 中的所有设备访问的自定义 URL 名称。

我知道可以在/etc/hosts文件中设置

127.0.0.1   myname
127.0.1.1   system09-System-Product-Name

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

输入myname主机时,可以访问 myname/urlpath 。它仅适用于我的系统。我怎样才能使这个系统在我的局域网中也可用?

答案1

顾名思义,本地主机只能从本地系统访问。

如果您需要其他用户访问您的自定义 URL,您需要将您的系统 IP 地址与所使用的名称进行映射,然后通过编辑其 /etc/hosts 文件在所有 LAN 工作站上添加此条目,例如:

127.0.0.1         <custom_name> # this is for localhost
<your_ip_address> <custom_name> # this is to be added to other workstations in the LAN

其他解决方案是使用本地 LAN 中的 DNS 服务器并为您的自定义名称创建 A 记录,该记录将允许 LAN 中的其他用户访问您的链接。

答案2

该名称localhost仅供本地访问。
另一方面,您不应该localhost从其中删除/etc/hosts任何一个。如果您尝试这样做,您会发现很多问题。

从此时起,您有 3 个选择。

  1. /etc/hosts在所有相邻PC的文件中创建一个条目
  2. 在网络上设置 DNS 服务器并向其添加条目。大多数家庭路由器都有内置的 DNS 服务器/代理,其中许多允许添加自定义条目。
  3. 使用 mDNS。 mDNS 是零配置网络。它允许计算机自动解析本地网络上的其他主机,而无需为这些主机手动配置 DNS 服务器。它通过发送广播请求并等待响应来实现这一点。
    设置它的确切过程因操作系统而异,但 Arch Linux 有一个很好的指导
     
    一旦您运行它,您所要做的就是将相邻主机称为foo.local(对于名为 的主机foo)。
     
    该解决方案是跨平台的,因为它在 OS-X 和 Windows 上都受支持(我认为两者都默认启用)。

相关内容