Cómo sincronizar la hora usando el servidor NTP en Ubuntu

NTP (Network Time Protocol) es un protocolo que sincroniza la hora de su sistema con los servidores NTP en línea con una precisión de unos pocos milisegundos. NTP escucha en el puerto UDP 123. En este artículo, veremos cómo puede sincronizar la hora usando el servidor NTP en Ubuntu 18.04 y lo mismo debería funcionar en ubuntu 16.04 también.

Tanto la hora del sistema como la hora del hardware pueden diferir debido a pequeñas inconsistencias en las frecuencias de reloj. A medida que pasa el tiempo, estas desviaciones se acumulan y generan diferencias de tiempo significativas que pueden causar problemas con herramientas como cron y ‘make’, que examina las marcas de tiempo en los archivos.

Cómo instalar el servidor NTP

Para instalar el servidor NTP en su sistema Ubuntu, abra su terminal y ejecute el siguiente comando:

apt-get install ntp

Para verificar que la instalación se realizó sin problemas, ejecute

dpkg -l | grep "ntp"

Producción

ii  ntp                              1:4.2.8p4+dfsg-3ubuntu5.8                  amd64        Network Time Protocol daemon and utility programs

Luego, actualice el sistema usando el siguiente comando

apt-get update

Después de una actualización exitosa del sistema, verifique si NTP se está ejecutando usando el siguiente comando

systemctl status ntp

Para verificar que NTP está funcionando, debe ejecutar el siguiente comando

ntpq -p

Este comando consulta y muestra los grupos de servidores NTP a los que se ha conectado ntpd.

Producción

Cómo forzar una actualización de reloj usando ntp

A veces, puede encontrarse con un sistema sin un reloj en tiempo real con respaldo de batería y la sincronización de la hora se convierte en un problema. En este caso, es posible que deba forzar una actualización del reloj para que la hora del sistema esté sincronizada sin retrasos. En lugar de correr ntpdate comando que ha quedado obsoleto, ejecute los siguientes comandos.

Primero, detenga el servicio NTP

systemctl stop ntp

Ejecute el comando a continuación

ntpd -gq

Producción

El -gq La opción le dice al demonio NTP que rectifique el tiempo independientemente del sesgo (g) y salga (q) inmediatamente.

Finalmente, inicie el servicio NTP

systemctl start ntp

Usando timedatectl y timesyncd

ntpdate se eliminó gradualmente en versiones anteriores de Ubuntu ya favor de timedatectl. Para comprobar el estado del tiempo, ejecute

timedatectl

Producción

root@ip-172-31-41-251:/home/ubuntu# timedatectl status
      Local time: Mon 2018-04-09 18:59:18 UTC
  Universal time: Mon 2018-04-09 18:59:18 UTC
        RTC time: Mon 2018-04-09 18:59:17
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

El servidor de nombres utilizado para obtener la hora de timedatectl y timesyncd se encuentra en /etc/systemd/timesyncd.conf

Se pueden encontrar archivos de configuración adicionales en /etc/systemd/timesynd.conf.d

Otro método que puede usar para configurar la hora del sistema inmediatamente es usar sntp como se muestra a continuación.

sntp -s 24.56.178.140

La dirección después de la bandera -s representa un servidor NTP. No dude en utilizar cualquier dirección de servidor NTP.

Finalmente, también puede ignorar el umbral de pánico, que por defecto es de 1000 segundos. Esto se puede hacer de las siguientes formas:

  • editando el /etc/default/ntp y asegurarse de que la opción -g esté presente.
  • editando el /etc/ntp.conf y colocando tinker panic 0 en la cima

Cuando se hayan realizado cambios en los archivos de configuración, asegúrese de volver a cargar el servicio ntp.

systemctl restart ntp

Para obtener más información sobre los servidores de tiempo NTP, visite el Sitio NTP. En este artículo, hemos visto cómo puede instalar y sincronizar la hora usando el servidor NTP en los sistemas Ubuntu para mantener la hora exacta de su sistema. Gracias por su tiempo. No dude en probar los comandos y darnos su opinión.