Diferencia entre revisiones de «NTP»

De CURE - Informática
Ir a la navegación Ir a la búsqueda
(→‎Referencias: verificación)
Línea 1: Línea 1:
NTP
 
NTP
 
Network Time Protocol
 
Borrador
 
Notas de Víctor González Barbone.
 
  
> Info:
 
http://www.ntp.org
 
Lista de servidores para Latinoamérica:
 
http://www.pool.ntp.org/zone/south-america
 
 
> Instalar
 
ntp, demonio ntpd; ntp-doc, documentación
 
ntpdate: recomendado para poner en hora inicialmente.
 
 
> Configuración
 
Debe funcionar con los servidores que trae por defecto.
 
Verificar con
 
ntpdc -c dmpeers
 
muestra lista de servidores de hora conocidos y datos de sincronización de hora.
 
 
Si se quiere agregar servidores cercanos, agregarlos en /etc/ntp.conf:
 
# /etc/ntp.conf
 
...
 
#server 0.debian.pool.ntp.org iburst dynamic
 
#server 1.debian.pool.ntp.org iburst dynamic
 
#server 2.debian.pool.ntp.org iburst dynamic
 
#server 3.debian.pool.ntp.org iburst dynamic
 
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
 
 
En Facultad de Ingeniería, los servidores de hora externos pueden no ser accesibles; se comentan y coloca el servidor de hora de Facultad:
 
# /etc/ntp.conf
 
...
 
# servidor de hora de facultad de ingeniería
 
server arquimedes.fing.edu.uy
 
 
El servidor de hora de la Facultad de Ingeniería NO contesta consultas externas.
 
 
> Comandos
 
ntpq
 
help
 
help <comando_ntpq>
 
q
 
sale
 
ntpdc
 
help
 
muestra comandos
 
dmpeers
 
muestra estado de hora contra los servidores.
 
q
 
sale
 
 
==> ntpdate
 
sudo ntpdate pool.ntp.org
 
fija la hora consultando los servidores de hora
 
También:
 
sudo ntpdate ntp.ubuntu.com
 
 
OJO: el archivo /etc/default/ntpdate sólo es usado por el comando
 
ntpdate-debian
 
El archivo /etc/default/ntpdate fija los servidores.
 
Para Facultad de Ingeniería:
 
# /etc/default/ntpdate
 
...
 
NTPSERVERS="ampere.fing.edu.uy arquimedes.fing.edu.uy"
 
 
=Objetivos=
 
 
*Configurar servidor NTP.
 
 
*Configurar cliente NTP.
 
 
*Fijar la hora consultando servidores.
 
 
*Fijar la hora al inicio.
 
 
=Software=
 
NTP (Netwok Time Protocolo)
 
 
=Procedimiento=
 
 
* Instalación
 
 
sudo apt-get install ntp
 
 
* Configurar servidor ntp
 
 
Editar el archivo /etc/ntp.conf.
 
 
Definir los servidores con los que se va a sincronizar y control de acceso.
 
 
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
 
 
# Fichero donde almacenar la diferencia del reloj local
 
driftfile /var/lib/ntp/ntp.drift
 
 
# Activar esta opcion se desea estadisticas.
 
statsdir /var/log/ntpstats/
 
logconfig =syncstatus + sysevents
 
logfile /var/log/ntp.log
 
statistics loopstats peerstats clockstats
 
filegen loopstats file loopstats type day enable
 
filegen peerstats file peerstats type day enable
 
filegen clockstats file clockstats type day enable
 
 
# Definición de los servidores
 
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
 
#server ntp.ubuntu.com
 
 
# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
 
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
 
# might also be helpful.
 
#
 
# Note that "restrict" applies to both servers and clients, so a configuration
 
# that might be intended to block requests from certain clients could also end
 
# up blocking replies from your own upstream servers.
 
 
# Por defecto permite la consulta de cualquier ordenador, pero no la configuración.
 
restrict -4 default kod notrap nomodify nopeer noquery
 
restrict -6 default kod notrap nomodify nopeer noquery
 
 
# Local users may interrogate the ntp server more closely.
 
restrict 127.0.0.1
 
restrict ::1
 
 
# Clients from this (example!) subnet have unlimited access, but only if
 
# cryptographically authenticated.
 
#restrict 192.168.123.0 mask 255.255.255.0 notrust
 
 
# If you want to provide time to your local subnet, change the next line.
 
# (Again, the address is an example only.)
 
#broadcast 192.168.123.255
 
 
# If you want to listen to time broadcasts on your local subnet, de-comment the
 
# next lines.  Please do this only if you trust everybody on the network!
 
#disable auth
 
#broadcastclient
 
 
 
Para  controlar la información que suministra 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).
 
  
 
* Configurar cliente ntp
 
* Configurar cliente ntp
Línea 255: Línea 77:
  
  
=Referencias=
 
  
http://www.ntp.org/
+
===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 (paquete ntp).
 +
