Desde que nuestras autoridades de gobierno han decidido ahorrar en energía eléctrica, y han cambiado el horario en forma arbitraria en los últimos años en nuestro territorio, extendiendo algunos y acortando otros, respecto de los solsticios de invierno y verano, han provocado verdaderos dolores de cabeza a los que trabajamos con servidores y que debemos tener sincronizado el horario en forma exacta, han demandado un esfuerzo permanente.
Sin contar las innumerables empresas que deben pagar horas extras o turnos especiales para los administradores que trabajan en Data Center y administran cientos de máquinas, se ha convertido en toda una tarea administrativa, delicada y la cual requiere un esfuerzo significativo en algunas máquinas que debe realizarse manualmente.
En servidores Unix y Linux tenemos un demonio llamado NTPd que se encarga de esto pero también contamos con openntp, ambos demonios para sincronizar la hora en Servidores.
Si trabajamos en un red, no importa el tamaño, porque el trabajo es el mismo, debemos tener un servicio NTP corriendo en nuestra red interna y sincronizar nuestras máquinas de la red, con este único servicio de NTP pero interno, así habrá una sola máquina que tenga la hora y fecha sincronizada con un servidor NTP stratum-2 oficial.
Nuestra máquina interna debe ser sincronizada con un servidor externo, para ello seleccionamos el que tiene la hora oficial en Chile, que es el ntp.shoa.cl, para ello debemos instalar el servicio y editar el archivo de configuración, en un terminal ejecutamos:
# aptitude install ntpd # vim /etc/ntp.conf server ntp.shoa.cl # service ntp start
Una vez que hemos comentado las otras líneas de server y agregado el servidor indicado, guardamos y cerramos el archivo. Posteriormente reiniciamos el servicio NTP.
Ya teniendo el servicio inicializado y funcionando, debemos asegurarnos te no tenemos bloqueado el puerto 123 tcp/udp de nuestra máquina, para que nuestros clientes puedan sincronizarse sin problemas.
Para eso debemos editar el archivo timesyncd.conf y agregar:
# vim /etc/systemd/timesyncd.conf [Time] Servers=ntp.shoa.cl
De esta forma dejamos sincronizado nuestra máquina y debemos comprobarlo con:
# timedatectl status Local time : dom 2017-05-14 20:31:39 -04 Universal time : lun 2017-05-15 00:31:39 UTC RTC time : lun 2017-05-15 00:31:38 Time zone : America/Santiago (-04, -0400) NTP enabled : yes NTP synchronized : yes RTC in local TZ : no DST active : no Last DST change : DST ended at sáb 2017-05-13 23:59:59 -03 sáb 2017-05-13 23:00:00 -04 Next DST change : DST begins (the clock jumps one hour forward) at sáb 2017-08-12 23:59:59 -04 dom 2017-08-13 01:00:00 -03
Lo que debemos comprobar es la línea NTP synchronized : yes, que debe estar de esta forma.
Con esto podemos estar seguros que tenemos nuestro server interno corriendo el servicio y está sincronizado con un stratum 2.
Al ejecutar en nuestra consola:
# ntpstat -dv synchronised to NTP server (200.54.149.24) at stratum 2 time correct to within 86 ms polling server every 64 s
Podemos comprobar lo que se ha indicado.