#SysAdmin – Automatización de los Servicios – #NTP

ntp-hora-linux

En este tutorial vamos a ver como instalar un servidor NTP(Servidor de Tiempo o Hora) en Linux, que proporcionará la hora de las computadoras dentro de nuestra red y servicios.

La implantación de un servicio de sincronización ofrece obvias ventajas dentro de las siguientes áreas:

  • Correo electrónico y listas de distribución: Fiabilidad en las fechas de recepción de mensajes.
  • Proxy-caché: Es fundamental que en el intercambio de documentos entre servidores los diversos tiempos asociados al documento (última modificación, tiempo en la caché, etc…) sean precisos para que los documentos puedan considerarse consistentes de acuerdo con la política de refresco y expiración de documentos de la caché.
  • Seguridad en red: La detección de problemas de seguridad frecuentemente exige poder comparar logs de acceso de máquinas diferentes, para lo que es imprescindible la coincidencia horaria de las mismas.
  • En general, para un estudio detallado de cualquier servicio distribuido es muy útil el disponer de datos horarios precisos entre los equipos implicados, bien sea para la detección de problemas de hardware y/o software, así como para el estudio estadístico de los mismos.

Que es el NTP

NTP es un protocolo usado para sincronizar los relojes de host conectados entre sí mediante redes IP. Los mensajes NTP son llevados entre los hosts mediante los protocolos UDP/IP. Utilizando el puerto 123. Se basa en una arquitectura de servidores de tiempo y clientes en niveles llamados stratum.

Si las necesidades de ciertos procesos requiriesen un control más preciso del tiempo, se considerará la instalación de un stratum 1 conectado a un equipo GPS que permitirá cambiar la estructura de servidores a los stratum 2 y 3.

Este protocolo suministra mecanismos para sincronizar máquinas con una precisión del orden de nanosegundos sin ambigüedad en la fecha,  Su funcionamiento se basa en la comparación periódica del tiempo del cliente con respecto al tiempo del servidor. Para lograr esto, se envían mensajes NTP a intervalos regulares. Ciertos campos de este mensaje NTP son modificados por el servidor de tiempo y por la máquina local (cliente) con marcas de tiempo correspondientes al momento de salida del mensaje, momento de llegada al servidor y momento de salida del servidor, que junto con el momento de llegada al cliente permite ajustar el tiempo del host cliente.

Como instalar y configurar un servidor NTP en debían Linux

Lo primero que vamos hacer es instalar el programa que nos sirve para bridar el servicio de tiempo, este programa se llama NTP y lo instalaremos por medio del siguiente comando:

apt-get install ntp

Antes de empezar a editar el archivo de configuración del NTP, debemos sincronizar la hora con el servidor externo que utilizaremos para sincronizar la hora, este paso se hace para garantizar que nuestro servidor tenga la hora exacta. Esta sincronización inicial la vamos hacer con el siguiente comando:

ntpdate cronos.cenam.mx

Nota: en ocasiones el bash no nos deja ejecutar este comando, para esto debemos instalarlo asi:

apt-get install ntpdate

Antes de empezar a editar el archivo de configuración del NTP, debemos sincronizar la hora con el servidor externo que utilizaremos para sincronizar la hora, este paso se hace para garantizar que nuestro servidor tenga la hora exacta. Esta sincronización inicial la vamos hacer con el siguiente comando:

ntpdate ntp.ubuntu.com

Nota: en ocasiones el bash no nos deja ejecutar este comando, para esto debemos instalarlo asi:

apt-get install ntpdate

ntp.ubuntu.com es el nombre de uno de los servidores externos de tiempo con el cual estaremos sincronizados, (se configuran varios servidores externos por si alguno  falla) como también podemos ver en el comando hay una letra que  es la  “-u” esta se utiliza cuando se tiene inconvenientes con el firewall.

También podemos observar cual es el comportamiento de la ejecución del comando, en la cual se puede ver que corrige la fecha y la hora, también la dirección del servidor y el tiempo que tarda en actualizar

Ahora lo que vamos hacer es editar el archivo de configuración de nuestro servidor NTP. Este archivo lo vamos a editar con el siguiente comando:

nano /etc/ntp.conf

en el mismo agregamos

server ntp.ubuntu.com

arreglamos la linea que dice

restrict 194.168.1.0 mask 255.255.255.0 notrust

broadcast 194.168.1.255

poniendo nuestro rango de IP y mascara, con eso logramos que el servicio pueda ser visto para nuestra red LAN.

Ahora el paso a seguir es iniciar el daemon del servidor NTP, este lo haremos con el siguiente comando:

/etc/init.d/ntp restart

Ejemplo de conf:

driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 10.11.10.254
restrict -4 default nomodify nopeer noquery notrap
restrict 127.0.0.1
restrict 10.11.10.253
restrict 10.11.11.0 mask 255.255.255.0 nomodify notrap
restrict 10.11.12.0 mask 255.255.255.0 nomodify notrap
restrict 10.11.13.0 mask 255.255.255.0 nomodify notrap
restrict 10.11.14.0 mask 255.255.255.0 nomodify notrap
restrict 10.11.15.0 mask 255.255.255.0 nomodify notrap
restrict 10.11.16.0 mask 255.255.255.0 nomodify notrap
broadcast 10.11.11.255
broadcast 10.11.12.255
broadcast 10.11.13.255
broadcast 10.11.14.255
broadcast 10.11.15.255
broadcast 10.11.16.255

Desabilitar que el ntp escuche por IPV6

nano /etc/default/ntp
NTPD_OPTS='-4 -g'

Comprobamos

root@fw-dmz:/home/sysadmin# netstat -lptun
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 10.11.13.2:123          0.0.0.0:*                           112324/ntpd     
udp        0      0 10.11.16.2:123          0.0.0.0:*                           112324/ntpd     
udp        0      0 10.11.12.2:123          0.0.0.0:*                           112324/ntpd     
udp        0      0 10.11.15.2:123          0.0.0.0:*                           112324/ntpd     
udp        0      0 10.11.11.2:123          0.0.0.0:*                           112324/ntpd     
udp        0      0 172.16.43.2:123         0.0.0.0:*                           112324/ntpd     
udp        0      0 10.11.10.253:123        0.0.0.0:*                           112324/ntpd     
udp        0      0 127.0.0.1:123           0.0.0.0:*                           112324/ntpd     
udp        0      0 0.0.0.0:123             0.0.0.0:*                           112324/ntpd 

6 Replies to “#SysAdmin – Automatización de los Servicios – #NTP”

  1. Tiene contendido duplicado en el post:
    ntpdate cronos.cenam.mx

    Nota: en ocasiones el bash no nos deja ejecutar este comando, para esto debemos instalarlo asi:

    apt-get install ntpdate

    Antes de empezar a editar el archivo de configuración del NTP, debemos sincronizar la hora con el servidor externo que utilizaremos para sincronizar la hora, este paso se hace para garantizar que nuestro servidor tenga la hora exacta. Esta sincronización inicial la vamos hacer con el siguiente comando:

Deja un comentario

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

*