Cómo cambiar el hostname de tu servidor Linux
Con hostnamectl set-hostname servidor.tudominio.com.ar el nombre cambia en el momento y queda guardado para los próximos arranques, igual en Debian, Ubuntu y AlmaLinux. Después actualizá /etc/hosts para que el servidor resuelva su propio nombre. Conviene un nombre completo con un registro A que apunte a la IP y, si el servidor manda correo, un reverso (PTR) con ese mismo nombre: ese lo configura el proveedor y se pide por ticket. Si el nombre vuelve al anterior después de reiniciar, es cloud-init, y se evita con preserve_hostname: true.
Qué nombre conviene
Un nombre completo dentro de un dominio que controles, como servidor.tudominio.com.ar. Solo letras sin acentos, números, guiones y los puntos que separan las partes: nada de espacios ni guiones bajos. Si el servidor va a mandar correo o tener un panel, tiene que ser un nombre completo que resuelva a su IP.
Evitá el dominio pelado, tudominio.com.ar. Suele ser el del sitio, y con ese nombre el programa de correo del servidor puede creer que todas las casillas @tudominio.com.ar son suyas: los mensajes que el propio servidor mande a esas casillas, como los de un formulario, no llegan a tu correo real si está en otro lado.
Cambiarlo con hostnamectl
El comando es el mismo en Debian 12, Ubuntu 24.04 y AlmaLinux 9. Guarda el nombre en /etc/hostname y lo aplica en el momento, sin reiniciar. Sin argumentos, hostnamectl muestra cómo quedó.
hostnamectl set-hostname servidor.tudominio.com.ar
hostnamectl- El comando
hostnamecon un nombre, como proponen guías viejas, lo cambia solo hasta el próximo reinicio. - En AlmaLinux ya no se usa
/etc/sysconfig/networkpara el nombre: las recetas que lo editan son de versiones anteriores.
Actualizar /etc/hosts
Varios programas buscan su propio nombre, como sudo, el correo y algunos paneles. Si no lo encuentran, tardan o avisan con errores como "unable to resolve host". Editá /etc/hosts, dejá las líneas de localhost como están y reemplazá la del nombre viejo (en Debian y Ubuntu suele empezar con 127.0.1.1), o agregá una si no hay, con la IP del servidor, el nombre completo y el corto:
203.0.113.24 servidor.tudominio.com.ar servidor- El nombre completo va primero. Comprobalo con
hostname -f: tiene que mostrarlo entero. - Si el archivo empieza con un aviso que menciona
manage_etc_hosts, lo reescribe cloud-init en cada arranque. El cambio va en la plantilla que indica el aviso, dentro de/etc/cloud/templates/.
El prompt y los servicios
La terminal en la que hiciste el cambio sigue mostrando el nombre viejo: bash lo lee una sola vez, cuando arranca. En una sesión nueva vas a ver root@servidor, porque el prompt muestra solo la primera parte del nombre. El completo lo ves con hostname.
Los programas que ya estaban corriendo pueden seguir usando el nombre anterior hasta que los reinicies, sobre todo el correo. En Debian y Ubuntu, si usás Postfix, revisá además /etc/mailname y la línea myhostname de /etc/postfix/main.cf, que guardan su propia copia. Para dejar todo parejo, reiniciá el servidor en un horario tranquilo.
Que el nombre exista afuera: registro A y reverso
Para el resto de internet, el nombre existe cuando está en el DNS. Hacen falta dos registros independientes: el A dice qué IP tiene el nombre, y el reverso (PTR) dice qué nombre tiene la IP. Los servidores que reciben tu correo consultan los dos y los comparan con el nombre que anuncia tu servidor. Si falta el reverso o no coincide, muchos rechazan el mensaje o lo mandan a spam; Gmail, por ejemplo, lo exige.
| Registro | Qué hace | Dónde se configura |
|---|---|---|
| A | Apunta servidor.tudominio.com.ar a 203.0.113.24. | En la zona DNS de tu dominio, donde la administres. Crealo primero: el reverso tiene que apuntar a un nombre que ya resuelva a esa IP. |
| PTR (reverso) | Apunta 203.0.113.24 a servidor.tudominio.com.ar. | En la zona de la IP, que administra el proveedor. Escribinos por ticket desde el área de clientes con la IP y el nombre. |
/etc/hosts | Hace que el servidor resuelva su propio nombre sin consultar el DNS. | En el servidor, como se explica más arriba. |
Para comprobarlos, usá nslookup desde tu computadora: consultado con el nombre tiene que devolver la IP, y consultado con la IP, el nombre.
Si el nombre vuelve al anterior al reiniciar
Lo más común es que el VPS use cloud-init, el sistema que prepara la máquina en cada arranque, y que vuelva a poner el nombre con el que se creó. Fijate si está con cloud-init status: si el comando existe y responde, decile que respete el nombre que pusiste.
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99-hostname.cfg- En el próximo reinicio, comprobá con
hostnamectlque el nombre se mantiene. - Si además se te pisa
/etc/hosts, mirá el aviso del principio de ese archivo, como se explica más arriba.
Preguntas frecuentes
¿Tengo que reiniciar?
No para el nombre: hostnamectl lo aplica en el momento. Sí conviene reiniciar los servicios que lo leen al arrancar, como el correo, o el servidor entero en un horario tranquilo.
¿Cambiar el hostname afecta a mis sitios?
No. Los sitios responden por sus dominios, no por el nombre del servidor, y la IP no cambia. El que sí lo usa es el correo que sale del servidor.
¿Y si el servidor tiene DirectAdmin?
Cambialo desde las opciones de administrador del panel y no solo con hostnamectl: DirectAdmin guarda su propia copia del nombre, y cambiándolo desde ahí queda todo coordinado.
¿Dónde creo el registro A?
En la zona DNS de tu dominio, donde sea que la administres. Si tu dominio usa nuestros servidores de nombres, ns1.dnscentrales.com y ns2.dnscentrales.com, y no tenés acceso a la zona, escribinos por ticket.
Seguí leyendo
No puedo enviar correo: qué revisar y cómo resolverlo
Puerto 25 bloqueado, falta de autenticación, Relay access denied, IP bloqueada por intentos fallidos, casilla llena o mensajes en spam: cómo encontrar la causa.
Cómo delegar un dominio .ar en NIC Argentina
Cómo cargar ns1.dnscentrales.com y ns2.dnscentrales.com en tu dominio .ar desde NIC Argentina, comprobar el cambio y cuánto tarda en propagarse.
Cómo crear un usuario administrador con sudo en Linux
Un usuario propio con sudo en Debian, Ubuntu y AlmaLinux, en vez de un segundo root: cómo crearlo, probarlo, cargarle tu clave SSH y limitar el acceso de root.