EQVPS
PanelEmpezar

Cómo cambiar el nombre de host y la zona horaria de un VPS

Cambia el nombre de tu servidor y pon su reloj en tu zona horaria en Ubuntu, Debian y Windows Server, sin el aviso de sudo que aparece tras un simple hostnamectl, y comprobando cron, los registros y la sincronización de la hora después del cambio. Cada paso probado en nuestras imágenes.

Un servidor nuevo se llama como escribiste al pedirlo, y su reloj está en UTC. Ambas cosas se cambian fácilmente. Cambiar el nombre tiene una trampa: el comando habitual deja una línea antigua en /etc/hosts, y en Ubuntu sudo se queja de ella antes de cada comando. Esta guía arregla las dos cosas en Ubuntu y Debian y muestra los comandos de Windows Server. Hicimos cada paso en nuestras propias imágenes.

Necesitas un usuario con sudo. La guía de configuración de Ubuntu crea uno.

1. Mira el nombre y la hora actuales

hostnamectl
timedatectl

Nuestro servidor Ubuntu 24.04 recién creado mostraba el nombre del pedido como nombre de host estático, además de Time zone: Etc/UTC, System clock synchronized: yes y NTP service: active. Debian 12 y 13 se veían igual. La sincronización del reloj ya funciona, así que no hace falta instalar NTP.

2. Cambia el nombre de host

Elige un nombre corto, o uno completo si va a coincidir con un registro DNS que controlas, como web1.example.com:

sudo hostnamectl set-hostname web1.example.com

El nombre cambia al momento, pero /etc/hosts sigue apuntando 127.0.1.1 al antiguo. En Ubuntu se notó enseguida:

sudo: unable to resolve host web1.example.com: No address associated with hostname

hostname -f fallaba igual. Debian encontraba el nombre por otra vía y no mostraba aviso, pero su /etc/hosts estaba igual de desactualizado. Corrige el archivo en los dos:

sudo sed -i 's/^127\.0\.1\.1 .*/127.0.1.1 web1.example.com web1/' /etc/hosts
grep 127.0.1.1 /etc/hosts
hostname -f

Después de eso sudo quedó en silencio, hostname -f mostró web1.example.com y hostname -s mostró web1.

El comentario al principio de /etc/hosts dice que cloud-init gestiona el archivo y que tus cambios pueden perderse. En nuestras imágenes, cloud-init solo lo escribe en el primer arranque del servidor. Reiniciamos y luego hicimos que cloud-init tratara el siguiente arranque como una instancia nueva. El nombre y nuestra línea de /etc/hosts sobrevivieron a ambos.

El nombre de host solo existe en tu servidor. Si otras máquinas deben llegar a él por ese nombre, añade también un registro DNS: apuntar un dominio a tu VPS lo explica. Para un servidor de correo también cuenta el registro inverso: consulta configurar el DNS inverso.

3. Cambia la zona horaria

Lista las zonas y elige la tuya. Nuestro servidor tenía 497:

timedatectl list-timezones | grep -i tokyo
sudo timedatectl set-timezone Asia/Tokyo
timedatectl

El reloj en sí no se mueve. Solo cambia cómo se muestran las horas y cómo se leen los horarios locales. Esto es lo que vimos al pasar de UTC a Asia/Tokyo:

QuéTras el cambio
date, journalctlHora de Tokio al momento
cronHora de Tokio al momento: una tarea fijada a las 09:48 se ejecutó a las 09:48:01 JST, sin reiniciar
/var/log/syslog (Ubuntu)Siguió escribiendo horas UTC hasta reiniciar rsyslog
/etc/timezone (Ubuntu)Seguía diciendo Etc/UTC

Así que reinicia el registro del sistema y todo lo que se ejecute mucho tiempo y muestre horas, como tu aplicación:

sudo systemctl restart rsyslog

Debian 12 y 13 no instalan rsyslog. Sus registros solo están en el journal, que sigue la nueva zona por sí solo.

Algunos programas antiguos leen la zona de /etc/timezone en lugar del ajuste del sistema. Si alguno sigue mostrando UTC, escribe ahí el mismo nombre y reinicia ese programa:

echo Asia/Tokyo | sudo tee /etc/timezone

Antes de cambiar, repasa tu crontab. Una línea 0 3 * * * escrita para las 03:00 UTC ahora se ejecutará a las 03:00 hora de Tokio, nueve horas antes en tiempo real.

4. Windows Server

En Windows Server 2022, abre PowerShell como administrador. El cambio de nombre necesita reiniciar:

Rename-Computer -NewName web1 -Restart

Los nombres de equipo de Windows tienen un límite de 15 caracteres, así que usa aquí el nombre corto.

Para la zona horaria, busca el identificador y aplícalo. Se aplica al instante, sin reiniciar:

Get-TimeZone -ListAvailable | Where-Object Id -like '*Tokyo*'
Set-TimeZone -Id 'Tokyo Standard Time'
Get-TimeZone

Ya que has entrado, es buen momento para proteger RDP.

Qué plan elegir

El nombre de host y la zona horaria no cuestan nada, así que sirve cualquier plan: Nano a $3/mes para un servidor Linux pequeño, Windows-Small a $11/mes para Windows Server 2022. Todos los planes están en la página de VPS, y el pago es en USDT, USDC o ETH en Base, Ethereum o Polygon.

Preguntas frecuentes

¿cloud-init me devolverá el nombre antiguo tras reiniciar?

En nuestras imágenes, no. Pusimos un nombre nuevo con hostnamectl, reiniciamos y además hicimos que cloud-init tratara el siguiente arranque como una instancia nueva. El nombre se mantuvo las dos veces, igual que nuestro cambio en /etc/hosts. Una reinstalación te da un sistema limpio con el nombre original.

¿Por qué sudo dice «unable to resolve host» después de cambiar el nombre?

hostnamectl cambia el nombre pero no /etc/hosts, donde 127.0.1.1 sigue apuntando al nombre antiguo. En Ubuntu, sudo muestra entonces «unable to resolve host» antes de cada comando. Cambia el nombre antiguo por el nuevo en la línea 127.0.1.1 y el aviso desaparece.

¿Mi servidor debe usar UTC o mi hora local?

UTC es la opción más segura: las horas de los registros de distintos servidores coinciden y no hay saltos por el cambio de horario. Pasa a tu zona si quieres que las tareas de cron y las horas de los registros se lean en tu hora. Las dos opciones funcionan y puedes volver a cambiar cuando quieras.

¿Tengo que configurar NTP?

No. Nuestras imágenes de Ubuntu y Debian sincronizan el reloj con systemd-timesyncd desde el primer arranque. Ejecuta timedatectl y busca «System clock synchronized: yes».

¿Cambiar la zona horaria rompe mis tareas de cron?

Cron usa la nueva zona al instante. En nuestro servidor Ubuntu 24.04, una tarea fijada a las 09:48 hora de Tokio se ejecutó a las 09:48:01 hora de Tokio, sin reiniciar cron. Revisa, eso sí, las tareas escritas para UTC: ahora se ejecutan a esa hora en tu zona local.

Comentarios

Aún no hay comentarios. Sé el primero.

Deja un comentario

Los comentarios se moderan antes de aparecer.