El protocolo NTP (Network Time Protocol) se usa para mantener a punto el reloj del sistema. Esto es posible gracias a su sincronización con otros servidores NTP vía Internet.
Con NTP se sincroniza el reloj de un computador con la hora de una fuente de referencia, logrando una precisión de orden de milisegundos con respecto a la Hora Universal Coordinada (UTC). La hora UTC, que ha sido adoptada como la escala de tiempo estándar por la mayoría de las naciones del mundo, es basada en la rotación de la Tierra alrededor de su eje y en el calendario Gregoriano, que a su vez es basado en la rotación de la Tierra alrededor del Sol.
¿Por qué sincronizar el reloj?
Las ventajas son muchas y las desventajas ninguna. El reloj sincronizado con NTP está siempre a la hora oficial y no es necesario ajustarlo cada cierto tiempo.
Los problemas asociados a un reloj fuera de hora son múltiples, por ejemplo, el sello de tiempo cuando se crea o modifica un archivo puede quedar con la hora y fecha equivocada, el correo electrónico que envías desde el computador podría llevar un sello de tiempo equivocado.
Vamos a instalar este servicio en el servidor, de esta forma los clientes de nuestra red interna usarán el servidor para actualizar su hora, a su vez el servidor se actualizará con otros servidores de Internet.
Verificando UTC
La hora de la BIOS, debe estar configurada en formato UTC, así teniendo en cuenta esta hora se calcula la hora actual de nuestra ubicación.
grep UTC /etc/default/rcS
El resultado tiene que ser yes, caso contrario modificar de la siguiente manera:
su
poner contraseña de root.
(si estas en ubuntu sudo su y pones tu propia contraseña)
nano -wB /etc/default/rcS
buscamos la parte donde dice UTC=no y cambiamos por yes.
UTC=yes
Verificando la zona horaria
Es imperativo configurar adecuadamente el uso horario. La información sobre el uso horario se encuentra en el archivo /etc/timezone y puede ser consultada con el comando cat:
cat /etc/timezone
America/Lima
Como esta no es la zona horaria donde me encuentro paso a cambiarla.
Para configurar el huso horario, se utiliza el comando dpkg-reconfigure tzdata y se escoge la zona correcta en el menú interactivo:
dpkg-reconfigure tzdata
Un diálogo permite seleccionar la región geográfica:
En seguida, puede señalarse la región o el país donde el servidor se encuentra actualmente localizado:
Luego, el resultado queda registrado así:
Current default time zone: 'America/Asuncion'
Local time is now: Sat Nov 17 11:39:10 PYST 2012.
Universal Time is now: Sat Nov 17 14:39:10 UTC 2012.
También se puede hacer de esta manera:
ls /usr/share/zoneinfo
verificamos las zonas disponibles
ls /usr/share/zoneinfo/America
verificamos las zonas disponibles en este caso América
ahora copio la zona que me interesa, en este caso Asunción y verificamos que se realizo el cambio
cp /usr/share/zoneinfo/America/Asuncion /etc/localtime
cat /etc/timezone
Instalar NTP en el servidor
apt-get install ntp ntp-doc
Luego de instalar, verificar la configuración del uso horario y de la fecha/hora del sistema.
El comando ntpq -p permite verificar cuáles son los servidores NTP a los que estamos conectados. Los *, + e - indican respectivamente conexiones exitosas, sincronizaciones en curso y servidores poco confiables.
Esto puede demorar algunos minutos hasta que aparezca la lista y hasta 30 minutos para que ocurra la primera corrección.
ntpq -p
Al arrancar el "daemon" ntpd y dejarlo corriendo la máquina siempre estará sincronizada con los servidores de Internet con una precisión de milisegundos.
podemos verificar si esta corriendo con:
ps aux | grep ntpd
también al reiniciar el servidor se puede ver que el servicio fue iniciado.
Archivo ntp.conf
Modificar archivo de configuración /etc/ntp.conf con los siguientes valores:
nano -wB /etc/ntp.conf
Archivo con los cambios realizados
Si vamos a recibir peticiones de una subred 192.168.10.0/24 tiene que quedar así:
luego reinicia ntpd con:
/etc/init.d/ntp restart
Como sabemos un servidor NTP escucha en el puerto 123 udp (por defecto) y atiende las peticiones de los clientes, entonces si tenes un cortafuegos, habilita el puerto 123 udp para la interfase interna que va a servir NTP (eth1 en este caso).
iptables -A INPUT -i eth1 -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
El servidor NTP está listo para ser utilizado.
Configurando los clientes
Vamos a mantener a punto el reloj de los clientes, sincronizándolo con nuestro servidor NTP.
Verificando UTC
La hora de la BIOS en los clientes, debe estar configurada en formato UTC
grep UTC /etc/default/rcS
la respuesta tiene que ser yes, caso contrario proceder de la misma manera que se realizó con el servidor.
Verificando la zona horaria
Revisamos que el uso horario corresponda donde se encuentra actualmente localizado el cliente.
cat /etc/timezone
America/Asuncion
Si el resultado no es el esperado proceder a actualizar la zona horaria de la misma manera que se realizó con el servidor.
Verificar que tengamos instalado ntpdate
su
poner contraseña de root.
(si estas en ubuntu sudo su y pones tu propia contraseña)
apt-get install ntpdate ntp-doc
Utilización de NTP
Para poner en punto la hora y fecha de un sistema cliente, es suficiente con usar el comando ntpdate (ver Protocolo NTP), indicando la dirección ip de nuestro servidor NTP:
ntpdate -u 192.168.10.1
17 Nov 19:17:40 ntpdate[2863]: adjust time server 192.168.10.1 offset 0.179675 sec
En la imágen se observa que se actualizó correctamente la hora con nuestro servidor
Para que el cliente se sincronice siempre con nuestro servidor modificamos su archivo de configuración /etc/default/ntpdate
nano -wB /etc/default/ntpdate
NTPSERVERS="192.168.10.1"
Y si queremos podemos agregar una tarea programada para que actualice la hora cada 4 horas:
echo "0 */4 * * * root /usr/sbin/ntpdate -u 192.168.10.1" >> /etc/crontab
Clientes windows
Las imágenes hablan por si solas
Si tienes instalado Windows y Gnu/Linux en tu computadora, seguramente encontrarás problemas con la hora de tu Gnu/Linux, por lo que te recomiendo desactivar "UTC".
_____________________________________________________________________
Si te gusto el post comenta!
Estas sin tiempo para leerlo detenidamente? Agregalo a favoritos ya!
No entendiste algo? mandame un MP que te ayudo.
Te gustan mis aportes? Seguime! no te defraudaré.
Fuentes de conocimiento:
NTP
PDF Configuración de Servidores con GNU/Linux Joel Barrios Dueñas pagina 485 a 496
zona horaria
UTC