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:
- Definir la zona horaria en nuestro sistema con tzselect
- ¿Cómo cambiar la fecha y la hora desde la consola?
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.
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.