Linux系统的主机名是系统的重要组成部分。您不仅可以使用它来识别自己的系统,还可以使用它来识别软件,软件通常需要正确设置主机名才能清晰识别。在功能上,主机名将为您的 IP 地址显示一个名称。主机名是赋予主机的域名。您可以设置不同的主机名,但要获得完全限定,我们应该为每个主机只设置一个主机名。
例如,如果只有一个服务器用于小型静态网页,则可以使用类似 的服务器。foo.bar
但是,建议的方法是选择一个可以代表服务器的名称,例如:
mail对于邮件服务器web对于 Web 服务器
先决条件
- 要使主机名完全限定,您需要将计算机的 rDNS 条目设置为所需的 FQHN(完全限定主机名)。您可以在服务器的 Web 控制台中执行此操作。
- 要使您的主机名完全限定,您需要在 DNS 区域中为主机名创建“A”记录。因此,在我们的示例中,对于我们域的第一个小服务器,我们创建了一个“A”记录,其中包含我们机器的值和 IP 地址。12-48 小时后,DNS 更改应在全球范围内传播。
foo.barsrv1.foo.bar - 要检查和更改服务器上的主机名,请确保您已使用 sudo 用户登录到服务器。
- 本指南基于一个全新安装的 Debian 12 服务器。
示例术语
在我们的示例中(一个用于不同事物的小服务器),我们使用,以便以后 – 如果我们需要更多的服务器 – 只需命名下一个。srv1.foo.barsrv2.foo.bar
第 1 步 – 检查主机名
要检查实际的主机名,有三种不同的方法。
- 第一:
sudo cat /etc/hosts - 第二:
sudo hostname - 第三:
sudo hostname -f
最后一个选项将显示完全限定的主机名。
第 2 步 – 更改主机名
有多种方法可以更改主机名。
通过命令更改主机名
最简单的方法是此选项:
替换为服务器的完全限定主机名。
servername.fqdn.tld
sudo hostnamectl set-hostname servername.fqdn.tld
然后,重新启动 SSH 服务并设置新的主机名:
sudo systemctl restart ssh
手动更改主机名
您也可以手动更改主机名。只需打开一些文件并更改/检查主机名:
- 主机名
/etc/hostname在此文件中,应仅显示服务器的名称。在我们的例子中是“servername”。如果没有或您想手动执行此操作,只需将其更改为所需的名称即可。
sudo nano /etc/hostname - 邮件名称
/etc/mailnamesudo nano /etc/mailname - 主机名
/etc/hostsnano /etc/hosts它应如下所示:
127.0.1.1 servername.fqdn.tld servername 127.0.0.1 localhost ::1 ip6-localhost ip6-loopback servername.fqdn.tld servername fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts在这里,您可以看到主机名的设置位置,然后将其更改为您想要的主机名。
保存更改后,重新启动 SSH 服务:
sudo systemctl restart ssh
结论
您已成功检查并更改了服务器的主机名。