如何在 Ubuntu 20.04 LTS 上设置主机名
计算机的主机名是用于在网络中唯一标识计算机的名称。通常,计算机的主机名是完全限定域名 (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 地址的解析是否正常工作:
注意:此处,8.8.8.8 是 Google 公共 DNS 服务器的 IP 地址。如果需要,您可以将其更改为其他 DNS 服务器地址。
如您所见,DNS 名称解析适用于 cloud1.nodekite.com。
注意: DNS 名称解析在您将其添加到 DNS 服务器后可能无法立即运行。更改可能需要几分钟到几个小时(最多 24 小时)才能传播到所有公共 DNS 服务器。
同样,您可以检查 DNS 名称 cloud2.nodekite.com 到 IP 地址的解析是否正常。
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 文件:
现在,确保 preserve_hostname 设置为 false。然后,按
请注意,对于 Ubuntu Desktop 20.04 LTS,不需要此步骤。
设置主机名:
现在,您可以使用以下命令将 cloud1.nodekite.com 设置为计算机 A 的主机名:
现在,为了使更改生效,请使用以下命令重新启动计算机:
计算机启动后,运行以下命令来验证计算机 A 的主机名是否已更改。
如您所见,cloud1.nodekite.com 被设置为计算机 A 的主机名。
同样的方法,将cloud2.nodekite.com设置为计算机B的主机名。
现在,重新启动计算机以使更改生效。
计算机启动后,使用以下命令验证主机名是否已更改:
如您所见,cloud2.nodekite.com 被设置为计算机 B 的主机名。
检查主机之间的连接:
现在,检查计算机 A 是否可以使用主机名 cloud1.nodekite.com ping 自身,如下所示:
如您所见,计算机 A 可以使用主机名 cloud1.nodekite.com 对其自身进行 ping 操作。因此,计算机 A 的 DNS 解析工作正常。
现在,检查计算机 B 是否可以使用主机名 cloud2.nodekite.com ping 自身,如下所示:
计算机 B 还可以使用主机名 cloud2.nodekite.com 对自身进行 ping 操作。因此,计算机 B 的 DNS 解析也正常工作。
现在,检查计算机 A 是否可以使用计算机 B 的主机名 ping 计算机 B,如下所示:
如您所见,计算机 A 可以使用计算机 B 的主机名 ping 到计算机 B。
同样的方式,检查计算机 B 是否可以使用计算机 A 的主机名 ping 计算机 A,如下所示:
如您所见,计算机 B 可以使用计算机 A 的主机名 ping 到计算机 A。
因此,计算机 A 和计算机 B 可以分别使用主机名 cloud1.nodekite.com 和 cloud2.nodekite.com 相互通信。
这就是在 Ubuntu Server 20.04 LTS 中正确设置主机名的方法。感谢您阅读本文。