¿En qué se diferencia el protocolo de sincronización horaria NTP del SNTP? NTP: reloj atómico en cada tabla Protocolo Ntp

NTP utiliza el protocolo UDP para funcionar. El sistema NTP es extremadamente resistente a los cambios en la latencia de los medios.

NTP utiliza el algoritmo Marzullo (propuesto por Keith Marzullo de la Universidad de California, San Diego), incluida la función de sincronización de transmisión. En la versión 4 es capaz de alcanzar una precisión de 10 ms (1/100 s) cuando trabaja a través de Internet, y hasta 0,2 ms (1/5000 s) y mejor dentro de redes locales.

NTP es uno de los protocolos más antiguos en uso. NTP fue desarrollado por David L. Mills de la Universidad de Delaware en 1985 y actualmente se está mejorando. La versión actual es NTP 4.

NTP utiliza un sistema jerárquico de "niveles de reloj" (estrato). El nivel 1 está sincronizado con un reloj de alta precisión, por ejemplo, con un sistema GPS, GLONASS (Escala de tiempo estatal unificada de la Federación de Rusia) o un estándar de tiempo atómico. El nivel 2 se sincroniza con una de las máquinas del nivel 1, y así sucesivamente.

El tiempo se representa en el sistema NTP como un número de 64 bits (8 bytes), que consta de un contador de segundos de 32 bits y un contador de segundos fraccionarios de 32 bits, lo que permite transmitir el tiempo en el rango de 2 a 32 segundos, con una precisión teórica de 2-32 segundos. Dado que la escala de tiempo en NTP se repite cada 2,32 segundos (136 años), el destinatario debe conocer al menos aproximadamente la hora actual (con una precisión de 50 años). También tenga en cuenta que el tiempo se mide a partir de la medianoche del 1 de enero de 1900, no de 1970, por lo que se deben restar casi 70 años (incluidos los años bisiestos) del tiempo NTP para que coincida correctamente con los sistemas Windows o Unix.

El protocolo NTP se utiliza más ampliamente para implementar servidores de hora precisos. Para lograr la máxima precisión, se prefiere el funcionamiento continuo. software NTP en modo de servicio del sistema. En la familia de sistemas operativos Microsoft Windows, este es el servicio W32Time (módulo w32time.dll que se ejecuta en svchost.exe), Linux, el servicio Ntpd.

Una implementación más simple de este algoritmo se conoce como SNTP - sincronización simple protocolo de red. Utilizado en sistemas integrados y dispositivos que no requieren alta precisión, así como en programas horarios personalizados.

La implementación detallada del protocolo y del sistema en su conjunto se describe en:

NTP no debe confundirse con el protocolo diurno RFC 867 o el protocolo horario RFC 868 (programa win FG Time Sync).

Capas de horas

NTP utiliza un sistema jerárquico de múltiples niveles de fuentes de tiempo. Cada nivel de esta jerarquía se llama capa, a cada capa se le asigna un número, comenzando con 0 (cero) en la parte superior. El nivel de capa define la distancia desde el reloj de referencia y existe para evitar dependencias cíclicas en la jerarquía. Es importante señalar que la capa no es un indicador de calidad y confiabilidad, significa que la fuente capa 3 puede dar una señal más Alta calidad que algunas fuentes capas 2. Básicamente, las capas sirven para distribuir la carga y proporcionar una mayor área de cobertura. Esta definición de capa también difiere del concepto de capas de reloj utilizado en los sistemas de telecomunicaciones.

Capa 0

La capa 0 es un dispositivo de alta precisión que sirve como estándar de tiempo, como relojes atómicos (moleculares, cuánticos), relojes de radio o sus análogos. Normalmente estos dispositivos no están conectados a una red; en cambio, están conectados a la computadora local (por ejemplo, a través de una interfaz RS-232) y transmiten señales PPS para sincronización.

Capa 1

Se trata de un ordenador al que está conectado directamente el reloj de referencia. Actúa como servidor de hora de red y responde a solicitudes NTP enviadas por computadoras de capa 2.

Capa 2

Se trata de ordenadores que reciben la hora de los servidores de primera capa mediante el protocolo NTP. Normalmente, las computadoras de la segunda capa contactan varios servidores de la primera capa y, utilizando el algoritmo NTP, obtienen la mejor muestra de datos, eliminando servidores con horas obviamente incorrectas. Las computadoras pueden comparar sus datos con otras computadoras en su capa para obtener datos estables y consistentes en todas las computadoras de la capa. Las computadoras de la segunda capa, a su vez, actúan como servidores para las computadoras de la tercera capa y responden a las solicitudes NTP.

Capa 3

Las computadoras de la tercera capa funcionan exactamente de la misma manera que las computadoras de la segunda capa, con la única diferencia de que los servidores para ellas son computadoras de la segunda capa suprayacente. También pueden actuar como servidores para la capa subyacente. NTP (según la versión) admite hasta 256 capas.

ver también

Enlaces

  • - lista de servidores NTP del estándar estatal de hora y frecuencia (STSE) de la Federación de Rusia
  • Proyecto Network Time Protocol: un proyecto público para desarrollar el protocolo y los servicios NTP
  • Proyecto de Servicios Públicos NTP - Proyecto de servidores públicos NTP y el Grupo de Trabajo NTP del IETF
  • pool.ntp.org es un recurso que representa un gran grupo virtual de servidores NTP para millones de usuarios. Al 29 de diciembre de 2010, hay 2078 servidores registrados en pool.ntp.org. Es posible seleccionar servidores regionales.
  • ntp.mobatime.ru: desde 2005, un servidor NTP público gratuito Mobatime del primer estrato (Rusia, San Petersburgo).
  • time.bakulev.ru: servidor NTP público gratuito del primer estrato (Rusia, Moscú).

Fundación Wikimedia. 2010.

Vea qué es "NTP" en otros diccionarios:

    NTP- es una inicial de tres letras que puede significar: Contenido 1 Computación 2 Política 3 Ciencia 3.1 Química 3.2 Medicina... Wikipedia

    NTP-abrev. Temperatura y presión del aire normales: antiguo término para STP * * * NTP abbr. temperatura y presión normales. * * * …Universalio

    NTP- NTP, Abk. Para protocolo de tiempo de red... Universal-Lexikon

    NTP- (Network Time Protocol) (Internet) protocolo que programa el reloj interno de la computadora con los relojes atómicos o radiorelojes de Internet... diccionario inglés contemporáneo

    NTP-abrev. Temperatura y presión atmosférica normales: antiguo término para STP... Diccionario mundial de inglés

    NTP- Esta página de catálogo homogéneo de diferentes temas y artículos comparte un mismo nombre. Sigles d'une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français

    NTP

    ntp- Die Abkürzung NTP steht für: Network Time Protocol, ein Protokoll zur Zeitsynchronization zwischen Computern Normal Temperature and Pressure, die englische Bezeichnung für die physikalischen Normalbedingungen Nukleosidtriphosphat in der… … Deutsch Wikipedia

    NTP- Abreviatura de nucleósido 5′ trifosfato. * * * programa de tratamiento de narcóticos; Programa Nacional de Toxicología; nitroprusiato; púrpura no trombopénica; temperatura y presión normales; 5´nucleotidasa; nitroprusiato de sodio * * * NTP abbr normal… … Diccionario médico


La sincronización horaria es una tarea importante, aunque no mucha gente lo haya pensado. Bueno, ¿qué hay de malo en que el tiempo se agote en un servidor? ¿Sabías que muchos problemas de reloj afectan a los protocolos relacionados con la criptografía? Por esta razón en Directorio Activo Una diferencia de reloj de más de 5 minutos provocará problemas de autenticación Kerberos.

Niveles horarios. Estratos.

