Cómo cambiar el nombre de host en Ubuntu
Un nombre de host es una etiqueta legible por humanos asignada a un dispositivo y utilizada para identificar el dispositivo en una red. El nombre de host se establece durante la instalación del sistema operativo o se asigna dinámicamente a la máquina virtual cuando se crea.
Cada máquina en una red debe tener un nombre de host único. Tener dos o más máquinas con el mismo nombre de host en la misma red puede causar problemas.
Sólo los usuarios root o con privilegios sudo pueden cambiar el nombre de host del sistema. En Ubuntu, puede editar el nombre de host del sistema y las configuraciones relacionadas usando la GUI o el comando hostnamectl
Este artículo explica cómo configurar o cambiar el nombre de host en Ubuntu 22.04 sin necesidad de reiniciar el sistema, utilizando la línea de comandos o la GUI.
Mostrar el nombre de host actual
Para ver el nombre de host actual, invoque el comando hostnamectl sin ningún argumento:
hostnamectl
En este ejemplo, el nombre de host actual está configurado en ubuntu2004. localdomain.
Cambiar el nombre de host del sistema con hostnamectl
El comando hostnamectl reconoce tres clases diferentes de nombres de host:
static– El nombre de host tradicional. Se almacena en el archivo /etc/hostname y puede ser configurado por el usuario.
pretty– Un nombre de host UTF8 descriptivo de formato libre utilizado para la presentación al usuario. Por ejemplo, extassis laptop.
transient– Un nombre de host dinámico mantenido por el kernel. Los servidores DHCP o mDNS pueden cambiar el nombre de host transitorio en tiempo de ejecución. De forma predeterminada, es el mismo que el nombre static de host.
Generalmente, se recomienda utilizar un nombre de dominio completo (FQDN), como host.example.com, tanto para los nombres static como transient.
Cambiar el nombre de host del sistema es un proceso simple. La sintaxis del comando hostnamectl es la siguiente:
sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient
Por ejemplo, para cambiar el nombre de host estático del sistema a host.extassisnetwork.com, usaría el siguiente comando:
sudo hostnamectl set-hostname host.extassisnetwork.com
Opcionalmente, también puedes establecer pretty nombre de host:
sudo hostnamectl set-hostname "extassis laptop" --pretty
hostnamectl no produce salida. En caso de éxito, se devuelve 0; de lo contrario, un código de falla distinto de cero.
El nombre de host estático se almacena en /etc/hostnamey el pretty nombre de host se almacena en un archivo. /etc/machine-info
Para verificar que se haya cambiado el nombre de host, ingrese el comando hostnamectl:
sudo hostnamectl
Su nuevo nombre de host se imprimirá en la terminal:
Static hostname: host.extassisnetwork.com
Pretty hostname: extassis laptop
Icon name: computer-vm
Chassis: vm
Machine ID: 1234567890abcdef1234567890abcdef
Boot ID: 0123456789abcdef0123456789abcdef
Virtualization: kvm
Operating System: Ubuntu 20.04.1 LTS
Kernel: Linux 5.4.0-58-generic
Architecture: x86-64
Cambiar el nombre de host en la GUI
Si está ejecutando Ubuntu Desktop, puede usar la configuración de GNOME para cambiar el nombre de host de su máquina.
Abra el menú del sistema en la esquina superior derecha y haga clic en «Configuración«
En la ventana «Configuración«, vaya a la pestaña «Acerca de» y haga clic en «Nombre del dispositivo«. Ingrese el nuevo nombre de host de su sistema en la nueva ventana de diálogo y presione el botón «Cambiar nombre«.
Esto cambiará tanto los nombres estáticos como los pretty.
El archivo /etc/hosts
Si el nombre de host de su sistema no tiene un nombre DNS público, deberá asignar el nombre de host a la dirección IP local.
El archivo /etc/hosts se utiliza para asignar direcciones IP a nombres de host. Esta asignación la utilizan las aplicaciones de red que se ejecutan en la instancia.
Abra el archivo y cambie el nombre de host anterior por el nuevo:
127.0.0.1 localhost
127.0.0.1 host.extassisnetwork.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Servidor en la nube Ubuntu
Si ejecuta Ubuntu en una instancia de la nube y el paquete cloud-init está instalado, el nombre de host modificado se restaurará después de reiniciar el sistema. Este paquete generalmente se instala de forma predeterminada en las imágenes proporcionadas por los proveedores de la nube y se utiliza para manejar la inicialización de las instancias de la nube.
Para que el cambio sea permanente, edite el archivo /etc/cloud/cloud.cfg
Busque preserve_hostname y cambie el valor de false a true:
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
Guarde el archivo y cierre su editor.
Si el archivo no existe en su sistema, significa que el paquete cloud-init no está instalado y no necesita realizar más cambios.
Conclusión
Le mostramos cómo cambiar fácilmente el nombre de host en una instalación de Ubuntu 22.04 sin reiniciar la máquina.
Hay varias razones por las que es posible que deba cambiar el nombre de host. El más común es cuando el nombre de host se establece automáticamente al crear la instancia.