Você está na página 1de 16

NTP a fondo

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".

Você também pode gostar