0
点赞
收藏
分享

微信扫一扫

28 openEuler管理网络-配置主机名

28 openEuler管理网络-配置主机名

28.1 简介

hostname有三种类型:static、transient和pretty。

  • static:静态主机名,可由用户自行设置,并保存在/etc/hostname 文件中。
  • transient:动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost”。可由DHCP或mDNS在运行时更改。
  • pretty:灵活主机名,允许使用自由形式(包括特殊/空白字符)进行设置。静态/动态主机名遵从域名的通用限制。

image-20221219190513462 说明: static和transient主机名只能包含a-z、A-Z、0-9、“-”、“_”和“.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。

28.2 使用hostnamectl配置主机名

28.2.1 查看所有主机名

查看当前的主机名,使用如下命令:

$ hostnamectl status

image-20221219190513462 说明: 如果命令未指定任何选项,则默认使用status选项。

例如示例命令如下:

[superman@superman-21 ~]$ hostnamectl status
 Static hostname: superman-21
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 759fea68a4e24eca941fe49deb33625f
         Boot ID: e1c64b8866c44ee1b454be48444874ee
  Virtualization: vmware
Operating System: openEuler 22.03 LTS
          Kernel: Linux 5.10.0-60.18.0.50.oe2203.x86_64
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform
[superman@superman-21 ~]$ 

28.2.2 设定所有主机名

在root权限下,设定系统中的所有主机名,使用如下命令:

# hostnamectl set-hostname name

例如示例命令如下:

[root@superman-21 ~]# hostnamectl set-hostname superman-22
[root@superman-21 ~]# 
[root@superman-21 ~]# hostnamectl status
 Static hostname: superman-22
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 759fea68a4e24eca941fe49deb33625f
         Boot ID: e1c64b8866c44ee1b454be48444874ee
  Virtualization: vmware
Operating System: openEuler 22.03 LTS
          Kernel: Linux 5.10.0-60.18.0.50.oe2203.x86_64
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform
[root@superman-21 ~]# 

28.2.3 设定特定主机名

在root权限下,通过不同的参数来设定特定主机名,使用如下命令:

# hostnamectl set-hostname name [option...]

其中option可以是--pretty、--static、--transient中的一个或多个选项。

如果--static或--transient与--pretty选项一同使用时,则会将static和transient主机名简化为pretty主机名格式,使用“-”替换空格,并删除特殊字符。

当设定pretty主机名时,如果主机名中包含空格或单引号,需要使用引号。命令示例如下:

[root@superman-21 ~]# hostnamectl set-hostname "Superman's compute" --pretty
[root@superman-21 ~]# 
[root@superman-21 ~]# hostnamectl status
 Static hostname: superman-22
 Pretty hostname: Superman's compute
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 759fea68a4e24eca941fe49deb33625f
         Boot ID: e1c64b8866c44ee1b454be48444874ee
  Virtualization: vmware
Operating System: openEuler 22.03 LTS
          Kernel: Linux 5.10.0-60.18.0.50.oe2203.x86_64
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform
[root@superman-21 ~]# 

28.2.4 清除特定主机名

要清除特定主机名,并将其还原为默认形式,在root权限下,使用如下命令:

# hostnamectl set-hostname  [option...]

其中 是空白字符串,option是--pretty、--static和--transient中的一个或多个选项。

例如示例命令如下:

[root@superman-21 ~]# hostnamectl set-hostname ''
[root@superman-21 ~]# 
[root@superman-21 ~]# hostnamectl status         
   Static hostname: n/a                                  
Transient hostname: localhost
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 759fea68a4e24eca941fe49deb33625f
           Boot ID: e1c64b8866c44ee1b454be48444874ee
    Virtualization: vmware
  Operating System: openEuler 22.03 LTS
            Kernel: Linux 5.10.0-60.18.0.50.oe2203.x86_64
      Architecture: x86-64
   Hardware Vendor: VMware, Inc.
    Hardware Model: VMware Virtual Platform
[root@superman-21 ~]# 

28.2.5 远程更改主机名

在远程系统中运行hostnamectl命令时,要使用-H,--host 选项,在root权限下使用如下命令:

# hostnamectl set-hostname -H [username]@hostname new_hostname

其中hostname是要配置的远程主机,username为自选项,new_hostname为新主机名。hostnamectl会通过SSH连接到远程系统。

例如示例命令如下:

[root@superman-21 ~]# hostnamectl set-hostname -H root@192.168.0.22 superman-22
The authenticity of host '192.168.0.22 (192.168.0.22)' can't be established.
ED25519 key fingerprint is SHA256:1g4JR7igfNIp0ZoCsl/Cv6zuO6gkMEBn2CWT7IQQPj4.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.22' (ED25519) to the list of known hosts.

Authorized users only. All activities may be monitored and reported.
root@192.168.0.22's password: 
[root@superman-21 ~]# 

28.3 使用nmcli配置主机名

查询static主机名,使用如下命令:

$ nmcli general hostname

在root权限下,将static主机名设定为superman-vm01,使用如下命令:

[root@superman-21 ~]# nmcli general hostname superman-vm01
[root@superman-21 ~]# 
[root@superman-21 ~]# hostnamectl status
 Static hostname: superman-vm01
       Icon name: computer-vm
         Chassis: vm
      Machine ID: 759fea68a4e24eca941fe49deb33625f
         Boot ID: e1c64b8866c44ee1b454be48444874ee
  Virtualization: vmware
Operating System: openEuler 22.03 LTS
          Kernel: Linux 5.10.0-60.18.0.50.oe2203.x86_64
    Architecture: x86-64
 Hardware Vendor: VMware, Inc.
  Hardware Model: VMware Virtual Platform
[root@superman-21 ~]# 

要让系统hostnamectl感知到static主机名的更改,在root权限下,重启hostnamed服务,使用如下命令:

[root@superman-21 ~]# systemctl restart systemd-hostnamed
[root@superman-21 ~]# 

image-20230226184635297

举报

相关推荐

0 条评论