Tengo un problema extraño con uno de mis servidores. ntpd
y ntpdate
no funcionan, pero la depuración no muestra ningún error. Al principio pensé que tal vez un firewall local o de red estaba bloqueando el puerto UDP 123, pero ese no es el caso: este servidor puede comunicar el puerto UDP 123 (el protocolo ntp) a Internet y obtener respuestas.
Déjame demostrar el problema.
date -s "30 DEC 2012 02:30:00"
- funciona, por lo que puedo configurar el reloj con éxito sin error.
ntpq -pn pool.ntp.org
- funciona, obtengo datos detallados del tiempo del servidor de tiempo, y demuestra que los paquetes UDP están funcionando.
ntpdate -d pool.ntp.org
- el modo de depuración funciona, muestra una tonelada de datos de depuración y muestra el desplazamiento de tiempo actual:
30 Dec 02:38:56 ntpdate[19267]: step time server 208.97.140.69 offset 228.234554 sec
Todo parece normal, hasta que:
ntpdate pool.ntp.org
- después de una pausa de 4.7 segundos, devuelve:
30 Dec 02:41:29 ntpdate[19274]: no server suitable for synchronization found
Problema similar al ejecutarse ntpd
, no actualiza el reloj.
Después de que se inicia ntpd, los ntpq -pn
resultados de todas las devoluciones se quedan para siempre, lo .INIT.
que significa que no pueden sincronizarse.
/ var / lib / ntp / drift es la configuración del archivo de deriva en ntp.conf, que es chmod 644 y es propiedad de ntp: ntp, igual que todos mis otros sistemas.
Probé una docena de otros servidores de hora ntp, desactivé el firewall de iptables y confirmé que el centro de datos no está filtrando el tráfico udp. ¿Alguna idea de qué impide que ntpd y ntpdate sincronicen mi reloj?
Este es CentOS 6.3 x64 en un servidor dedicado con CPU Intel.
Respuestas:
ntpdate
(yntpd
) se negará a (fácilmente) establecer el tiempo si el desplazamiento es demasiado alto. Ambas aplicaciones intentarán ajustar lentamente su tiempo, para no confundir su sistema o cualquier aplicación que no pueda manejar saltos de gran tamaño muy bien.Intenta en su
ntpdate -b
lugar. Fijará el tiempo sin importar cuán irrazonable pueda parecer.También es posible que deba agregar el
-u
indicador, lo que evitará elntpdate
uso de puertos privilegiados (<1024). Tenga en cuenta que-u
está implícito en-d
! Y parece que-d
está funcionando bien.Si agregar
-u
hace una diferencia entre trabajar y no trabajar, entonces tiene un firewall en el camino que está causando estos problemas.Y desafortunadamente no parece posible
ntpd
utilizar un puerto sin restricciones .fuente
ntpdate -b pool.ntp.org
resultados:30 Dec 03:00:10 ntpdate[1341]: no server suitable for synchronization found
el indicador de depuración ntpdate, que-d
mostrará datos de depuración pero no se sincronizará realmente, y eso funciona:ntpdate -d pool.ntp.org
resultados:30 Dec 03:00:55 ntpdate[1343]: step time server 128.10.254.6 offset 228.030338 sec
-d
puede estar funcionando mientras que, de lo contrario, no está funcionando.ntpdate -b -u
¡¡¡trabajos!!! Increíble. Dos preguntas. El ntpd daemon sigue fallando, ¿cómo hago para que no use puertos privilegiados? Segunda pregunta, ¿POR QUÉ esta máquina falla con ntp en puertos privilegiados cuando todos mis otros servidores no lo hacen?¿Puede proporcionar los siguientes resultados en pastebin?
¿Estás sincronizando desde los servidores del estrato 1 o cualquier otra cosa?
Ningún servidor adecuado para la sincronización significa lo que dice, que no se puede establecer la comunicación entre el cliente y el servidor.
Si no podemos encontrar pistas de este conjunto de datos, es posible que se requiera tcpdump para ver dónde se pierde el paquete.
Deténgase e inicie ntpd daemon y espere a que llegue a 377 y luego detenga el tcpdump. Eso debería dar más pistas.
fuente