Para comprender el dispositivo NTP es necesario conocer el concepto. Estratos o estrato. Fuentes horarias autorizadas como satélites GPS, relojes atómicos de cesio, ondas de radio WWVB: todo esto estrato 0. Tienen autoridad porque tienen alguna forma de mantener un cronometraje muy preciso. Por supuesto, puedes utilizar un reloj de cuarzo normal, pero sabiendo que es fácil perder 15 segundos con ellos en un mes, es mejor no utilizarlos como medida del tiempo. Estrato 0¡Esto es cuando no se pierde ni un segundo en 300.000 años!

Computadoras que directamente (¡no a través de la red!) toman tiempo de estrato 0- Este estrato 1. Como siempre hay retrasos debido a la transmisión de la señal y costes de ajuste de la hora, los ordenadores estrato 1 no tan preciso como estrato 0, pero en vida real la diferencia alcanza un par de microsegundos (1 μs = 10 -6 s), lo cual es una desviación completamente aceptable.

El siguiente nivel de computadoras que toman tiempo a través de la red desde estrato 1- esto es... redoble de tambores... intriga... estrato 2! Nuevamente, debido a varios retrasos (retrasos en la red, seguro), estrato 2 un poco atrás estrato 1 y ciertamente de estrato 0. En la práctica, esta es una diferencia de varios microsegundos (1 μs = 10 -6 s) a varios milisegundos (1 ms = 10 -3 s). Mucha gente no quiere sincronizar más con la capa. estrato 2.

Como se desprende claramente del diagrama, estrato 4 le quita tiempo a un superior estrato 3. estrato 5 en estrato 4 etcétera. estrato 16 se considera la capa más baja y allí se cuenta el tiempo no sincronizado.

Para sincronizar la hora usando NTP, primero debe configurar su hora manualmente. No debe haber una diferencia de más de 1000 segundos entre su hora exacta y su reloj. Si el servidor de hora que está utilizando permanece durante más de 1000 milisegundos (1 segundo), se excluirá de la lista y se utilizarán otros en su lugar. Este mecanismo le permite filtrar las fuentes de malos momentos.

Cliente de tiempo.

En el archivo /etc/ntp.conf, las líneas del servidor son importantes para el cliente. Puede haber varios: ¡hasta 10 piezas!

¿Cuánto agregar? Por favor ten en cuenta:

  • Si solo tiene un servidor (servidor de una línea), si este servidor comienza a mentir, lo seguirá ciegamente. Si su tiempo se acaba en 5 segundos y corres tras él.
  • Si se agregan 2 servidores (2 líneas de servidor), NTP los marcará a ambos como tickers falsos. Si uno de ellos miente, entonces el NTP no puede entender quién miente, ya que no hay quórum.
  • Si se agregan 3 o más servidores de tiempo, entonces se puede identificar a un mentiroso tickers falsos. Si hay 5 o 6 servidores de tiempo, entonces puedes encontrar 2 mentirosos. tickers falsos. Si hay 7 u 8 servidores, entonces 3 tickers falsos. Si hay 9 y 10 servidores, entonces 4 tickers falsos.

Proyecto Piscina NTP.

Existe un proyecto llamado NTP Pool en cuya dirección pool.ntp.org/zone/ru/ se pueden encontrar servidores horarios recomendados para usuarios rusos.

servidor 0.ru.pool.ntp.org
servidor 1.ru.pool.ntp.org
servidor 2.ru.pool.ntp.org
servidor 3.ru.pool.ntp.org

Los sistemas operativos como Debian y Ubuntu ofrecen a los usuarios sus propios servidores de tiempo.

servidor 0.debian.pool.ntp.org
servidor 1.debian.pool.ntp.org
servidor 2.debian.pool.ntp.org
servidor3.debian.pool.ntp.org

servidor 0.ubuntu.pool.ntp.org
servidor 1.ubuntu.pool.ntp.org
servidor 2.ubuntu.pool.ntp.org
servidor 3.ubuntu.pool.ntp.org

Si ejecuta el comando ntpq -pn en su computadora Linux que usa NTP

Reenvío remoto cuando el sondeo alcanza la fluctuación de compensación del retardo ================================ ========== =========================================== +93.180.6.3 77.37.134.150 2 u 62 1024 377 53.658 -0.877 1.174 +85.21.78.23 193.190.230.65 2 u 1027 1024 377 54.651 0.167 1.531 *62.173.138.130 89.109.251. 24 2 940 1024 377 52.796 -0.143 1.001 +91.206.16.3 194.190.168.1 2 258 1024 377 93.882 -0.680 2.196 -91.189.94.4 193.79.237.14 2 u 596 1024 377 100.219 1.562 1.482

Lo que dicen los nombres de las columnas:

  • remoto- servidores remotos con los que sincronizas la hora.
  • refijar- estrato superior para este servidor.
  • calle- nivel de estrato. De 0 (no disponible para nosotros) a 16 (no deseable para nosotros). ideales - 2.
  • t- tipo de conección. " tu" - unicast o manycast, " b" - transmisión o multidifusión, " yo" reloj de referencia local " s" - nudo simétrico " A" - servidor manycast, " B" - servidor de transmisión, " METRO" - servidor de multidifusión.
  • cuando- hora en la que el servidor nos respondió por última vez. El parámetro muestra el número en segundos, pero puede mostrarse en minutos si el número está con metro o en horas si h.
  • encuesta- frecuencia de votación. Mínimo 16 segundos, máximo 32 horas. El número debe ser 2n. Normalmente, este parámetro muestra 64 segundos o 1024.
  • alcanzar- 8 bits de un octeto que indican el estado de la comunicación con un servidor horario remoto: exitosa o fallida. Si los bits están configurados, entonces es exitoso; de lo contrario, es un fracaso. El valor 377 es binario 0000 0000 1111 1111.
  • demora- el valor en milisegundos muestra el tiempo entre el envío y la recepción de una respuesta (tiempo de ida y vuelta - RTT).
  • compensar- la diferencia en milisegundos entre usted y los servidores de tiempo. Puede ser un número positivo o negativo.
  • estar nervioso- el valor absoluto en milisegundos que indica la desviación estándar de su compensación.

Hay un símbolo antes de la dirección IP del servidor NTP: este es código de conteo. tipos código de conteo:

  • " " - descartado por no válido. Por ejemplo, no hay conexión con él o está desconectado, tiene un rango demasiado alto y no atiende a personas como usted.
  • "X"- rechazado por el algoritmo de intersección. El algoritmo de intersección prepara una lista de socios candidatos que pueden convertirse en fuentes de sincronización y calcula un intervalo de confianza para cada uno de ellos.
  • "." - descartado debido a desbordamiento de la tabla.
  • "-" - descartado por el algoritmo de clúster. El algoritmo de agrupamiento ordena la lista de candidatos por capa y códigos de distancia de sincronización.
  • "+" - el servidor se enciende mediante el "algoritmo combinado". Este servidor es un excelente candidato si su servidor de hora actual comienza a fallarle.
  • "#" - el servidor es un excelente servidor de tiempo alternativo. El servidor con # solo se puede ver si tiene más de 10 entradas de servidor en /etc/ntp.conf
  • "*" - servidor de hora actual. Sus lecturas se utilizan para sincronizar su reloj.
  • "oh"- Servidor de pulsos por segundo (PPS). Esto suele significar que el servidor horario en cuestión utiliza fuentes horarias como satélites GPS y otras señales horarias precisas. Si se dibuja oh, entonces ya no se mostrarán otros tipos de códigos de conteo.

