Cómo configurar el hostname y FQDN del servidor
Nivel: Principiante
Tiempo estimado: ~15 minutos
Objetivo: Configurar un nombre de host persistente en el servidor y establecer un nombre de dominio completo (FQDN) para una correcta identificación del sistema y resolución DNS local.
Introducción
Un nombre de host (hostname) es la etiqueta asignada a un dispositivo en una red, mientras que un nombre de dominio completo (FQDN, Fully Qualified Domain Name) incluye tanto el nombre de host como el dominio al que pertenece (p. ej., web-server-01.example.com). Configurarlos correctamente es fundamental para servicios como los servidores de correo (Postfix, Exim), la coordinación de red interna y la identificación de sus servidores en el prompt de la terminal dentro de una flota grande.
En este tutorial definirá un nombre de host persistente con las herramientas de systemd y establecerá una asignación local del FQDN.
Nota sobre los tipos de FQDN:
- FQDN público: se define en el DNS público (p. ej., Cloudflare, Route53). Así es como el resto del mundo encuentra su servidor.
- FQDN local: el nombre con el que el servidor se identifica y se resuelve a sí mismo internamente. Idealmente ambos deberían coincidir, pero es la configuración local la que garantiza la estabilidad del sistema.
Requisitos previos
Antes de empezar, asegúrese de contar con:
- Sistema operativo: Ubuntu 20.04/22.04/24.04 LTS, Debian 11/12 o RHEL/CentOS/AlmaLinux 8/9.
- Acceso: un usuario con privilegios de
sudo. - Conocimientos necesarios: manejo básico de la terminal de Linux y de editores de texto (como
nanoovim).
Paso 1: Verificar la configuración actual
Primero, compruebe qué nombre cree tener actualmente su servidor.
Ejecute el comando de estado:
hostnamectl status
Salida esperada (o similar):
Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: abc123def456 Boot ID: 123abc456def Virtualization: kvm Operating System: Ubuntu 24.04 LTS Kernel: Linux 6.8.0-31-generic Architecture: x86-64
A continuación, compruebe si el FQDN se resuelve correctamente:
hostname -f
Si el sistema devuelve una línea vacía, exactamente localhost o un error que indica que no se puede resolver el host, el FQDN no está configurado correctamente.
Paso 2: Establecer el nuevo nombre de host (configuración del hostname en un servidor Linux)
En la mayoría de las distribuciones, hostnamectl es la forma correcta de establecer el nombre de host en instancias de servidor y mantener el cambio de forma persistente. Esta parte de la guía cubre la configuración práctica del hostname en Linux para despliegues habituales, incluido el procedimiento más común en Ubuntu y Debian sin editar /etc/hostname manualmente.
Ejecute el siguiente comando, sustituyendo <YOUR_HOSTNAME> por el nombre corto deseado (p. ej., web-01):
sudo hostnamectl set-hostname <YOUR_HOSTNAME>
Aunque Linux técnicamente permite puntos en el nombre de host, se recomienda usar únicamente letras minúsculas, dígitos y guiones. Usar puntos en el nombre corto (p. ej., web.01) puede generar confusión con el FQDN y por lo general se evita.
Este comando actualiza el sistema de inmediato. Es posible que el prompt de su terminal actual (normalmente user@old-hostname:~$) no cambie al instante. Cierre la sesión y vuelva a iniciarla, o abra una nueva sesión de bash escribiendo bash, para que el prompt refleje el nuevo nombre.
Paso 3: Actualizar /etc/hosts para la resolución del FQDN
Este paso vincula el nombre de host local con un FQDN y un dominio para que la resolución de nombres funcione de forma predecible. En la práctica, es la parte de la configuración del nombre de host del servidor que define la identidad de red local de la máquina y completa la configuración de identidad de red en Linux que utilizan muchos servicios.
Asociar su FQDN a la dirección loopback 127.0.1.1 es el patrón más seguro para producción (especialmente en Debian/Ubuntu). Así se garantiza que el nombre se resuelva aunque la red esté caída o su IP pública cambie.
Abra el archivo hosts:
sudo nano /etc/hosts
Verá un contenido similar a este:
127.0.0.1 localhost 127.0.1.1 old-hostname
No elimine la línea 127.0.0.1 localhost. En su lugar, modifique la línea 127.0.1.1 (o añádala) para que incluya su FQDN seguido del nombre corto.
Actualice el archivo con este patrón:
127.0.0.1 localhost 127.0.1.1 <YOUR_FQDN> <YOUR_HOSTNAME>
Ejemplo si su FQDN es web-01.example.com y el nombre de host es web-01:
127.0.0.1 localhost 127.0.1.1 web-01.example.com web-01
Evite usar IP públicas en /etc/hosts salvo que sea estrictamente necesario. Si la dirección IP cambia (algo habitual en entornos cloud) y olvida actualizar este archivo, la resolución del nombre dejará de funcionar.
Guarde el archivo y salga del editor (en nano, pulse Ctrl+O, Enter y después Ctrl+X).
Paso 4: Verificar los cambios
Ahora compruebe que el sistema registra correctamente el FQDN.
Compruebe el FQDN activo:
hostname -f
Salida esperada:
web-01.example.com
Compruebe el nombre de host corto activo:
hostname -s
Salida esperada:
web-01
Por último, haga ping al FQDN para confirmar que se resuelve correctamente a la dirección IP indicada en el archivo hosts:
ping -c 3 <YOUR_FQDN>
Al completar estos pasos, el servidor podrá identificar y resolver correctamente su propio nombre de red.
Nota sobre cloud-init para la configuración del hostname en un VPS
En instancias VPS en la nube como AWS, GCP y DigitalOcean, cloud-init puede sobrescribir los cambios del nombre de host al reiniciar. Si el valor anterior reaparece tras el reinicio, revise /etc/cloud/cloud.cfg y establezca preserve_hostname: true para que su VPS conserve el nombre de host deseado y la configuración de dominio asociada.
Solución de problemas
Si el nombre de host no persiste tras el reinicio, compruebe primero que hostnamectl status muestra el valor estático esperado y, a continuación, verifique si cloud-init está restaurando una configuración antigua. Si hostname -f no devuelve el FQDN esperado, revise la entrada 127.0.1.1 de /etc/hosts y confirme que el nombre corto aparece después del FQDN. Si los servicios siguen informando un nombre incorrecto, verifique que el dominio del servidor, el orden de resolución en /etc/nsswitch.conf y los metadatos del proveedor coincidan con la configuración prevista.
Reversión (rollback)
Si configuró mal los nombres y necesita devolver el servidor a su estado predeterminado:
Restablezca el nombre de host corto:
sudo hostnamectl set-hostname localhost
Restaure el archivo /etc/hosts eliminando su línea de IP personalizada. Asegúrese de que el loopback local quede así:
sudo nano /etc/hosts
127.0.0.1 localhost 127.0.1.1 localhost
Conclusión
Ha definido correctamente un nombre de host persistente y ha configurado la red local para ofrecer un FQDN preciso. Hacerlo bien establece la capa básica de identidad necesaria para sus servicios web, configuraciones de correo y herramientas de orquestación remota.
Versión del documento: 1.0
Última actualización: abril de 2026
Responsable: Equipo de documentación técnica