在AWS EC2| OpenStack | DigitaloCean | Azure中更改Linux服务器主机名

时间:2020-02-23 14:40:27  来源:igfitidea点击:

如何在AWS EC2/OpenStack/DigitaloCean/Azure云平台中永久更改Linux Server HostName?
在AWS或者OpenStack云中创建实例时,基于所提供的名称和它运行的虚拟化环境生成主机名。
对于AWS,私有IP地址通常用作分配的主机名的一部分。

在本教程中,我们将看到如何更改实例或者VM主机名以持续重新启动。
请按照以下几个步骤更改或者设置AWS,OpenStack和DigitaloCean云环境中的实例/VM主机名。

第1步:在AWS EC2中更改Linux服务器主机名| OpenStack | DigitaloCean | Azure

我正在使用SystemD的系统中这样做,因此HostNamectl命令可以用于此目的。

这是我当前的主机名:

$hostnamectl 
   Static hostname: fed31.novalocal
         Icon name: computer-vm
           Chassis: vm
        Machine ID: d3ae97713a95466da1ef656ee2bb8456
           Boot ID: b8a8cfa70d78455b835269c88216c0a0
    Virtualization: kvm
  Operating System: Fedora 31 (Cloud Edition)
       CPE OS Name: cpe:/o:fedoraproject:fedora:31
            Kernel: Linux 5.3.7-301.fc31.x86_64
      Architecture: x86-64

我将从FED31更改主机名.Noverocal到FED31.theitroad.com

sudo hostnamectl set-hostname fed31.theitroad.com

让我们确认一个新的主机名。

$hostnamectl 
   Static hostname: fed31.theitroad.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: d3ae97713a95466da1ef656ee2bb8456
           Boot ID: b8a8cfa70d78455b835269c88216c0a0
    Virtualization: kvm
  Operating System: Fedora 31 (Cloud Edition)
       CPE OS Name: cpe:/o:fedoraproject:fedora:31
            Kernel: Linux 5.3.7-301.fc31.x86_64
      Architecture: x86-64
$cat /etc/hostname 
fed31.theitroad.com

第2步:修改Cloud-Init配置

如果重新启动服务器,则主机名将重置为Cloud-init配置的自动生成的名称。
Cloud-Init是跨平台云实例初始化的行业标准多分配方法。

打开/etc/cloud/cloud.cfg文件进行编辑。

sudo vim /etc/cloud/cloud.cfg

通过将其设置为true或者添加一个,如果不存在,请更新preserve_hostname行。

preserve_hostname: true

见下文

重新启动服务器以确认主机名是持久的。

sudo reboot

重新检查服务器主机名。

$uptime 
 06:57:02 up 0 min,  1 user,  load average: 0.13, 0.03, 0.01
$hostname
fed31.theitroad.com