en el campo refijar puede tener los siguientes valores:

  • Dirección IP: dirección del servidor horario remoto.
  • .ACST.- Servidor NTP manycast.
  • .ACTS.- Servicio Automatizado de Tiempo por Computadora del Instituto Nacional Americano de Estándares y Tecnología.
  • .AUTH- error de autenticación.
  • .AUTO.- error en secuencias de Autokey.
  • .BCST.- Servidor de difusión NTP.
  • .CHU.- Receptor de radio de onda corta de la estación CHU en Ottawa, Ontario, Canadá.
  • .CRYPT.- Error de protocolo de clave automática.
  • .DCFx.- Receptor de radio LF de la estación DCF77 en Mainflingen, Alemania.
  • .DENY.- Acceso denegado.
  • .GAL.- Receptor de satélite europeo Galileo.
  • .GOES.- Receptor de Satélite Ambiental Operacional Geoestacionario Americano.
  • .GPS.- Receptor del Sistema de Posicionamiento Global Americano.
  • .HBG.- Receptor de radio LF de la estación HBG en Prangins, Suiza.
  • .INIT.- Asociación de pares inicializada.
  • .IRIG.- Código de tiempo del Grupo de Instrumentación Inter Rango.
  • .JJY.- Receptor de radio LF de la estación JJY en el monte Otakadoya, cerca de Fukushima o el monte Hagane en la isla de Kyushu, Japón.
  • .LFx.- Receptor de radio LF normal.
  • .LOCL: reloj del host local.
  • .LORC.- Receptor de radio LF de Long Range Navigation (LORAN-C).
  • .MCST.- Servidor multicast NTP.
  • .MSF.- Estación de radio Anthorn cerca de Anthorn, Cumbria.
  • .NIST.- Instituto Nacional Americano de Estándares y Tecnología.
  • .PPS.- Reloj de pulsos por segundo.
  • .PTB.- Physikalisch-Technische Bundesanstalt de Brunswick y Berlín, Alemania.
  • .RATE.- Se superó el umbral de sondeo NTP.
  • .STEP: cambia el paso NTP. Inclinación compensar menos de 1000 milisegundos pero más de 125 milisegundos.
  • .TDF.- Receptor de radio LF de la emisora ​​TéléDiffusion de France en Allouis, Francia.
  • .TIME.- Timeout de asociación NTP.
  • .USNO.- Observatorio Naval de Estados Unidos.
  • .WWV.- Receptor de radio HF de la estación WWV en Fort Collins, Colorado, Estados Unidos.
  • .WWVB.- Receptor de radio LF de la estación WWVB en Fort Collins, Colorado, Estados Unidos.
  • .WWVH.- Receptor de radio HF de la estación WWVH en Kekaha, en la isla de Kauai en Hawaii, Estados Unidos.

Primero, deshazte de la idea de cómo ganar tiempo. estrato 1, dicen que están más cerca de la hora exacta. Están más cerca de la hora más precisa del planeta, pero ellos mismos están sobrecargados y tienen grandes retrasos en el RTT para los servidores normales. Mejor busca uno normal estrato 2 y no te preocupes por eso. No olvide que estamos hablando de microsegundos y milisegundos, que son suficientes en la vida cotidiana.

En segundo lugar, recuerde que conectarse al servidor horario más cercano no siempre es lo ideal. Lo más importante no es la proximidad territorial, sino el nivel de estrato. El proyecto NTP Pool publica una lista de servidores de solo niveles estrato 1 Y estrato 2 y es mejor tomar hasta 10 servidores de tiempo de esta lista, que será simplemente maravilloso.

En tercer lugar, si usted es un simple usuario-cliente doméstico, los servidores recomendados para usted en su sistema operativo serán opción ideal, que no requiere movimientos innecesarios.

Para oficinas grandes, la mejor opción sería configurar su propio servidor horario para los ordenadores del trabajo. Este servidor recibirá la hora exacta de los servidores de hora de Internet y la proporcionará computadoras locales. En servidores Debian y Ubuntu, simplemente descomente la línea

Restringir 192.168.0.0 máscara 255.255.0.0 nomodificar notrap

en el archivo de configuración del demonio ntpd - /etc/ntp.conf

Los usuarios de la red 192.168/16 podrán tomar lecturas de reloj precisas desde su servidor. Para los servidores internos basados ​​en Linux que no son servidores de tiempo y se dedican a sus propias tareas, en lugar de ejecutar el demonio ntpd en modo cliente, basta con especificarlo en el archivo /etc/cron.daily/syncntpd. Se recomienda que lea las diferencias entre ntpdate y ntp y decida usted mismo.
#!/bin/sh
/usr/sbin/ntpdate Dirección.IP.de.su.servidor > /dev/null 2>&1
salir 0

y una vez al día, gracias al comando ntpdate, se realizará la sincronización horaria. Para evitar malentendidos, no sea perezoso antes de implementar un servidor de hora y sincronizar todo a través del protocolo NTP: configure manualmente la hora correcta en todos los servidores y estaciones de trabajo disponibles para usted. Si su hora no sincronizada es muy diferente de la correcta, puede crear muchos problemas innecesarios al principio.

En cuarto lugar, el NTP no tiene nada que ver con qué país y qué zonas horarias se utilizan ni con cómo se produce la transición al horario de verano e invierno ni con si dicha transición se realiza en un país determinado. Esta responsabilidad recae en el sistema operativo, el cual deberá actualizar si hay cambios en la relojería del país. En los sistemas Debian y Ubuntu, el paquete tzdata es responsable de esto y debe estar actualizado.

En quinto lugar, es mejor no ejecutar su servidor NTP en un sistema muy cargado.

El servidor NTP MSK-IX es un servidor de hora público compatible con MSK-IX. El servidor de hora exacta está diseñado para sincronizar los relojes internos de computadoras y equipos de red (servidores, enrutadores, teléfonos inteligentes, etc.) con la fuente de referencia mediante el protocolo NTP.

El servidor NTP MSK-IX pertenece al nivel más alto de precisión (Stratum One Time Servers) en el sistema jerárquico de niveles de tiempo. La señal global se utiliza como señal horaria de referencia. sistemas satelitales Navegación GLONASS (prioridad) y GPS.

El servidor NTP MSK-IX se implementa como una agrupación de servidores ubicados en Moscú, San Petersburgo, Ekaterimburgo y Novosibirsk. Solicitud tecnología de redes anycast garantiza una alta confiabilidad y una rápida respuesta del sistema en todo el país.

Los servidores MSK-IX también están incluidos en el grupo internacional de servidores NTP POOL.NTP.ORG, ampliamente utilizado en la configuración del sistema operativo.

¿Cómo empezar a utilizar el servicio del Servidor NTP?

Utilice los siguientes parámetros al configurar su hardware:

Nombre del servidor ntp.msk-ix.ru
dirección IPv4 194.190.168.1
dirección IPv6 2001:6d0:ffd4::1

¿Cómo establecer el peering con la red del servidor NTP MSK-IX?

Para acortar la ruta de red al servidor NTP MSK-IX, utilice el servicio Servidor de ruta o establezca un emparejamiento directo con la red DNS Cloud de MSK-IX. La interacción entre pares se establece mediante una solicitud adicional en el marco del contrato para la conexión a MSK-IX sin pago adicional.

Buenas tardes invitados y lectores habituales. Poco a poco estoy pasando de lo básico a un estudio más profundo de Linux. Hoy quiero considerar funcionamiento del protocolo ntp, además de establecer servidor de tiempo en Linux(servidor ntp). Entonces, comencemos con la teoría.

protocolo NTP

Protocolo de tiempo de red (NTP)- un protocolo de red para sincronizar el reloj interno de una computadora usando redes con latencia variable (léase “ancho de canal”/calidad).

NTP se utiliza para su trabajo. Protocolo UDP y puerto 123.

Versión actual del protocolo - NTP 4. NTP utiliza un sistema jerárquico "niveles horarios"(también se les llama Estrato). Nivel 0 (o Estrato 0)- Suelen ser dispositivos que son relojes atómicos (moleculares, cuánticos), relojes GPS o relojes de radio. Los datos del dispositivo normalmente no se publican en red mundial y conectarse directamente a servidores de tiempo de nivel 1 a través del protocolo RS-232 (indicado por flechas amarillas en la ilustración). Nivel 1 sincronizado con reloj de alta precisión nivel 0, normalmente funcionan como fuentes para servidores nivel 2. Nivel 2 sincronizado con una de las máquinas nivel 1, y también es posible la sincronización con servidores de su nivel. Nivel 3 Funciona de manera similar al segundo. Normalmente, los servidores de nivel dos e inferiores se publican en la red. protocolo NTP Soporta hasta 256 niveles. También me gustaría señalar que los servidores de los niveles 1 y 2, y a veces incluso del 3, no siempre están abiertos al acceso público. A veces, para sincronizar con ellos, es necesario enviar una solicitud por correo a los administradores del dominio.

¿Por qué hay una restricción de acceso a los servidores? Con la transición a cada nivel, el error relativo al servidor primario aumenta ligeramente, pero el número total de servidores aumenta y por lo tanto .

Asignar un servidor NTP en la red local

¿Por qué podríamos necesitar un servidor NTP? Por ejemplo, existen servicios en los sistemas operativos que pueden depender de la hora sincronizada. El ejemplo más destacado de este tipo de servicios es el protocolo de autenticación Kerberos. Para que funcione es necesario que en los ordenadores a los que se accede mediante este protocolo la hora del sistema no difiera más de 5 minutos. Además, la hora exacta en todas las computadoras hace que sea mucho más fácil analizar los registros de seguridad al investigar incidentes de seguridad. red local.

Modos de funcionamiento del servidor/cliente NTP

Servidor de cliente

Este modo es, con diferencia, el más utilizado en Internet. El esquema de trabajo es clásico. El cliente envía una solicitud, a la que el servidor envía una respuesta dentro de un tiempo. El cliente se configura utilizando la directiva del servidor en el archivo de configuración, donde se especifica el nombre DNS del servidor horario.

Modo activo/pasivo simétrico

Este modo se utiliza si se realiza la sincronización horaria entre una gran cantidad de máquinas pares. Además de que cada máquina se sincroniza con una fuente externa, también se sincroniza con sus vecinas (peers), actuando como cliente y servidor horario para ellas. Entonces, incluso si una máquina "pierde" una fuente externa, aún podrá obtener la hora exacta de sus vecinas. Los vecinos pueden trabajar en dos modos: activo y pasivo. Al trabajar en modo activo, la propia máquina transmite su hora a todas las máquinas vecinas enumeradas en la sección de pares del archivo de configuración ntp.conf. Si los vecinos no se indican en esta sección, se considera que la máquina está funcionando en modo pasivo. Para evitar que un atacante comprometa otras máquinas haciéndose pasar por una fuente activa, se debe utilizar la autenticación.

Modo de transmisión

Se recomienda utilizar este modo en casos en los que una pequeña cantidad de servidores atienden a una gran cantidad de clientes. Cuando funciona en este modo, el servidor envía periódicamente paquetes utilizando la dirección de transmisión de la subred. Un cliente configurado para sincronizar de esta manera recibe el paquete de difusión del servidor y se sincroniza con el servidor. Una característica de este modo es que la hora se entrega dentro de una subred (lo que limita los paquetes de difusión). Además, se debe utilizar la autenticación para protegerse contra los atacantes.

Modo de multidifusión

Este modo es en muchos aspectos similar a la transmisión. La diferencia es que para entregar paquetes se utilizan direcciones de multidifusión de redes de clase D del espacio de direcciones IP. Para clientes y servidores, se especifica la dirección del grupo de multidifusión, que utilizan para la sincronización horaria. Esto permite sincronizar grupos de máquinas ubicadas en diferentes subredes, siempre que los enrutadores que los conectan admitan el protocolo IGMP y estén configurados para transmitir tráfico de multidifusión.

Modo de transmisión múltiple

Este modo es una innovación en la cuarta versión del protocolo NTP. Implica que el cliente busque servidores manycast entre sus vecinos de red, reciba muestras de tiempo de cada uno de ellos (usando criptografía) y, en base a estos datos, seleccione los tres "mejores" servidores manycast con los que el cliente se sincronizará. Si uno de los servidores falla, el cliente actualiza automáticamente su lista.

Para transmitir muestras de tiempo, los clientes y servidores que operan en modo de multidifusión utilizan direcciones de grupo de multidifusión (redes de clase D). Los clientes y servidores que utilizan la misma dirección forman la misma asociación. El número de asociaciones está determinado por el número de direcciones de multidifusión utilizadas.

El tiempo en Linux

Te diré brevemente qué hora existe en Linux y cómo configurarla. En Linux, como en otros sistemas operativos, hay 2 tiempos. La primera - hardware , aveces llamado Reloj en tiempo real, abreviado ( RTC) (también conocido como reloj BIOS), generalmente están asociados con un cristal de cuarzo oscilante que tiene una precisión de unos pocos segundos por día. La precisión depende de diversas fluctuaciones, como la temperatura ambiente. El segundo reloj es interno. reloj de programa , que ocurren continuamente, incluso durante interrupciones en el funcionamiento del sistema. Están sujetos a variaciones debido a la gran carga del sistema y a la latencia de interrupciones. Sin embargo, el sistema normalmente lee el reloj del hardware durante el arranque y luego utiliza el reloj del sistema.

fecha y hora Sistema operativo establecido en el arranque según el valor reloj de hardware, y configuración de zona horaria. La configuración de la zona horaria se toma del archivo. /etc/hora local. Este archivo es un enlace (pero más a menudo una copia) de uno de los archivos en la estructura del directorio. /usr/share/zoneinfo/.

Los relojes de hardware de Linux pueden almacenar la hora en el formato UTC(análogo a GMT), o la hora territorial actual. La recomendación general sobre qué hora configurar (?) es la siguiente: si hay varios sistemas operativos instalados en la computadora y uno de ellos es Windows, entonces necesita usar la hora actual (ya que Windows toma la hora del BIOS/CMOS). y lo considera local). Si solo se utilizan los operativos Sistemas UNIX familia, es recomendable almacenar la hora en el BIOS en formato UTC.

Una vez que se inicia el sistema operativo, el reloj del sistema operativo y el reloj del BIOS son completamente independientes. El kernel del sistema sincroniza el reloj del sistema con el reloj del hardware cada 11 segundos.

Después de un tiempo, puede haber una diferencia de varios segundos entre los relojes del hardware y del software. ¿Qué relojes marcan la hora correcta? Ni lo uno ni lo otro hasta que lo configuremos sincronización horaria.

Nota:

El kernel de Linux siempre almacena y calcula el tiempo como el número de segundos desde la medianoche. 1 de enero de 1970 del año, independientemente de si su reloj está configurado en hora local o universal. La conversión a la hora local se realiza durante el proceso de solicitud.

Dado que el número de segundos desde el 1 de enero de 1970 UTC se almacena como un entero de 32 bits con signo (esto es cierto en los sistemas Linux/Intel), su reloj dejará de funcionar en algún momento del año 2038. Linux no tiene un problema del año 2000, pero sí tiene un problema del año 2038. Afortunadamente, para entonces todos los sistemas Linux se ejecutarán en sistemas de 64 bits. Un entero de 64 bits contendrá nuestro reloj hasta aproximadamente el año 292271 millones.

Servidor NTP Linux

Introducción

Existen muchas implementaciones para la sincronización horaria para el sistema operativo Linux. Los más famosos son Xntpd (NTP versión 3), ntpd (NTP versión 4), Crony y ClockSpeed. En nuestro ejemplo usaremos el servidor ntpd.

El demonio ntpd es a la vez un servidor de tiempo y un cliente, dependiendo de la configuración del archivo de configuración /etc/ntpd.conf (a veces /etc/ntp.conf), el demonio puede "recibir" tiempo de servidores remotos y "distribuirlo" tiempo a otros hosts.

General circuito de sincronización de tiempo en la red local es el siguiente: necesita tener 1 o 2 servidores con acceso a la red global, que recibirán tiempo de Internet. Todas las computadoras en la red local están sincronizadas con los servidores especificados que reciben tiempo de Internet.

Instalando ntpd

De hecho, instalando el demonio se reduce a instalar los siguientes paquetes: ntp(paquete que incluye el demonio en sí), ntpdate(la utilidad para la sincronización manual de la hora está desactualizada), ntp-doc(documentación del paquete), en algunas distribuciones necesitarás instalar el mismo ntp-utils(utilidades de diagnóstico), en algunos están incluidas en el paquete ntp. Describí cómo instalar programas en Linux en. Después de instalar el paquete, en la mayoría de las distribuciones, el demonio ya estará configurado como cliente ntp (por ejemplo, este era el caso en Debian). En consecuencia, los archivos de configuración principales se crearon automáticamente: /etc/ntp.conf y /var/lib/ntp/ntp.drift y el demonio se inició automáticamente.

Antes de configurar el demonio para sincronizarlo con el mundo exterior, recomendaría configurar la fecha actual del sistema en un valor lo más cercano posible al tiempo real. Configurar la fecha en Linux producido por el comando: fecha MMDDhhmmCCAA.ss, donde MM - mes, DD - día del mes, hh - horas, mm - minutos, CCAA - 4 dígitos del año, ss - segundos. Al mismo tiempo, los valores CCYY.ss no es necesario indicarlo.

Como puede ver, el comando especificado establecerá la fecha y hora actuales en el 27 de diciembre de 2010, 20:06:30. comando de fecha sin parámetros, muestra la hora actual del sistema. Este comando tiene varios parámetros, que se pueden encontrar en man date.

También es necesario configurar correctamente el reloj del hardware y la zona horaria. Como se mencionó anteriormente, la zona horaria se configura copiando el archivo de zona requerido del directorio /usr/share/zoneinfo/ archivar /etc/hora local:

Servidor Ntp:~# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Hardware Puse el reloj en UTC:

# gato /etc/sysconfig/clock | grep UTC # UTC=true indica que el reloj está configurado en UTC; UTC=true servidor ntp2:~# cat /etc/default/rcS | grep UTC UTC = sí

El primer ejemplo especifica un archivo de configuración que define el uso de UTC para RH, el segundo para distribuciones Deb.

Además de configurar los ajustes para utilizar la hora UTC, debe especificar tiempo de hardware. (en la mayoría de los casos esto no es necesario, porque la hora especificada del sistema se sincroniza inevitablemente con el hardware, mediante el kernel). Pero aún así, si tienes ganas de hacerlo... comando hwclock Lee y configura el reloj del hardware según los parámetros que se le pasan. Las opciones disponibles se describen en la página del manual del comando. A continuación se muestran algunos ejemplos del uso de hwclock:

Ntp-server# hwclock # lee la hora del reloj del hardware ntp-server# hwclock --systohc --utc # establece la hora del reloj del hardware en # UTC según la hora del sistema ntp-server# hwclock --systohc # establece la hora del reloj del hardware # en local hora basada en la hora del sistema ntp-server# hwclock --set --date "22 Mar 2002 13:17" # establece la hora del reloj del hardware # en la cadena especificada

Otra opción para cambiar la hora en el reloj del hardware es acceder al BIOS cuando se inicia el sistema. Dado que la hora del sistema operativo es independiente del reloj del hardware, cualquier cambio en el BIOS se tendrá en cuenta la próxima vez que inicie.

Ahora que tenemos todo preparado e instalado, procedamos a en un sitio de construcción.

Gestión del demonio ntpd

Control demonio ntpd No es diferente de controlar cualquier otro demonio. Inicie o reinicie el servicio ntpd:

#/etc/init.d/ntp inicio #/etc/init.d/ntp reinicio

Detener:

#/etc/init.d/ntp detener

#/bin/kill `cat /var/run/ntpd.pid`

El demonio tiene los siguientes parámetros de inicio:

P - archivo PID,
-g - permite la transición al gran salto
-c - archivo de configuración
-q - fuerza la sincronización manual

Configurando el servidor ntpd

En primer lugar, le aconsejo que cambie los parámetros de inicio del demonio en el siguiente archivo de configuración:

Servidor ntp:~# cat /etc/default/ntp NTPD_OPTS="-g"

# cat /etc/sysconfig/ntpd # Parámetros para el demonio NTP. # Ver ntpd(8) para más detalles. .... # Especifica parámetros adicionales para ntpd. NTPD_ARGS="-g"

Este parámetro te permitirá sincronizar el reloj, incluso si hay una diferencia horaria muy grande.

Entonces, como dije, la información de configuración demonio ntpd esta en el archivo /etc/ntp.conf. La sintaxis del archivo es estándar, como en muchas otras configuraciones: las líneas vacías y las líneas que comienzan con el carácter "#" se ignoran. He aquí un ejemplo sencillo:

Servidor Ntp:~# cat /etc/ntp.conf servidor ntplocal.example.com prefiere el servidor timeserver.example.org servidor ntp2a.example.net driftfile /var/db/ntp.drift

Parámetro servidor especifica qué servidores se utilizarán para la sincronización, uno en cada línea. Si el servidor se da con argumento preferir, Cómo ntplocal.ejemplo.com, entonces este servidor tiene preferencia sobre los demás. La respuesta del servidor preferido se descartará si difiere significativamente de las respuestas de otros servidores; de lo contrario, se utilizará independientemente de otras respuestas. Argumento preferir Normalmente se utiliza para servidores NTP que se sabe que son muy precisos, como los que utilizan equipos de tiempo de precisión dedicados.

Parámetro archivo de deriva especifica el archivo que se utiliza para almacenar el desplazamiento del reloj del sistema. Según tengo entendido, este archivo almacena permanentemente algún valor, que se forma en base al análisis de ajustes de tiempo pasados, y si las fuentes de tiempo externas dejan de estar disponibles, entonces el ajuste de tiempo se produce de acuerdo con el valor del archivo. deriva. No debe ser modificado por ningún otro proceso. Y antes de especificar este archivo en la configuración, se debe crear el archivo.

De forma predeterminada, todos los hosts de Internet podrán acceder al servidor NTP. Parámetro restringir en archivo /etc/ntp.conf le permite controlar qué máquinas pueden acceder a su servidor. Si quieres evitar que todas las máquinas accedan a su servidor NTP, agregue la siguiente línea al archivo /etc/ntp.conf:

restringir predeterminado ignorar

Si quieres permitir sincroniza tu reloj solo con tu servidor máquinas en su red, Pero prohibir a ellos configurar el servidor o ser participantes iguales en la sincronización horaria, luego, en lugar de lo anterior, agregue la línea:

restringir 192.168.1.0 máscara 255.255.255.0 nomodificar notrap

donde 192.168.1.0 es la dirección IP de su red y 255.255.255.0 es su máscara de red. /etc/ntp.conf puede contener varias directivas restrictivas.

Para un funcionamiento correcto y más preciso del demonio, es recomendable seleccionar servidores del nivel: desde el estrato 2 (puede, por supuesto, estrato1, pero tendrá que perder el tiempo buscando dicho servidor) y desde el estrato seleccionado. 2 aquellos a los que existe una “distancia” mínima. Normalmente, dichos servidores pueden ser proporcionados por su ISP. El número de servidores seleccionados es deseable: más de 2 a 3, cuanto más mejor, pero dentro de límites razonables. Si eres demasiado vago para elegir mejores servidores, luego puede obtener la lista de servidores de segundo nivel abiertos desde aquí: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers.

Seleccionar una lista de servidores NTP de referencia

Vamos a la dirección especificada (http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) y seleccionamos una lista de servidores iniciales. De esta lista seleccionamos servidores que cumplan con nuestros requisitos analizando la salida del comando. ntpdate. Al ejecutar el comando, se utiliza la siguiente sintaxis:

parámetros ntpdate servidores_separados por_espacio

Para asegurarnos de que nuestra consulta no realice cambios en el sistema, debemos usar el parámetro -q, que especifica el uso de la consulta sin realizar cambios. También es posible utilizar el modificador -d, que indica que el comando se ejecutará en modo de depuración, con la salida de información adicional, sin realizar cambios reales (con este modificador, se muestra un montón de basura más :), que necesidad este momento innecesario). Se pueden encontrar otros parámetros en man 8 ntpdate. Desde el enlace especificado, seleccioné todos los servidores de acceso abierto ubicados en Rusia (RU) + el proporcionado por el proveedor y ejecuté el comando, resultó algo como esto:

Servidor ntp:~# ntpdate -q ntp2.ntp-servers.net ntp1.vniiftri.ru ntp2.vniiftri.ru ntp4.vniiftri.ru ntp0.ntp-servers.net ntp1.ntp-servers.net ntp3.vniiftri.ru ntp.corbina.net servidor 88.147.255.85, estrato 1, desplazamiento 0.006494, retraso 0.09918 servidor 62.117.76.142, estrato 1, desplazamiento 0.002552, retraso 0.06920 servidor 62.117.76.141, estrato 1, desplazamiento 0.00314 7, retraso 0.06918 servidor 62.117.76.140, estrato 1, desplazamiento 0.004823, retraso 0.07350 servidor 88.147.254.228, estrato 1, desplazamiento -0.002355, retraso 0.12030 servidor 88.147.254.229, estrato 1, desplazamiento -0.000922, retraso 0.10577 servidor 62.117.76.138 , estrato 1, desplazamiento 0.005331, retraso 0.07401 servidor 195.14 .40.141, estrato 2, compensación 0.002846, retraso 0.07188 13 de enero 19:14:09 ntpdate: ajustar el servidor de tiempo 62.117.76.141 compensación 0.003147 seg.

En el ejemplo, nuestros servidores emitieron con éxito el nivel stratum1, lo cual es una buena noticia (excepto para el servidor del proveedor), el desplazamiento es la diferencia horaria con este servidor en segundos, el retraso es el retraso de sincronización en segundos. Por lo general, b ACERCA DE Se obtiene una mayor precisión al utilizar servidores que tienen baja latencia en la transmisión de paquetes a través de la red. Para identificar esto, puedes usar . En consecuencia, seleccionar primero aquellos con tiempos de respuesta más cortos y, de estos, aquellos con menos saltos que alcanzar. Para no perder el tiempo, usaré todos los servidores especificados y los ingresaré en el archivo de configuración. En total, sabiendo todo lo anterior, describiré mi archivo resultante. /etc/ntp.conf:

Ntp-server:~# cat /etc/ntp.conf # Servidores de red locales (comentados, no utilizados; hay un servidor en la red) #server 192.168.0.2 #server 192.168.0.5 # Servidores de Internet servidor ntp2.ntp- servidores.net servidor ntp1.vniiftri.ru servidor ntp2.vniiftri.ru servidor ntp4.vniiftri.ru servidor ntp0.ntp-servers.net servidor ntp1.ntp-servers.net servidor ntp3.vniiftri.ru servidor ntp.corbina.net # Archivos del servidor driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpstats # restringiendo el acceso al servidor: # por defecto ignoramos todo restringir predeterminado ignorar # localhost sin parámetros - eso significa que todo está permitido. Los parámetros sólo se aplican a las prohibiciones. restrict 127.0.0.1 # A continuación se describen los servidores con los que sincronizamos en la red local. # Les permitimos todo excepto trampas y solicitudes para nosotros restrict 192.168.0.2 noquery notrap restrict 192.168.0.5 noquery notrap # para local también permitimos todo excepto trampas y modificaciones restrict 192.168.0.1 máscara 255.255.255.0 nomodify notrap nopeer # permitir fuentes de tiempo externas acceso: restringir ntp2.ntp-servers.net restringir ntp1.vniiftri.ru restringir ntp2.vniiftri.ru restringir ntp4.vniiftri.ru restringir ntp0.ntp-servers.net restringir ntp1.ntp-servers.net restringir ntp3.vniiftri.ru restrinja ntp.corbina.net # y este es un truco que establece el nivel de confianza del servidor (estratos) en sí mismo igual a 3 # en pocas palabras, cuanto mayor es el nivel, menor es el número. 0 es el reloj atómico, el 1 está sincronizado con él, el 2 está con el primero, y así sucesivamente. servidor 127.127.1.1 dulce de azúcar 127.127.1.1 estrato 3

Para una comprensión y configuración más profunda del servidor, describiré algunos parámetros de configuración de ntpd que no mencioné:

  • habilitar deshabilitar autenticación/monitor/pll/pps/estadísticas - Prender apagar modo operativo:
    • autenticación- comunicarse con vecinos no mencionados sólo en modo de autenticación;
    • monitor- permitir el seguimiento de las solicitudes;
    • pll- permitir configurar la frecuencia del reloj local a través de NTP;
    • estadísticas- permitir la recopilación de estadísticas;
  • Estadísticasestadísticas de bucle- con cada modificación del reloj local, escribe una línea en un archivo estadísticas de bucle;
  • Estadísticasestadísticas de pares- cada comunicación con un vecino se registra en un registro almacenado en un archivo estadísticas de pares;
  • Estadísticasestadísticas de reloj- cada mensaje del controlador del reloj local se escribe en un registro almacenado en un archivo estadísticas de reloj;
  • direstadisticas(nombre_catálogo_con_estadísticas)- especifica el nombre del directorio en el que se ubicarán los archivos con estadísticas del servidor;
  • archivogen - define un algoritmo para generar nombres de archivos, que consta de:
    • prefijo- parte constante del nombre del archivo, establecida durante la compilación o mediante comandos de configuración especiales;
    • Nombre del archivo- agregado al prefijo sin barra, se prohíben dos puntos, se puede cambiar con la clave de archivo;
    • sufijo- generado dependiendo del nombre del tipo;
  • restringirdirección numérica- establece restricciones de acceso: los paquetes se clasifican y enmascaran, la dirección de origen se toma y se compara secuencialmente, se toma una bandera de la última comparación exitosa acceso:
    • sin banderas- dar acceso;
    • ignorar- ignorar todos los paquetes;
    • noquería- ignorar los paquetes NTP 6 y 7 (solicitud y modificación de estado);
    • nomodificar- ignorar los paquetes NTP 6 y 7 (modificación de estado);
    • limitado- atender sólo a un número limitado de clientes de una red determinada;
    • nadie- servir al host, pero no sincronizar con él;
  • límite de clientelímite- por la bandera limitado determina el número máximo de clientes atendidos (por defecto 3);

Entonces tenemos el servidor ntpd., que se sincroniza con el mundo exterior, le permite recibir la hora de los clientes de la red local 192.168.0.1 con una máscara de 255.255.255.0 y también se puede sincronizar con el servidor local (si descomenta algunas líneas). Todo lo que tenemos que hacer es configurar clientes y aprender a monitorear nuestro servidor.

Monitoreo del servidor ntpd y sincronización.

Una vez que tengas todo configurado. NTP mantendrá la hora sincronizada. Este proceso se puede observar utilizando el comando Consulta NTP (ntpq):