* fijar la hora al inicio (paquete ntpdate).
 +
 
 +
 
 +
===Software===
 +
De la distribución de Ubuntu, instalar estos paquetes:
 +
* ntp: es el demonio ntpd; ntp-doc: su documentación.
 +
* ntpdate: recomendado para poner en hora inicialmente o por única vez.
 +
 
 +
Una lista de servidores para Latinoamérica puede verse aquí:
 +
[http://www.pool.ntp.org/zone/south-america http://www.pool.ntp.org/zone/south-america]
 +
 
 +
===Conceptos, comandos, archivos===
 +
 
 +
Comandos:
 +
* ntpdate
 +
* ntpdate-debian
 +
* ntpq, ntpdc
 +
 
 +
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
 +
...
 +
sudo ntpdate ntp.ubuntu.com
 +
...
 +
 
 +
El archivo /etc/default/ntpdate fija los servidores para ntpdate, pero sólo es utilizado por el comando ntpdate-debian:
 +
...
 +
sudo ntpdate-debian
 +
...
 +
 
 +
====NTP====
 +
Configuración: una vez instalados los paquetes, debe funcionar 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: ver los comandos disponibles, pedir ayuda sobre un comando y salir:
 +
...
 +
ntpq
 +
  help
 +
  help <comando_ntpq>
 +
  q
 +
...
 +
 
 +
ntpdc: ver qué comandos tiene, ver el estado de hora contra los servidores, y salir:
 +
...
 +
ntpdc
 +
  help
 +
  dmpeers
 +
  q
 +
...
 +
 
 +
 
 +
===Verificación===
 +
El comando
 +
...
 +
ntpdc -c dmpeers
 +
...
 +
muestra lista de servidores de hora conocidos, y datos de sincronización de hora.
 +
 
 +
 
 +
===Notas adicionales===
 +
 
 +
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).
 +
 
  
Páginas man ntpq, ntpdc
+
===Referencias===
 +
* [http://www.ntp.org/ Sitio de NTP]
 +
* páginas man: ntpq, ntpdc

Revisión del 23:12 10 nov 2011


  • Configurar cliente ntp

El cliente ntp se configura de igual modo que el servidor (un servidor ntp es un cliente de un servidor ntp de stratum superior al suyo), indicando en la definición de servidores el servidor con el que se quiere sincronizar y agregando el control de acceso que se quiera disponer.


  • Para aplicar los cambios realizados en el archivo de configuración: /etc/init.d/ntp restart


  • ntpdate

Para instalar ntpdate: apt-get install nptdate.

Para fijar la hora consultando servidores de hora (forzar una sincronización):

sudo ntpdate servidor_de_hora (siendo servidor_de_hora el servidor con el que se quiere sincronizar, por ejemplo ntp.ubuntu.com).

Para ralizar el proceso de sincronización al inicio: Configurar ntpdate: los servidores con los que sincroniza se establecen en el archivo /etc/default/ntpdate (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

Ejemplo: para Facultad de Ingeniería:
# /etc/default/ntpdate
...
NTPSERVERS="ampere.fing.edu.uy arquimedes.fing.edu.uy"


  • ntpq: es una utilidad usada para monitorizar las operaciones de ntpd y determinar el rendimeitno

help: lista los comandos de ntpq

help <comando_ntpq>: información del comando <comando_ntpq>.

q: salir.


  • ntpdc: se utiliza para consultar al demonio ntpd sobre su estado actual y solicitar cambios en ese estado. Amplia información de estado y estadísticas está disponible a través de la interfz de ntpdc.

help: lista los comandos de ntpdc.

dmpeers: muestra estado de hora contra los servidores.

q: salir

Verificación

El comando ntpdc -c dmpeers muestra lista de servidores de hora conocidos y datos de sincronización.

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 de ese servidor.

La columna poll 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.

Y la última columna (jitter) indica la desviación existente, en milisegundos, entre las respuestas obtenidas de ese servidor.


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 (paquete ntp).
  • fijar la hora al inicio (paquete ntpdate).


Software

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

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

Una lista de servidores para Latinoamérica puede verse aquí: http://www.pool.ntp.org/zone/south-america

Conceptos, comandos, archivos

Comandos:

  • ntpdate
  • ntpdate-debian
  • ntpq, ntpdc

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 ... sudo ntpdate ntp.ubuntu.com ...

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

NTP

Configuración: una vez instalados los paquetes, debe funcionar 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:

  1. /etc/ntp.conf

...

  1. You do need to talk to an NTP server or two (or three).
  2. 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: ver los comandos disponibles, pedir ayuda sobre un comando y salir: ... ntpq

 help
 help <comando_ntpq>
 q

...

ntpdc: ver qué comandos tiene, ver el estado de hora contra los servidores, y salir: ... ntpdc

 help
 dmpeers
 q

...


Verificación

El comando ... ntpdc -c dmpeers ... muestra lista de servidores de hora conocidos, y datos de sincronización de hora.


Notas adicionales

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).


Referencias