Cómo cambiar el hostname de tu servidor Linux

· 5 min de lectura · por el equipo técnico de VPS Argentina

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 hostname con un nombre, como proponen guías viejas, lo cambia solo hasta el próximo reinicio.
  • En AlmaLinux ya no se usa /etc/sysconfig/network para 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.

RegistroQué haceDónde se configura
AApunta 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/hostsHace 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 hostnamectl que 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