Ntp-server:~# ntpq -p refid remoto st t cuando la encuesta alcanza el retardo compensado jitter ================================= ==================================================== ============ -n3.time1.d6.hsd.PPS. 1 u 34 64 177 70.162 2.375 8.618 +ntp1.vniiftri.r .PPS. 1 u 33 64 177 43,479 -0,020 10,198 *ntp2.vniiftri.r .PPS. 1 u 6 64 177 43,616 -0,192 0,688 +ntp4.vniiftri.r .PPS. 1 u 4 64 177 43,623 0,440 0,546 -n1.time1.d6.hsd .PPS. 1u 53 64 77 92.865 -11.358 38.346 -ns1.hsdn.org .GPS. 1 u 40 64 177 78.057 -3.292 35.083 -ntp3.vniiftri.r .PPS. 1 u 44 64 77 47.667 2.292 2.611 -scylla-l0.msk.c 192.43.244.18 2 u 62 64 77 41.565 -1.564 28.914

Este comando con el modificador -p imprime en la salida estándar una lista de fuentes de tiempo con sus características (los parámetros restantes del comando están en man ntpq). El significado de cada columna es el siguiente:

El nombre del servidor NTP remoto. Si especifica el modificador -n, obtendrá direcciones IP del servidor en lugar de nombres.

Indica de dónde obtiene actualmente su tiempo cada servidor. Podría ser un nombre de host o algo así como .GPS, que indica la fuente del Sistema de Posicionamiento Global.

El estrato (nivel) es un número del 1 al 16 que indica la precisión del servidor. Uno significa máxima precisión, 16 significa que el servidor no está disponible. Su nivel será igual al nivel del servidor remoto menos preciso más 1.

Intervalo entre encuestas (en segundos). El valor cambiará entre las tasas de sondeo mínima y máxima. Al principio, el intervalo será pequeño para que la sincronización se produzca rápidamente. Una vez que los relojes están sincronizados, el intervalo comienza a aumentar para reducir el tráfico y la carga en los servidores de hora populares.

Una representación octal de una matriz de 8 bits que refleja los resultados de los últimos ocho intentos de conectarse al servidor. El bit se establece si el servidor remoto respondió.

La cantidad de tiempo (en segundos) necesaria para recibir una respuesta a la consulta "¿qué hora es?"

El campo más importante. Diferencia entre la hora local y servidores remotos. A medida que avanza la sincronización, este valor debería disminuir (más cerca de cero), lo que indica que el reloj máquina local son cada vez más precisos.

La dispersión (Jitter) es una medida de las desviaciones estadísticas del valor de compensación (campo de compensación) en varios pares de solicitud-respuesta exitosos. Es preferible un valor de dispersión más bajo porque permite una sincronización horaria más precisa.

Significado de los caracteres antes de los nombres de los servidores

x - fuente falsa según el algoritmo de intersección;
. - excluido de la lista de candidatos por motivos de larga distancia;
- - eliminado de la lista de candidatos mediante el algoritmo de agrupación;
+ - incluido en la lista final de candidatos;
# - seleccionado para sincronización, pero hay 6 mejores candidatos;
* - seleccionado para sincronización;
o - seleccionado para sincronización, pero se utiliza PPS;
espacio: un nivel demasiado grande, un bucle o un error obvio;

servicio ntpd"inteligente" y elimina por sí mismo fuentes de tiempo que están demasiado fuera de los límites de la razón. Algún tiempo después de comenzar, ntpd seleccionará las fuentes de datos más confiables y se sincronizará con ellas. El servicio revisa periódicamente la lista de servidores NTP de referencia que presentamos.

Puedes comprobar la posibilidad de sincronización localmente en el servidor con el comando:

Ntp-server:~# ntpdate -q servidor localhost 127.0.0.1, estrato 2, desplazamiento -0.000053, retraso 0.02573 servidor::1, estrato 2, desplazamiento -0.000048, retraso 0.02571 14 de enero 14:49:57 ntpdate: ajustar el servidor de hora ::1 desplazamiento -0,000048 seg.

De la salida del comando queda claro que nuestro servidor ya se ha convertido en el estrato 2. Para lograr este nivel, lleva algo de tiempo. Quizás en los primeros 10-15 minutos el nivel del servidor sea mayor.

El funcionamiento correcto del servidor ntp también se puede juzgar a partir de los registros del demonio ntpd:

Ntp-server:~# cat /var/log/ntpstats/ntp 13 de enero 20:13:16 ntpd: Escuchando en la interfaz #5 eth0, fe80::a00:27ff:fec1:8059#123 Habilitado 13 de enero 20:13: 16 ntpd: Escucha en la interfaz #6 eth0, 192.168.0.8#123 Habilitado 14 de enero 14:31:00 ntpd: sincronizado a 62.117.76.142, estrato 1 14 de enero 14:31:10 ntpd: reinicio de tiempo +10.291312 s 14 14 de enero :31:10 ntpd: cambio de estado de sincronización de hora del kernel 0001 14 de enero 14:34:31 ntpd: sincronizado con 88.147.255.85, estrato 1 14 de enero 14:36:04 ntpd: sincronizado con 62.117.76.141, estrato 1 14 de enero 15: 04:36 ntpd: sincronizado con 62.117.76.142, estrato 1 14 de enero 15:10:58 ntpd: sincronizado con 62.117.76.140, estrato 1 14 de enero 15:17:54 ntpd: no hay servidores accesibles 14 de enero 15:31:49 ntpd : sincronizado a 62.117.76.140, estrato 1 14 de enero 15:32:14 ntpd: reinicio de tiempo +13.139105 s

Configurar netfilter (iptables) para un servidor NTP

Una vez configurado el servidor, sería buena idea protegerlo. Sabemos que el servidor se ejecuta en el puerto 123/udp y las solicitudes también se envían desde el puerto 123/udp. Después de leer el artículo y familiarizarse con los prácticos, puede crear reglas para filtrar el tráfico de la red:

Ntp ~ # iptables-save # reglas típicas de iptables para DNS *filtro:INPUT DROP :FORWARD DROP :SALIDA DROP -A INPUT -i lo -j ACEPTAR -A ENTRADA -m conntrack --ctstate RELACIONADO,ESTABLECIDO -j ACEPTAR -A ENTRADA -m conntrack --ctstate INVALID -j DROP # permite el acceso de la red local al servidor NTP: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 123 -m conntrack - -ctstate NUEVO -j ACEPTAR -A SALIDA -o lo -j ACEPTAR -A SALIDA -p icmp -j ACEPTAR -A SALIDA -p udp -m udp --sport 32768:61000 -j ACEPTAR -A SALIDA -p tcp - m tcp --sport 32768:61000 -j ACEPTAR -A SALIDA -m conntrack --ctstate RELACIONADO,ESTABLECIDO -j ACEPTAR # permitir el acceso al servidor NTP para realizar solicitudes salientes -A SALIDA -p udp -m udp --sport 123 -- dport 123 -m conntrack --ctstate NUEVO -j ACEPTAR COMMIT

¡Este es un ejemplo típico! Para establecer reglas de iptables que se adapten a sus tareas y configuración de red, debe comprender cómo funciona netfilter en Linux leyendo los artículos anteriores.

Configurar máquinas cliente

Para sincronizar la hora en máquinas UNIX red local, es recomendable utilizar la utilidad ntpdate, ejecutándola varias veces al día, por ejemplo, cada hora. Para hacer esto, debe agregar la siguiente línea:

0 * * * * /usr/sbin/ntpdate -s

El modificador -s dirige la salida del comando. Si las máquinas cliente tienen un par de megabytes adicionales de RAM, entonces puede ejecutar el demonio ntpd, como en el servidor con la siguiente configuración:

