Categorías: Noticias

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.

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.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • Fantástico! muy claro y conciso, la guinda es seguir con la idea de los estratos, y que del servidor de tu DMZ donde has configurado NTP sea el servidor de hora de tu LAN, para equipos de escritorio u otros servidores.

    Saludos

  • @nordri: Gran idea poner en el servidor que tienes en la zona DMZ un servidor de NTP y hacerte un estrato de referencia para tus usuarios finales.

  • Estimado. Gracias por la información, sin embargo me queda una duda.

    ¿Existe alguna manera, de tener un Linux sincronizado en forma permanente a otro NTP server usando sólo el archivo de conf. del ntpd?. Sucede que con la configuración de arriba, cada vez que se reinicia el demonio ntpd, se efectúa la sincronización. Hice la prueba seteando la hora del sistema con unos 2 min. de atraso y no veo que se sincronice, ni lenta ni rápidamente. Gracias.

    {{{
    [root@sogem3 log]# date && ntpdate -q ntp.shoa.cl && date && service ntpd restart && date
    Wed Dec 15 17:04:13 CLST 2010
    server 200.54.149.19, stratum 1, offset 3670.924576, delay 0.03580
    15 Dec 17:04:13 ntpdate[1474]: step time server 200.54.149.19 offset 3670.924576 sec
    Wed Dec 15 17:04:13 CLST 2010
    Shutting down ntpd: [ OK ]
    ntpd: Synchronizing with time server: [ OK ]
    Syncing hardware clock to system time [ OK ]
    Starting ntpd: [ OK ]
    Wed Dec 15 18:05:26 CLST 2010
    [root@sogem3 log]#
    }}}

  • Gracias.

    Usando Debian Testing después de instalar ntp hay que instalar también ntpdate.

    No conocía que el Real Observatorio de la Armada tuviese un servidor horario con la hora del meridiano de Cádiz. Así se llamaba en siglo XVIII al meridiano cero en vez de Greenwich (GMT, UTC, Zulú)

    Un saludo.

  • Hola: Soy estudiante de 5to año. Me han dado un tema de tesis sobre las configuraciones de la hora en los sistemas UNIX, lo de mantener la hora exacta en las computadoras. Le explico, se necesita tener la misma hora en todas las PC pero, no podemos establecer la hora desde un servidor externo, digamos nuestro servidor se tendría que actualizar la hora por el mismo, tendría que crear mi propio reloj, pero para esto necesitaría una fuente que brinde interrupciones o pulsos cada un tiempo determinado. Me gustaría saber si me puede ayudar con este tema, el de obtener algo que me brinde ese pulso o interrupción constante cada un tiempo para luego construir mi propio reloj. Tengo pensado hacerlo capturando las interrupciones del micro procesador y ya de hay construiría mi propio reloj, pero no tengo mucha experiencia en la programación, si sabe como capturar esas interrupciones en algún lenguaje como PHP, QT o otro que no sea ensamblador. porque es que después tengo que garantizar que una red de ordenadores mantengan la misma hora.

    Pero yo necesito como puedo lograr que mi sistema operativo que es UNIX envés de tomar la hora que el establece por defecto tome la hora del reloj que yo crearía, y después como podría mediante la red garantizar que los demás ordenadores también tengan esa hora, sin que se desfasen, o sea que no haya retardo en consumir la hora de mi servidor.
    Le agradecería mucho su ayuda porque la verdad es que estoy perdió en este tema de sincronización de los ordenadores, no se nada de cómo lograr que se mantengan todos con la misma hora y fecha, y menos que tomen la hora de una aplicación que tendría que hacer yo.

  • Buenas noches Javier, la razón de la presente es la siguiente: ya hace tres días que intento instalar Zorin OS Educational Lite 9, en una Pentium IV de 512 Mb de RAM, 6.8 Gb de HDD y placa PC Chip. El proceso es de lo normal hasta que después de la carga de los archivos, sale un mensaje de creación de usuarios en donde se congela o mejor dicho lanza el siguiente error:
    zorin-os ntpd_intres[1829]: host name not found: 0.ubuntu.pool.ntp.org
    zorin-os ntpd_intres[1829]: host name not found: 1.ubuntu.pool.ntp.org
    zorin-os ntpd_intres[1829]: host name not found: 2.ubuntu.pool.ntp.org
    zorin-os ntpd_intres[1829]: host name not found: 3.ubuntu.pool.ntp.org
    zorin-os ntpd_intres[1829]: host name not found: ntp.ubuntu.com
    Entre otras líneas de código.
    Busqué el error y me indica que es problema de sincronización y la Red, a pesar de no estar conectado a ninguna red puesto que solo deseo emplear el sistema operativo de manera educativa en un colegio alejado de la zona céntrica.
    Gracias por su apoyo y comprensión.

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace