Diferencia entre revisiones de «NTP»

De CURE - Informática
Ir a la navegación Ir a la búsqueda
m
 
(No se muestran 2 ediciones intermedias de otro usuario)
Línea 8: Línea 8:
 
* configurar servidor NTP (paquete ntp).
 
* configurar servidor NTP (paquete ntp).
 
* configurar cliente NTP (paquete ntp).
 
* configurar cliente NTP (paquete ntp).
* fijar la hora consultando servidores (paquete ntp).
+
* fijar la hora consultando servidores de hora internacionales (paquete ntp).
 
* fijar la hora al inicio (paquete ntpdate).
 
* fijar la hora al inicio (paquete ntpdate).
  
 
===Software===
 
===Software===
 
De la distribución de Ubuntu, instalar estos paquetes:
 
De la distribución de Ubuntu, instalar estos paquetes:
* ntp: es el demonio ntpd; ntp-doc: su documentación.
+
* ntp: el demonio ntpd; ntp-doc: su documentación.
 
* ntpdate: recomendado para poner en hora inicialmente o por única vez.
 
* ntpdate: recomendado para poner en hora inicialmente o por única vez.
  
Una lista de servidores para Latinoamérica puede verse aquí:
+
Lista de servidores de hora para Latinoamérica:
 
[http://www.pool.ntp.org/zone/south-america http://www.pool.ntp.org/zone/south-america]
 
[http://www.pool.ntp.org/zone/south-america http://www.pool.ntp.org/zone/south-america]
  
 
===Conceptos, comandos, archivos===
 
===Conceptos, comandos, archivos===
 +
NTP, Network Time Protocol, es un protocolo y una implementación de software para sincronizar los relojes de las computadoras a través de las redes de datos de paquetes, conmutadas, y de latencia variable [http://en.wikipedia.org/wiki/Network_Time_Protocol Wikipedi: Network Time Protocol].
 +
 
Comandos:
 
Comandos:
* ntpdate
+
* ntpdate: para fijar fecha y hora por NTP.
* ntpdate-debian
+
* ntpdate-debian: versión Debian para fijar fecha y hora por NTP.
* ntpq, ntpdc
+
* ntpq: programa estándar de consulta NTP.
 +
* ntpdc: programa especial de consulta NTP.
  
 
Archivos:
 
Archivos:
* /etc/ntp.conf: configuración de NTP
+
* /etc/ntp.conf: configuración de NTP.
 
* /etc/default/ntpdate: configuración para ntpdate-debian.
 
* /etc/default/ntpdate: configuración para ntpdate-debian.
  
Línea 34: Línea 37:
  
 
  sudo ntpdate pool.ntp.org
 
  sudo ntpdate pool.ntp.org
fija la hora consultando los servidores de hora
+
fija la hora consultando los servidores de hora indicados.
 
  sudo ntpdate ntp.ubuntu.com
 
  sudo ntpdate ntp.ubuntu.com
idem.
+
idem indicando otro servidor de hora.
  
 
El archivo /etc/default/ntpdate fija los servidores para ntpdate, pero sólo es utilizado por el comando ntpdate-debian:
 
El archivo /etc/default/ntpdate fija los servidores para ntpdate, pero sólo es utilizado por el comando ntpdate-debian:
 
  sudo ntpdate-debian
 
  sudo ntpdate-debian
 +
fija fecha y hora.
  
 
====NTP====
 
====NTP====
Configuración: una vez instalados los paquetes, debe funcionar con los servidores que trae por defecto. Para verificar:
+
Configuración: una vez instalados los paquetes, funciona con los servidores que trae por defecto. Para verificar:
  
 
  $ ntpdc -c dmpeers
 
  $ ntpdc -c dmpeers
Línea 62: Línea 66:
 
  sudo /etc/init.d/ntp restart
 
  sudo /etc/init.d/ntp restart
  
ntpq: interfaz para monitorear las operaciones de ntpd y determinar su rendimiento. Para ver los comandos disponibles, pedir ayuda sobre un comando y salir:
+
ntpq: interfaz para monitorear las operaciones de ntpd y determinar su rendimiento. La siguiente sesión muestra los comandos disponibles, pide ayuda sobre un comando, y sale:
  
 
  ntpq
 
  ntpq
Línea 69: Línea 73:
 
   q
 
   q
  
ntpdc: para consultar al demonio ntpd sobre su estado actual y también cambiar su estado. La información estadística y de estado se obtiene a través de la interfaz ntpdc. Para ver qué comandos tiene, ver el estado de hora contra los servidores, y salir:
+
ntpdc: para consultar al demonio ntpd sobre su estado actual y también cambiar su estado. La información estadística y de estado se obtiene a través de la interfaz ntpdc. La siguiente sesión muestra qué comandos tiene, muestra el estado de hora contra los servidores, y sale:
  
 
  ntpdc
 
  ntpdc
Línea 77: Línea 81:
  
 
===Verificación===
 
===Verificación===
 +
====ntpdate====
 +
Verificar que el comando corre, y ajusta la hora de la máquina.
 +
 +
====NTP====
 
El comando
 
El comando
 
  ntpdc -c dmpeers
 
  ntpdc -c dmpeers
Línea 90: Línea 98:
  
 
El primer carácter de cada línea indica el estado del servidor: (.) el servidor fue descartado momentáneamente del algoritmo de elección de servidor de sincronización. (*) servidor con el que actualmente esta sincronizando nuestro equipo.
 
El primer carácter de cada línea indica el estado del servidor: (.) el servidor fue descartado momentáneamente del algoritmo de elección de servidor de sincronización. (*) servidor con el que actualmente esta sincronizando nuestro equipo.
La columna st indica el stratum de ese servidor.
+
La columna st indica el stratum (nivel) de ese servidor.
La columna poll cuanto tiempo transcurrirá entre consultas a ese servidor.
+
La columna poll indica cuanto tiempo transcurrirá entre consultas a ese servidor.
La columna reach, indica el resultado de las últimas 8 consultas en octal con la última consulta indicada en el bit más bajo.
+
La columna reach indica el resultado de las últimas 8 consultas en octal con la última consulta indicada en el bit más bajo.
La columna delay, indica el timpo que tarda, en milisegundos, en llegar la respuesta desde el servidor.
+
La columna delay indica el timpo que tarda, en milisegundos, en llegar la respuesta desde el servidor.
 
La columna de offset indica la diferencia en milisegundos entre el reloj de ese servidor y el nuestro.
 
La columna de offset indica la diferencia en milisegundos entre el reloj de ese servidor y el nuestro.
La última columna, disp, indica la desviación existente, en milisegundos, entre las respuestas obtenidas de ese servidor.
+
La última columna disp indica la desviación existente, en milisegundos, entre las respuestas obtenidas de ese servidor.
  
 
===Notas adicionales===
 
===Notas adicionales===
Línea 105: Línea 113:
 
  restrict <dirección IP> [mask <máscara>] [bandera ...]
 
  restrict <dirección IP> [mask <máscara>] [bandera ...]
  
El comando discard configura los parámetros que protegen a un servidor del abuso de los clientes (siempre que el flag de limited sea configurado en el comando restrict). El parámetro average especifica el promedio mínino de tiempo entre paquetes de un cliente (valor por defecto 2^5 ), mientras que el parámetro minimun especifica el tiempo mínimo entre paquetes del cliente (valor por defecto 2^2). Los paquetes que no  cumplan esos tiempos  mínimos son descartados.
+
El comando <code>discard</code> configura los parámetros que protegen a un servidor del abuso de los clientes (siempre que el flag de limited sea configurado en el comando <code>restrict</code>). El parámetro <code>average</code> especifica el promedio mínino de tiempo entre paquetes de un cliente (valor por defecto 2^5 ), mientras que el parámetro <code>minimun</code> especifica el tiempo mínimo entre paquetes del cliente (valor por defecto 2^2). Los paquetes que no  cumplan esos tiempos  mínimos son descartados.
  
El comando, restrict es el que permite indicar que pueden o no hacer los clientes. En primer lugar, la dirección IP corresponde a una dirección IP o red, especificándose mediante el formato X.X.X.X. La máscara, si existe, indica la máscara que se aplicará a la dirección para obtener la subred que indica la dirección IP. Por defecto, la máscara es 255.255.255.255, lo que supone que la dirección IP corresponde a un ordenador y no a una subred. Existe una constante especial, denominada default, que  permite especificar restricciones por defecto para todos los ordenadores que no se encuentren especificados por otras reglas restrict. El campo bandera indica las restricciones que se aplican a los ordenadores indicados. Por defecto, si no se especifica ninguna bandera, los clientes tienen acceso completo al servidor.
+
El comando <code>restrict</code> es el que permite indicar que pueden o no hacer los clientes. En primer lugar, la dirección IP corresponde a una dirección IP o red, especificándose mediante el formato X.X.X.X. La máscara, si existe, indica la máscara que se aplicará a la dirección para obtener la subred que indica la dirección IP. Por defecto, la máscara es 255.255.255.255, lo que supone que la dirección IP corresponde a un ordenador y no a una subred. Existe una constante especial, denominada <code>default</code>, que  permite especificar restricciones por defecto para todos los ordenadores que no se encuentren especificados por otras reglas <code>restrict</code>. El campo bandera indica las restricciones que se aplican a los ordenadores indicados. Por defecto, si no se especifica ninguna bandera, los clientes tienen acceso completo al servidor.
  
 
Algunas banderas son:
 
Algunas banderas son:
* ignore: Ignorar todos los paquetes provenientes de esta dirección IP.
+
* <code>ignore</code>: Ignorar todos los paquetes provenientes de esta dirección IP.
* limited: Niega el servicio si los paquetes sobrepasan los limites establecidos con el comando discard.
+
* <code>limited</code>: Niega el servicio si los paquetes sobrepasan los limites establecidos con el comando <code>discard</code>.
* nomodify: Ignora todos los paquetes de esa dirección IP que intenten modificar el servidor excepto las respuestas a las consultas realizadas.
+
* <code>nomodify</code>: Ignora todos los paquetes de esa dirección IP que intenten modificar el servidor excepto las respuestas a las consultas realizadas.
* Noquery: Ignora todos los paquetes provenientes de esa dirección IP que soliciten consultas de información o configuración.
+
* <code>Noquery</code>: Ignora todos los paquetes provenientes de esa dirección IP que soliciten consultas de información o configuración.
* nopeer: Proporciona servicio a esa IP solo si ya se estaba proporcionando servicio a la misma.
+
* <code>nopeer</code>: Proporciona servicio a esa IP solo si ya se estaba proporcionando servicio a la misma.
* notrap: No proveer el servicio de atrapar mensajes de control de paquetes de consulta del estado del servidor.
+
* <code>notrap</code>: No proveer el servicio de atrapar mensajes de control de paquetes de consulta del estado del servidor.
* notrust: No utilizar esta IP como fuente de sincronización.
+
* <code>notrust</code>: No utilizar esta IP como fuente de sincronización.
* ntpport: Aplicar la restricción solo si el puerto origen del paquete es el de NTP (UDP 123).
+
* <code>ntpport</code>: Aplicar la restricción solo si el puerto origen del paquete es el de NTP (UDP 123).
* non-ntport: Aplicar la restricción si el puerto origen del paquete no es el de NTP (UDP 123).
+
* <code>non-ntport</code>: Aplicar la restricción si el puerto origen del paquete no es el de NTP (UDP 123).
  
 
El cliente NTP se configura conjuntamente con el servidor (un servidor NTP es un cliente de un servidor NTP de nivel superior al suyo): se indica en la definición de servidores el servidor con el que se quiere sincronizar y se agrega el control de acceso que se quiera disponer.
 
El cliente NTP se configura conjuntamente con el servidor (un servidor NTP es un cliente de un servidor NTP de nivel superior al suyo): se indica en la definición de servidores el servidor con el que se quiere sincronizar y se agrega el control de acceso que se quiera disponer.
Línea 129: Línea 137:
 
===Referencias===
 
===Referencias===
 
* [http://www.ntp.org/ Sitio de NTP]
 
* [http://www.ntp.org/ Sitio de NTP]
* páginas man: ntpq, ntpdc
+
* páginas man: ntpq, ntpdc, ntpd, ntpdate.
 +
 
 +
----
 +
Créditos: Celia dos Santos,  Víctor González Barbone.
 +
 
 +
[[Category:Descontinuadas]]

Revisión actual - 17:03 14 ene 2022

Objetivos

El objetivo de esta tarea es mantener en hora la máquina contra los servidores de hora universales. Se desea:

  • poner en hora la máquina.
  • fijar en forma automática la hora de la máquina.
  • convertir esta máquina en un servidor de hora para otras máquinas.

Para ello es necesario:

  • configurar servidor NTP (paquete ntp).
  • configurar cliente NTP (paquete ntp).
  • fijar la hora consultando servidores de hora internacionales (paquete ntp).
  • fijar la hora al inicio (paquete ntpdate).

Software

De la distribución de Ubuntu, instalar estos paquetes:

  • ntp: el demonio ntpd; ntp-doc: su documentación.
  • ntpdate: recomendado para poner en hora inicialmente o por única vez.

Lista de servidores de hora para Latinoamérica: http://www.pool.ntp.org/zone/south-america

Conceptos, comandos, archivos

NTP, Network Time Protocol, es un protocolo y una implementación de software para sincronizar los relojes de las computadoras a través de las redes de datos de paquetes, conmutadas, y de latencia variable Wikipedi: Network Time Protocol.

Comandos:

  • ntpdate: para fijar fecha y hora por NTP.
  • ntpdate-debian: versión Debian para fijar fecha y hora por NTP.
  • ntpq: programa estándar de consulta NTP.
  • ntpdc: programa especial de consulta NTP.

Archivos:

  • /etc/ntp.conf: configuración de NTP.
  • /etc/default/ntpdate: configuración para ntpdate-debian.

Procedimiento

ntpdate

sudo ntpdate pool.ntp.org

fija la hora consultando los servidores de hora indicados.

sudo ntpdate ntp.ubuntu.com

idem indicando otro servidor de hora.

El archivo /etc/default/ntpdate fija los servidores para ntpdate, pero sólo es utilizado por el comando ntpdate-debian:

sudo ntpdate-debian

fija fecha y hora.

NTP

Configuración: una vez instalados los paquetes, funciona con los servidores que trae por defecto. Para verificar:

$ ntpdc -c dmpeers
    remote           local      st poll reach  delay   offset    disp
=======================================================================
europium.canoni 192.168.11.13    2   64    1 0.34326 -0.012733 2.81735

Para agregar servidores de hora cercanos, cambiar el archivo /etc/ntp.conf:

# /etc/ntp.conf
...
# You do need to talk to an NTP server or two (or three).
#server ntp.ubuntu.com
server 0.south-america.pool.ntp.org
server 1.south-america.pool.ntp.org
server 2.south-america.pool.ntp.org
server 3.south-america.pool.ntp.org

Reiniciar el NTP daemon:

sudo /etc/init.d/ntp restart

ntpq: interfaz para monitorear las operaciones de ntpd y determinar su rendimiento. La siguiente sesión muestra los comandos disponibles, pide ayuda sobre un comando, y sale:

ntpq
  help
  help <comando_ntpq>
  q

ntpdc: para consultar al demonio ntpd sobre su estado actual y también cambiar su estado. La información estadística y de estado se obtiene a través de la interfaz ntpdc. La siguiente sesión muestra qué comandos tiene, muestra el estado de hora contra los servidores, y sale:

ntpdc
  help
  dmpeers
  q

Verificación

ntpdate

Verificar que el comando corre, y ajusta la hora de la máquina.

NTP

El comando

ntpdc -c dmpeers

muestra lista de servidores de hora conocidos, y datos de sincronización de hora.

Ejemplo: salida de ntpdc -c dmpeers

remote              local  st  poll reach delay  offset    disp
=====================================================================
titan.cais.rnp.  10.5.2.2   2 1024 377 0.21002 -0.058602 0.18506
*roma.coe.ufrj.b 10.5.2.2   2 1024 377 0.10583 -0.006059 0.13664
.ntp.reuna.cl    10.5.2.2   2 1024 377 0.04987  0.001619 0.13666
.core-vgg-1-lo0. 10.5.2.2   2 1024 377 0.03033 -0.005396 0.13664

El primer carácter de cada línea indica el estado del servidor: (.) el servidor fue descartado momentáneamente del algoritmo de elección de servidor de sincronización. (*) servidor con el que actualmente esta sincronizando nuestro equipo. La columna st indica el stratum (nivel) de ese servidor. La columna poll indica cuanto tiempo transcurrirá entre consultas a ese servidor. La columna reach indica el resultado de las últimas 8 consultas en octal con la última consulta indicada en el bit más bajo. La columna delay indica el timpo que tarda, en milisegundos, en llegar la respuesta desde el servidor. La columna de offset indica la diferencia en milisegundos entre el reloj de ese servidor y el nuestro. La última columna disp indica la desviación existente, en milisegundos, entre las respuestas obtenidas de ese servidor.

Notas adicionales

NTP

Para controlar la información que suministra NTP y las posibles acciones que pueden los clientes realizar sobre el servidor, existen unos comandos que permiten controlar el acceso al servidor. Estos comandos son:

discard [average <valor>] [minimun <min>] [monitor <prob>]
restrict <dirección IP> [mask <máscara>] [bandera ...]

El comando discard configura los parámetros que protegen a un servidor del abuso de los clientes (siempre que el flag de limited sea configurado en el comando restrict). El parámetro average especifica el promedio mínino de tiempo entre paquetes de un cliente (valor por defecto 2^5 ), mientras que el parámetro minimun especifica el tiempo mínimo entre paquetes del cliente (valor por defecto 2^2). Los paquetes que no cumplan esos tiempos mínimos son descartados.

El comando restrict es el que permite indicar que pueden o no hacer los clientes. En primer lugar, la dirección IP corresponde a una dirección IP o red, especificándose mediante el formato X.X.X.X. La máscara, si existe, indica la máscara que se aplicará a la dirección para obtener la subred que indica la dirección IP. Por defecto, la máscara es 255.255.255.255, lo que supone que la dirección IP corresponde a un ordenador y no a una subred. Existe una constante especial, denominada default, que permite especificar restricciones por defecto para todos los ordenadores que no se encuentren especificados por otras reglas restrict. El campo bandera indica las restricciones que se aplican a los ordenadores indicados. Por defecto, si no se especifica ninguna bandera, los clientes tienen acceso completo al servidor.

Algunas banderas son:

  • ignore: Ignorar todos los paquetes provenientes de esta dirección IP.
  • limited: Niega el servicio si los paquetes sobrepasan los limites establecidos con el comando discard.
  • nomodify: Ignora todos los paquetes de esa dirección IP que intenten modificar el servidor excepto las respuestas a las consultas realizadas.
  • Noquery: Ignora todos los paquetes provenientes de esa dirección IP que soliciten consultas de información o configuración.
  • nopeer: Proporciona servicio a esa IP solo si ya se estaba proporcionando servicio a la misma.
  • notrap: No proveer el servicio de atrapar mensajes de control de paquetes de consulta del estado del servidor.
  • notrust: No utilizar esta IP como fuente de sincronización.
  • ntpport: Aplicar la restricción solo si el puerto origen del paquete es el de NTP (UDP 123).
  • non-ntport: Aplicar la restricción si el puerto origen del paquete no es el de NTP (UDP 123).

El cliente NTP se configura conjuntamente con el servidor (un servidor NTP es un cliente de un servidor NTP de nivel superior al suyo): se indica en la definición de servidores el servidor con el que se quiere sincronizar y se agrega el control de acceso que se quiera disponer.

ntpdate

Para realizar el proceso de sincronización al inicio: configurar ntpdate. Los servidores con los que sincroniza se establecen en el archivo /etc/default/ntpdate (sólo para el comando ntpdate-debian). Si NTPDATE_USE_NTP_CONF=yes, la lista de servidores es tomada del archivo /etc/ntp.conf Si NTPDATE_USE_NTP_CONF=no, hay que establecer la lista de servidores en NTPSERVERS

Referencias


Créditos: Celia dos Santos, Víctor González Barbone.