Servidor restringir predeterminado ignorar restringir noquery notrap restringir 127.0.0.1 nomodificar notrap

Creo que todo está claro en esta configuración: la fuente de tiempo (servidor) es un servidor ntpd local, niega el acceso a todos, permite solo el servidor ntpd local.

Además, en los clientes es necesario especificar correctamente en qué formato almacenar la hora y seleccionar la zona horaria correcta.

Para configurar el cliente NTP de Windows, necesitas ejecutar los siguientes comandos en la consola:

C:\>tiempo neto /setsntp: El comando se completó con éxito. C:\>net stop w32time El servicio de hora de Windows se está deteniendo. El servicio de hora de Windows se detuvo correctamente. C:\>net start w32time El servicio de hora de Windows se está iniciando. El servicio de hora de Windows se inició correctamente. C:\>net time /querysntp El valor SNTP actual es: El comando se completó con éxito.

Conclusión

¡Bueno, eso es todo! El volumen del artículo resultó enorme... Ni siquiera me lo esperaba. Permítanme resumir lo anterior. Espero que en este artículo nos haya quedado claro qué es y cómo funciona un servidor NTP. Aprendimos cómo configurar un servidor y clientes en máquinas UNIX y Windows. En pocas palabras, la estructura de sincronización horaria en una red local es la siguiente: Hay 1,2 o más servidores horarios en la red local, sincronizan su hora con fuentes externas V red global. La configuración del servidor y del cliente se basa en los archivos /etc/ntp.conf (el archivo de configuración principal del demonio ntpd), /etc/localtime (el archivo de zona horaria actual), así como /etc/sysconfig/ntp (para RH ) y /etc/default /ntp (para Deb): archivos de parámetros de inicio del demonio. Para un servidor ntp local, el archivo de configuración especifica servidores externos para obtener la hora y permite el acceso a estos servidores utilizando el parámetro restringir, así como a las computadoras de la red local, para los clientes se especifica la fuente de hora - servidores locales en la red local, y también prohíbe el acceso a todos excepto a la fuente de hora en la red local. Todo. ¡Gracias a todos por su atención! ¡Estaré encantado de recibir comentarios!

  • (archivo de artículos) describe cómo conectar el GPS al servidor para organizar su propio servidor de hora exacta de nivel Stratum1.
  • describe cómo configurar la autorización en un servidor ntp.

Primero, decidamos por qué necesitamos sincronizar la hora en equipos como conmutadores, enrutadores, firewalls, etc.

Esto se hace principalmente para rastrear mediante registros cuándo ocurrió tal o cual evento. Y puedes imaginar qué uso tendrán los registros si la hora no está sincronizada... así es, ninguno.

Protocolo NTP trabaja basado en protocolo UDP, a través de 123 puerto.

Este protocolo tiene una cierta jerarquía para sincronizar sistemas, es decir, niveles.

El nivel 1 se asigna a un sistema que está sincronizado con un reloj de alta precisión, como el GPS.

Un sistema que se sincronizará desde el Nivel 1 tendrá el Nivel 2, y así sucesivamente.

Así, podremos determinar qué tan precisa es la hora de la estación con la que estamos sincronizados.

En nuestra situación, tenemos una máquina en la red con hora precisa, la tengo configurada en base a FreeBSD, desde esta máquina, el dispositivo principal de la red tomará el tiempo (sincronizará), y así se convertirá en el principal para los demás. dispositivos de red(en ideología, cisco será el maestro ntp).

Me gustaría señalar el hecho de que la hora se transmite a través de NTP solo en el formato UTC (Greenwich), cada zona horaria se configura directamente en el hardware.

Veamos un ejemplo de una configuración NTP sencilla.

Primero sincronizamos la hora de nuestro router principal (que será distribuida a otros dispositivos de la red), para ello entramos en modo de configuración global:

servidor ntp 10.0.100.254

donde, 10.0.100.254 en nuestro caso es una máquina FreeBSD que tiene una hora exacta.

Esto es suficiente para una configuración mínima.

Ahora verifiquemos si pudimos conectarnos al servidor de hora y obtener la hora de él, para hacer esto usamos el comando:

Debería ver algo como esto:

El asterisco frente a la ip de nuestro servidor ntp nos dice que todo está bien, al menos la conexión está establecida.

Ahora veamos si la hora está sincronizada.

Si todo está sincronizado, entonces deberíamos ver lo siguiente:

Se ha recibido la hora, ahora necesita configurar la zona horaria que necesita allí, también hacemos lo siguiente en el modo de configuración global:

reloj zona horaria MSK/MSD 3
Ahora veamos la hora:

Todo esta bien.

Pasemos a configurar nuestro enrutador en modo maestro.

Para esta configuración necesitamos hacer de este router un maestro e indicarle el nivel (en Cisco se llama número de estrato), el mismo del que hablé al principio, indicaré el nivel cinco.

Ahora intentemos configurar ntp en otro dispositivo configurador para que se sincronice con nuestro enrutador principal; esto se hace de la misma manera que configuramos la sincronización con el servidor FreeBSD anterior.

servidor ntp 10.0.100.1 preferido

donde 10.0.100.1 es nuestro enrutador principal.

preferir esta es una palabra clave que indica que este servidor ntp es una prioridad (es decir, puede especificar que puede sincronizar no desde un servidor, sino desde varios, esto se hace para que si uno no está disponible o la hora es demasiado diferente de otros, lo que indica cuáles son los problemas, el dispositivo puede cambiar a otro servidor horario y prefiere que este servidor sea más preferible que otros).

También indicamos la zona horaria que necesitamos.

reloj zona horaria MSK/MSD 3

Verificamos:

Todo es genial, todo funciona.

Ahora veamos el tema de la seguridad.

Para empezar, veamos la cuestión de restringir el uso de ACL, quién puede sincronizar y quién no.

Todo es bastante estándar y transparente.

En el servidor horario creamos la ACL correspondiente:

lista de acceso 20 comentario ACCESO a NTP Synclista de acceso 20 permiso 10.0.100.3

Ahora vinculemos esta lista de acceso a ntp.

grupo de acceso ntp solo servicio 20

Si todo está configurado correctamente, se establecerá la comunicación con el servidor ntp y la sincronización será exitosa.

También puede registrar adicionalmente una lista de acceso de clientes. A qué servidores de hora se puede acceder. Esto se hace de manera similar:

lista de acceso 20 comentario ACCESO SINCRONIZACIÓN al servicio NTPlista de acceso 20 permiso 10.0.100.1

Vincular la lista de acceso a NTP

grupo de acceso ntp par 20

Ahora veamos la seguridad basada en autenticación.

Además todo es bastante transparente.

Basta con agregar lo siguiente a la configuración ntp:

clave de autenticación ntp 1 md5 15060E1F10243F34 7autenticación ntpclave de confianza ntp 1
Con el primer comando configuramos la clave de autenticación, con el segundo habilitamos la autenticación, y con el tercero indicamos que la autenticación se debe realizar con la primera clave, esto lo configuramos en cada lado (servidor - cliente), eso es todo. El resultado es un breve curso introductorio sobre cómo configurar NTP en dispositivos Cisco. Para la depuración utilizamos:
ASW-M#depuración ntp?ajustar los ajustes del reloj NTPautenticación autenticación NTPeventos eventos NTPfiltro de bucle filtro de bucle NTPpaquetes paquetes NTPparams Parámetros del reloj NTPreloj de referencia NTP refclockseleccione la selección del reloj NTPsincronizar sincronización de reloj NTPvalidez Validez del reloj par NTPASW-M#depuración ntp
Activamos todo lo que nos interesa, por ejemplo eventos, sincronización, autenticación y vemos qué sucede. Si iniciamos sesión en el dispositivo a través de ssh/telnet, no olvidemos ter mon :)


Arriba