NTP

Conceptos Claves

  • Establecer la fecha y hora del sistema
  • Establecer el horario del reloj de hardware con la misma hora que UTC
  • Configurar la zona horaria correcta
  • Configuración básica de NTP
  • Saber como utilizar el servicio de pool.net.org

Términos y Utilidades

  • /usr/share/zoneinfo
  • /etc/timezone
  • /etc/localtime
  • /etc/ntp.conf
  • date
  • hwclock
  • ntpd
  • ntpdate
  • pool.ntp.org

Introducción

Hay dos relojes principales en un sistema Linux:

El reloj de hardware

Se trata de un reloj que corre en la CPU, de manera independiente a cualquier programa de control, incluso cuando la máquina está apagada.

El reloj por software

Es el que mantiene el kernel de Linux. Este lee el reloj por hardware cuando se enciende la maquina y es el que utilizan la mayoría de los programas para funcionar.

Internamente, Linux usa UTC (Coordinated Universal Time). Esta es la hora en Greenwich, Inglaterra. Linux usa el archivo /etc/localtime para sacar información acerca de lo zona horaria local. Este archivo no es un archivo de texto plano, por lo que no debería ser editado con editor de texto común. El mismo puede ser un archivo en si mismo o un enlace duro o simbólico hacia otro archivo.

Comando date

Para establecer manualmente la hora del reloj de software, utilizaremos el comando date

Sintaxis

Date [-u | --utc | --universal] [MMDDHHmm [AAAA]]

Ejemplo

El siguiente comando cambia la hora al 16 de Julio de 1982.

date 071610001982

Si el comando se utiliza sin ningún argumento, mostrara en pantalla la hora actual. Si se le pasa alguna hora, el reloj por software se fijara para esa hora. Por defecto, el comando date asume que se esta especificando la hora en horario local, para indicarle que utilice UTC, hay que pasar alguna de las opciones –u, -utc o –universal.

Comando hwclock

Descripción

Para sincronizar el reloj por hardware, se usa el comando hwclock. Este comando permite sincronizar el reloj por hardware con el reloj por software y también el proceso inverso.

Sintaxis

Hwclock [opciones]

Ejemplo 1

Para ver la hora del reloj por hardware

$ hwclock -r

Ejemplo 2

Para sincronizar el reloj por hardware con el reloj por software se utiliza el siguiente comando:

hwclock --systohc

Uso de NTP

La precisión necesaria que debe tener el reloj de un sistema varia de acuerdo el fin que se le dará al sistema. Una PC de uso hogareño no sufrirá mayores consecuencias por tener la hora corrida unos segundos o incluso unos minutos.

En el caso de aplicaciones científicas, industriales o de computadoras que usen protocolos de red basados en el tiempo, es necesario ser un poco mas preciso.

Para evitar que las computadoras se alejen de la hora de UTC, existen protocolos de red que regulan periódicamente la hora. Uno de esos protocolos, y el mas popular en Linux, es el Network Time Protocol o NTP.

Anatomía de NTP

Los servidores NTP se organizan de una manera jerárquica. En la cima de esa jerarquía se ubican dispositivos extremamente precisos, como relojes atómicos. Estos dispositivos conforman el estrato cero, pero no pueden ser contactados por cualquier servidor. Solo los servidores del estrato 1 pueden acceder a esos dispositivos, a los cuales se encuentran conectados.

Debajo de estos servidores del estrato 1, se encontraran los servidores de estrato 2 y así sucesivamente.

Configuración

Una vez instalado el software de NTP, este se configura desde el archivo /etc/ntp.conf. Este archivo contiene varias opciones de configuración, pero la mas importante son las líneas donde se indican los servidores a consultar:

server ntp.ejemplo.com.ar

server 1.ar.pool.ntp.org

server 1.south-america.pool.ntp.org

Cada una de estas líneas apunta a un servidor NTP, cuando se inicia el servicio, se intenta conectar a todos los servidores que están listados en este archivo, realiza una medición de la precisión de cada uno, y en base a esta medición selecciona al mas preciso para utilizar.

Si se realizan cambios en el archivo /etc/ntp.conf, es necesario reiniciar los servicios de NTP para que estos cambios surtan efecto.

Componentes de Software NTP

Para implementar el protocolo NTP se necesitaran servidores que se ejecuten en algún servidor y clientes que consuman ese servicio NTP. Tanto clientes como servidores utilizaran el paquete ntp o ntpd. Estos paquete provee la utilidad ntpd que permite:

  • Sincronizar el reloj por software con algún servidor NTP.
  • Permitir la sincronización con otros clientes NTP.
  • Leer los datos de sincronización horarias de dispositivos de hardware como receptores GPS.

results matching ""

    No results matching ""