Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org/

Licencia de este documento: Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2024 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Acerca del protocolo NTP.

NTP (Network Time Protocol) es un protocolo —de entre los más antiguos protocolos de Internet (1985)— utilizado para la sincronización de relojes de sistemas computacionales a través de redes, haciendo uso de intercambio de paquetes (unidades de información transportadas entre nodos a través de enlaces de datos compartidos) y latencia variable (tiempo de demora entre el momento en que algo inicia y el momento en que su efecto inicia). NTP fue originalmente diseñado —y sigue siendo mantenido— por Dave Mills, de la universidad de Delaware.

NTP utiliza el algoritmo de Marzullo (inventado por Keith Marzullo), el cual sirve para seleccionar fuentes de origen para la estimación exacta del tiempo a partir de un número determinado de fuentes de origen desordenadas, utilizando la escala UTC.

La versión 4 del protocolo puede mantener el tiempo con un margen de 10 milisegundos a través de la red mundial, alcanzado exactitud de 200 microsegundos. En redes locales, bajo condiciones idóneas, este margen se puede reducir considerablemente.

El protocolo trabaja a través del puerto 123, únicamente a través de UDP.

URL: http://www.ietf.org/rfc/rfc1305.txt

Estratos.

El protocolo NTP utiliza el sistema jerárquico de estratos de reloj:

Lista de servidores públicos, de estrato 1 y 2, en http://kopernix.com/?q=ntp y http://www.eecis.udel.edu/~mills/ntp/servers.html

Acerca de UTC.

UTC (Coordinated Universal Time o Tiempo Universal Coordinado) es un estándar de alta precisión de tiempo atómico. Tiene segundos uniformes definidos por TAI (Tiempo Atómico Internacional o International Atomic Time), con segundos intercalares o adicionales que se anuncian a intervalos irregulares para compensar la desaceleración de la rotación del planeta Tierra, así como otras discrepancias. Estos segundos adicionales permiten a UTC estar casi a la par del Tiempo Universal (UT o Universal Time), el cual es otro estándar pero basado sobre el ángulo de rotación de la Tierra, en lugar de el paso uniforme de los segundos.

URL: http://es.wikipedia.org/wiki/UTC

Equipamiento lógico necesario

Las más recientes versiones de Red Hat Enterprise Linux, Alma Linux y Rocky Linux pueden utilizar de manera indistinta chornyd o ntpd. Se prefiere utilizar chronyd.

dnf -y install chrony

Modificaciones necesarias en el muro cortafuegos.

Sólo es necesario abrir el puerto 123 por UDP si se va a permitir a la red local conectar hacia el servidor NTP ejecutando en el servidor.

firewall-cmd --add-service=ntp --permanent && firewall-cmd --reload

Activar e iniciar servicio.

Ejecute los siguiente para activar e iniciar el servicio:

systemctl enable --now chronyd

Establecer la zona horaria.

Las zonas horarias vienen incluidas en le paquetetzdata. Para consultar las zonas horarias instaladas en el sistema, sólo revise el contenido de el directorio /usr/share/zoneinfo.

find /usr/share/zoneinfo/ -type f -name "*"

O bien ejecute lo siguiente:

timedatectl list-timezones

Ejecute lo siguiente para ver exclusivamente las zonas horarias correspondientes a México:

timedatectl list-timezones |grep Mexico

La salida será similar a la siguiente:

America/Mexico_City
Mexico/BajaNorte
Mexico/BajaSur
Mexico/General

Una vez determinada la zona horaria a utilizar, ejecute la siguiente para establecer la zona horaria del sistema:

timedatectl set-timezone America/Mexico_City

Ejecute lo siguiente para establecer que el sistema mantenga sincronizada la hora del sistema a través de NTP:

timedatectl set-ntp true

Ejecute lo siguiente para aplicar el cambio:

systemctl restart systemd-timedated

Ejecute lo siguiente para verificar el estado de la gestión de la fecha y hora en el sistema:

timedatectl status

La salida debe ser similar a la siguiente:

               Local time: Wed 2024-06-19 14:32:18 CST
           Universal time: Wed 2024-06-19 20:32:18 UTC
                 RTC time: Wed 2024-06-19 20:32:18
                Time zone: America/Mexico_City (CST, -0600)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Sistemas con dos o más sistemas operativos.

De modo predeterminado, Linux establece la fecha y hora RTC con los mismos datos de la fecha y hora UTC a fin de facilitar los cambios de zona y horarios de verano.

Si se tienen en sistemas con dos o más sistemas operativos ―particularmente sistemas que también tienen Windows― es conveniente establecer la fecha y hora RTC (real-time clock), el cual es un reloj en el hardware, normalmente integrado en la tarjeta madre y almacena sus datos en el BIOS, misma que se mantienen gracias a la batería de éste último.

Ejecute lo siguiente sólo si el equipo tiene también un sistema operativo Windows instalado, a fin de establecer que la fecha y hora RTC son las reales en lugar de la fecha y hora UTC.

timedatectl set-local-rtc 1

Ejecute lo siguiente para verificar el cambio realizado:

timedatectl status

La salida debe ser similar a la siguiente:

               Local time: Wed 2024-06-19 14:32:18 CST
           Universal time: Wed 2024-06-19 20:32:18 UTC
                 RTC time: Wed 2024-06-19 20:32:18
                Time zone: America/Mexico_City (CST, -0600)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: yes