如何在 Ubuntu 20.04 LTS 上设置主机名如何在 Ubuntu 20.04 LTS 上设置主机名如何在 Ubuntu 20.04 LTS 上设置主机名如何在 Ubuntu 20.04 LTS 上设置主机名
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 20.04 LTS 上设置主机名

发表 admin at 2025年2月28日
类别
  • 未分类
标签
コアサーバーV2プランご契約でドメイン更新費用が永久無料

计算机的主机名是用于在网络中唯一标识计算机的名称。通常,计算机的主机名是完全限定域名 (FQDN)。 FQDN 的 IP 地址与设置主机名的计算机的 IP 地址相同。因此,可以使用计算机的 IP 地址和 FQDN 来寻址计算机。

FQDN 实际上是您的域的子域。子域/FQDN 必须在您的域名 (DNS) 服务器中具有 A 记录(对于 IPv4)或 AAAA 记录(对于 IPv6)。我们将在本文的后面部分详细讨论这一点。

现在事情可能看起来很复杂。但举个例子会让事情变得更清楚。

例子 :

假设您有一个域名 nodekite.com,网络上有 2 台计算机:计算机 A 和计算机 B。计算机 A 的 IP 地址为 192.168.20.141,计算机 B 的 IP 地址为 192.168.20.142。现在,假设您想将计算机 A 命名为 cloud1,将计算机 B 命名为 cloud2。

在这种情况下,计算机 A 的 FQDN 主机名将为 cloud1.nodekite.com,计算机 B 将为 cloud2.nodekite.com。

您的 DNS 服务器还将具有 cloud1.nodekite.com 和 cloud2.nodekite.com 的 A 记录。这样 cloud1.nodekite.com 将解析为计算机 A 的 IP 地址 192.168.20.141,cloud2.nodekite.com 将解析为计算机 B 的 IP 地址192.168.20.142。现在,您可以使用 FQDN 而不是 IP 地址在计算机 A 和 B 之间进行通信。

我所说的一切都在下图中进行了说明,可以帮助您轻松理解这个概念。

图1:FQDN主机名的工作原理

现在理论已经够多了。让我们开始实际的实现吧。

设置静态 IP 地址:

您应该在要设置 FQDN 主机名的 Ubuntu 20.04 LTS 计算机上设置静态 IP 地址。如果您需要有关在 Ubuntu 20.04 计算机上设置静态 IP 地址的任何帮助,请查看我在 LinuxHint.com 上的文章在 Ubuntu 20.04 LTS 上设置静态 IP 地址。

我在计算机 A 上设置了静态 IP 地址 192.168.20.141。

以及计算机 B 上的静态 IP 地址 192.168.20.142。

将 DNS 条目添加到 DNS 服务器:

您必须为 DNS 服务器中的 FQDN 添加所需的 A 记录(对于 IPv4)或 AAAA 记录(对于 IPv6)。

我已在我的 DNS 服务器中添加了 cloud1.nodekite.com 和 cloud2.nodekite.com 的 A 记录,如下面的屏幕截图所示。

现在,您可以使用以下命令检查 DNS 名称 cloud1.nodekite.com 到 IP 地址的解析是否正常工作:

$ nslookup cloud1.nodekite.com 8.8.8.8

注意:此处,8.8.8.8 是 Google 公共 DNS 服务器的 IP 地址。如果需要,您可以将其更改为其他 DNS 服务器地址。

如您所见,DNS 名称解析适用于 cloud1.nodekite.com。

注意: DNS 名称解析在您将其添加到 DNS 服务器后可能无法立即运行。更改可能需要几分钟到几个小时(最多 24 小时)才能传播到所有公共 DNS 服务器。

同样,您可以检查 DNS 名称 cloud2.nodekite.com 到 IP 地址的解析是否正常。

$ nslookup cloud2.nodekite.com 8.8.8.8

DNS 名称解析也适用于 cloud2.nodekite.com。

允许在 Ubuntu Server 20.04 LTS 中更改主机名:

如果您使用的是 Ubuntu Server 20.04 LTS,请确保在 /etc/cloud/cloud.cfg 文件中将 preserve_hostname 设置为 false 。否则,主机名更改在重新启动后将不会保留。

首先,使用以下命令打开 /etc/cloud/cloud.cfg 文件:

$ sudo nano /etc/cloud/cloud.cfg

现在,确保 preserve_hostname 设置为 false。然后,按 + X,然后按 Y 和 保存文件。

请注意,对于 Ubuntu Desktop 20.04 LTS,不需要此步骤。

设置主机名:

现在,您可以使用以下命令将 cloud1.nodekite.com 设置为计算机 A 的主机名:

$ sudo hostnamectl set-hostname cloud1.nodekite.com

现在,为了使更改生效,请使用以下命令重新启动计算机:

$ sudo reboot

计算机启动后,运行以下命令来验证计算机 A 的主机名是否已更改。

$ hostname

如您所见,cloud1.nodekite.com 被设置为计算机 A 的主机名。

同样的方法,将cloud2.nodekite.com设置为计算机B的主机名。

$ sudo hostnamectl set-hostname cloud2.nodekite.com

现在,重新启动计算机以使更改生效。

$ sudo reboot

计算机启动后,使用以下命令验证主机名是否已更改:

$ hostname

如您所见,cloud2.nodekite.com 被设置为计算机 B 的主机名。

检查主机之间的连接:

现在,检查计算机 A 是否可以使用主机名 cloud1.nodekite.com ping 自身,如下所示:

$ ping -c 5 $(hostname)

如您所见,计算机 A 可以使用主机名 cloud1.nodekite.com 对其自身进行 ping 操作。因此,计算机 A 的 DNS 解析工作正常。

现在,检查计算机 B 是否可以使用主机名 cloud2.nodekite.com ping 自身,如下所示:

$ ping -c 5 $(hostname)

计算机 B 还可以使用主机名 cloud2.nodekite.com 对自身进行 ping 操作。因此,计算机 B 的 DNS 解析也正常工作。

现在,检查计算机 A 是否可以使用计算机 B 的主机名 ping 计算机 B,如下所示:

$ ping -c 3 cloud2.nodekite.com

如您所见,计算机 A 可以使用计算机 B 的主机名 ping 到计算机 B。

同样的方式,检查计算机 B 是否可以使用计算机 A 的主机名 ping 计算机 A,如下所示:

$ ping -c 3 cloud1.nodekite.com

如您所见,计算机 B 可以使用计算机 A 的主机名 ping 到计算机 A。

因此,计算机 A 和计算机 B 可以分别使用主机名 cloud1.nodekite.com 和 cloud2.nodekite.com 相互通信。

这就是在 Ubuntu Server 20.04 LTS 中正确设置主机名的方法。感谢您阅读本文。

©2015-2025 Norria support@alaica.com