Sincronizar hora y fecha con NTP en GNU Linux

Hoy otro artículo técnico, el tema de hoy es sobre NTP. El protocolo de hora y fecha, además de servidor de red, que permite a nuestra computadora ajustar su reloj, en función del valor mantenido por otro reloj, afincado en otro servidor. ¿Vaya lío? ¿No? En resumen, que hará que siempre tengamos la hora y la fecha de nuestro equipo siempre correcta.

tiempo-mediana

NTP, configuración y uso

En el artículo de hoy veremos la instalación del servicio y su configuración en un equipo con GNU Linux. Por norma general en las empresas se suele instalar un servidor que ofrece la hora y la fecha al resto de la red,  eso lo veremos en otro artículo, más adelante.

Lo cierto que la instalación y configuración en un cliente no tiene mucho misterio. De hecho el servicio cliente se encuentra instalado ya en muchas distribuciones. Si queremos que el servicio apunte a un servidor en concreto en la red, debemos ir a la terminal de comandos, y escribir:

1
2
# Se trata de un comando que puede que no tengamos instalado, si es así, su instalación es la típica
ntpdate -u hora.roa.es

Lo que hemos hecho es decir a ntp que utilice el servidor del Real Instituto y Observatorio de la Armada, para sincronizar la hora y la fecha. Si no tenemos el servicio instalado, sólo tenemos que escribir:

1
2
3
4
5
6
7
8
#en Debian, Ubuntu y derivadas
apt install ntp
#en RHEL, Centos, Fedora
yum install ntp
#en OpenSUSE y SuSE
zypper install ntp
#en Arch y derivadas
pacman -Sy ntp

En el fichero /etc/ntp.conf, se encuentra la lista de servidores de hora que utiliza el sistema, si queremos la podemos modificar. En Debian, Ubuntu y resto de colegas, no hace falta que añadamos el servicio al arranque en cambio en sistemas como RHEL, Centos o Fedora:

1
2
3
4
#Hasta la versión 6
chkconfig ntp on
#A partir de la 7, con systemd
systemctl enable ntp

ntpd, es el demonio (daemon, en inglés), que utiliza NTP para funcionar.

Si queremos parar o reiniciar el servicio:

1
2
3
4
5
6
7
8
9
10
#Sin systemd
service ntp restart # para reiniciar
service ntp stop # para pararlo
service ntp reload # para recargarlo
service ntp start # para encenderlo
#con systemd
systemctl restart ntp # para reiniciar
systemctl stop ntp # para pararlo
systemctl reload ntp # para recargarlo
systemctl start ntp # para encenderlo

También tenemos a nuestra disposición varios comandos intereresantes, por ejemplo, si queremos comprobar su estado y que nos muestre un reporte de actividad:

1
2
# Puedo que no lo tengamos instalado, si es así, ídem de los pasos anteriores con éste comando.
ntpstat

Nos dirá si el servicio está sincronizado o no.

Espero que el artículo os haya parecido interesante. Nos leemos en la próxima!

La fuente de la imagen de portada, cortesía de Flickr

8 Respuestas

  1. Javi Felices dice:

    Buenas, y en primer lugar gracias, ya miraré el blog con más calma, por lo pronto suscrito quedo.

    En el caso que con ntpstat nos diga que no está sincronizado, qué habría que hacer?

    Un saludo y gracias.

    • Javi Felices dice:

      Si ejecuto ntpstat me sale “unsynchronised
      polling server every 8 s”

      En cambio con timedatectl status me sale
      “Local time: dom 2017-08-27 13:47:25 CEST
      Universal time: dom 2017-08-27 11:47:25 UTC
      RTC time: lun 2017-08-28 00:15:46
      Time zone: Europe/Madrid (CEST, +0200)
      Network time on: yes
      NTP synchronized: yes
      RTC in local TZ: no”

      Ejecuto status a ntp

      root@debian-soporte:/usr/src/linux-4.12.9# systemctl status ntp
      ● ntp.service – LSB: Start NTP daemon
      Loaded: loaded (/etc/init.d/ntp; generated; vendor preset: enabled)
      Active: active (running) since Sun 2017-08-27 13:46:36 CEST; 2min 53s ago
      Docs: man:systemd-sysv-generator(8)
      Process: 10305 ExecStop=/etc/init.d/ntp stop (code=exited, status=0/SUCCESS)
      Process: 10320 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
      Tasks: 2 (limit: 19660)
      CGroup: /system.slice/ntp.service
      └─10330 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:111

      ago 27 13:46:36 debian-soporte ntp[10320]: Starting NTP server: ntpd.
      ago 27 13:46:36 debian-soporte systemd[1]: Started LSB: Start NTP daemon.
      ago 27 13:46:36 debian-soporte ntpd[10330]: proto: precision = 0.100 usec (-23)
      ago 27 13:46:36 debian-soporte ntpd[10330]: Listen and drop on 0 v6wildcard [::]:123
      ago 27 13:46:36 debian-soporte ntpd[10330]: Listen and drop on 1 v4wildcard 0.0.0.0:123
      ago 27 13:46:36 debian-soporte ntpd[10330]: Listen normally on 2 lo 127.0.0.1:123
      ago 27 13:46:36 debian-soporte ntpd[10330]: Listen normally on 3 eth0 192.168.1.122:123
      ago 27 13:46:36 debian-soporte ntpd[10330]: Listen normally on 4 lo [::1]:123
      ago 27 13:46:36 debian-soporte ntpd[10330]: Listen normally on 5 eth0 [fe80::215:5dff:fe38:107%2]:12ago 27 13:46:36 debian-soporte ntpd[10330]: Listening on routing socket on fd #22 for interface updalines 1-20/20

      Un saludo y gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies