Linux 更改主机名设置方法

Eric 教程 203 次浏览 抢沙发

VPS 默认分配的主机名通常是太笼统或不便记忆。如果有多个 VPS,为方便平时管理,有必要更改下主机名。如果 VPS 面板没有提供更改选项,需要手动更改主机名。

主机名设置规范

规范主机名为 FQDN 格式,由主机别名 + 域名组成。主机别名允许使用字母、数字或连字符,最长 64 个字符。域名部分,如果没有自己注册域名,可以用 .localdomain 这种自定义域名。

例如下面的主机名示例(红色部分是主机别名,后面部分是域名)。

  • 没有自己域名:webserver.localdomain
  • 拥有自己域名:webserver.example.com

Linux 设置主机名(首选方法)

hostnamectl 介绍

在使用 systemd 的 Linux 系统里,有个 hostnamectl 工具,可以帮助我们方便地设置主机名。

先检查 hostnamectl 是否可用,运行下面命令会显示当前主机名状态。

hostnamectl status

如果提示找不到命令,则表明不能用 hostnamectl 设置主机名。需要修改文件设置(参考方法二)。

hostnamectl 可以设置三类主机名,分别是静态(Static)、动态(Transient)、易读(Pretty)。

  • 静态主机名:由用户设置的主机名,存储在 /etc/hostname 文件中;
  • 动态主机名:系统启动初始化主机名,可由 DHCP 或 mDNS 分配;
  • 易读主机名:由用户设置的展示主机名,允许使用特殊字符(UTF-8);

以下是查询各类型主机名命令:

# 查询静态主机名
hostnamectl status --static
# 查询动态主机名
hostnamectl status --transient
# 查询易读主机名
hostnamectl status --pretty

hostnamectl 设置主机名

设置主机名只需下面这句命令(它会同时设置三类主机名,即时生效。退出 SSH 重新登录查看)。

hostnamectl set-hostname webserver.localdomain

注:如果 VPS 商家有通过 DHCP 分配主机名,那么在系统启动时可能会更改主机名。要解決这个问题,避免使用 localhost 作为主机别名就行。

将主机名绑定本地 IP

编辑 /etc/hosts 文件,新加规则将主机名绑定到本地 IP(建议 FQDN 在前别名在后)。

127.0.0.1   webserver.localdomain webserver
::1         webserver.localdomain webserver

注:如果主机名使用的是自己域名,并设置了公共 DNS 解析,则可以不设置这步。

Linux 更改主机名(次选方法)

如果你用的老旧 Linux 发行版,需要通过修改配置文件设置主机名。

设置主机名

Debian & Ubuntu

编辑 /etc/hostname 文件,删除当前主机名输入新的保存。

RHEL & CentOS

编辑 /etc/sysconfig/network 文件,修改 HOSTNAME 参数值为新主机名保存。

绑定本地 IP

编辑 /etc/hosts 文件,新加规则将主机名绑定到本地 IP(建议 FQDN 在前别名在后)。

127.0.0.1   webserver.localdomain webserver
::1         webserver.localdomain webserver

注:如果主机名使用的自己域名,并设置了公共 DNS 解析,则可以不设置这步。

对于以修改文件方式设置主机名,需要 reboot 才能生效,用 hostname 命令检查确认。

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。