Configurar NTP (hora en red) en nuestro equipo

Configurar NTP (hora en red) en nuestro equipo

Esta entrada sería la finalización de una serie de entradas relacionadas con la hora, fecha y zona horaria del sistema; de los que ya hemos hablado:

Sin embargo, lo lógico es automatizar ese trabajo y poder usar uno de los muchos relojes de referencia que hay en la red, más aún si nuestro equipo proporciona algún tipo de servicio en línea. Tener una hora real es básico para multitud de operaciones.

Instalar

Lo primero será instalar el servicio de NTP, probablemente ya lo tengamos instalado pero por si acaso:

$ apt-get install ntp

$ yum install ntp

Dependiendo de vuestra distribución deberéis usar una de esas instrucciones.

Funcionamiento NTP

Esquema gráfico de funcionamiento del protocolo NTP

Uso

Ya estamos en condiciones de hacer uso del comando ntpdate que actualizará la hora de nuestro sistema con la del servidor de hora que le pidamos, la sintaxis es la siguiente (el parámetro -u debemos usarlo para evitar que un cortafuegos nos corte la conexión UDP en el puerto 123 que usa NTP):

ntpdate -u dirección_servidor

Hay bastantes servidores públicos que ofrecen el servicio NTP. Destacaría los siguientes:

  • RedIris (red española para Interconexión de los Recursos InformáticoS de las universidades y centros de investigación): hora.rediris.es
  • ROA (Real Observatorio de la Armada): hora.roa.es
  • Ubuntu: ntp.ubuntu.com

Configuración

La idea no es pedirle a nuestro equipo de forma manual que pida la hora al servidor NTP, la idea es automatizar la tarea y que se haga de forma periódica y transparente. Para ello lo configuraremos como servicio. Las instrucciones que comento a partir de aquí, son propias de distribuciones derivadas de Red Hat, como pueden ser Fedora, CentOS o Scientific Linux, en Debian, Ubuntu y derivadas cambiar parcialmente, pero la idea es la misma.

Lo primero que debemos hacer es editar el fichero /etc/ntpd.conf y buscar dentro de él la zona donde se encuentran el listado de servidores, por defecto aparecerá algo como lo que muestro a continuación:

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

Los sustituimos por la lista de servidores NTP que hayamos escogido (lo ideal es poner por lo menos 3), salvamos y salimos del fichero.

Lo próximo será asegurarnos que el servicio NTP se activará en cada inicio del sistema:

chkconfig ntpd on

Y para terminar, lo reiniciamos manualmente para asegurarnos de que ha leído la nueva configuración:

service ntpd restart

Para terminar y como nota curiosa, os comento que el servicio NTP está dividido en diferentes niveles o estratos. Lo del nivel más superior, el nivel 0, lo controlan relojes atómicos o relojes GPS; y son inaccesibles para nosotros. Ellos se encargan de dotar de la hora actual a los servidores del siguiente estrato que son a los que nosotros nos conectamos.