Buenos días a todos!

No os creáis que he dejado de trabajar y de seguir peleándome con el mundo de las tecnologías y la Informática, me sigue apasionando el poder tirarme de los pelos de vez en cuando y sobre todo ser capaz de solventar los problemas que vienen cada vez que tengo que hacer algo que nunca antes había hecho.

A lo que iba, he sido un vago de tres pares de narices, no tengo excusa alguna, pero he de decir a mi favor, que al escribir en tantísimos blogs (Jabefitness, Vitonica), trabajar (en Indiproweb), llevar la tesis doctoral (y su respectivo blog), hacer ejercicio y en definitiva vivir mi vida, hay cosas que las voy dejando un poco más de lado porque para mí tienen algo menos de interés y una de ellas era escribir aquí. También me gustaría dejar claro que si tuviera todavía más tiempo ,escribiría aquí más entradas, porque también me gusta contaros historias del trabajo que os pueden servir para solventar los problemas más fácilmente.

Y después de este rollo, voy al problema con el que me encontré hoy (más bien hace unos días, pero hoy decidí solucionarlo).

Resulta que en uno de los servidores que gestiono para mi empresa Indiproweb (www.indipro.es) , se desajustó la hora y tuve que reajustarla. Yo tenía un maravilloso script que a diario ejecutaba el siguiente comando:

ntpclockset 0.pool.ntp.org

con esto sería suficiente para que se actualizara la hora, sin embargo recibía el siguiente mensaje

sntpclock: fatal: unable to send request: permission denied
!!! Could not contact NTP server: 0.pool.ntp.org

Pues bien, me puse a buscar…. y en algún foro decían que la solución era poner una IP directa, así que así lo hice:

ntpclockset 91.121.122.16

Con la mala suerte de que recibí el mismo mensaje de error

sntpclock: fatal: unable to send request: permission denied
!!! Could not contact NTP server: 91.121.122.16

Así que empecé a desesperarme un poco. Foreando y foreando más, vi que muchos utilizaban el ntpdate en lugar del ntpclockset, es una tontería porque ambos servicios funcionan de forma similar, pero bueno, de perdidos al río lo instalé en mi servidor, que al ser gentoo, fue tan sencillo como escribir lo siguiente:

sudo emerge ntpdate

Después de que se instalara todo, probe a ejecutar el siguiente comando:

ntpdate -u 0.pool.ntp.org

Recibiendo como resultado lo siguiente:

19 Sep 12:47:12 ntpdate[8269]: sendto(core-2.zeroloop.net): Operation not permitted
19 Sep 12:47:13 ntpdate[8269]: sendto(ntp-1.arkena.net): Operation not permitted
19 Sep 12:47:13 ntpdate[8269]: sendto(ntp-3.arkena.net): Operation not permitted
19 Sep 12:47:13 ntpdate[8269]: sendto(dalek.roflcopter.fr): Operation not permitted
19 Sep 12:47:13 ntpdate[8269]: sendto(core-2.zeroloop.net): Operation not permitted
19 Sep 12:47:14 ntpdate[8269]: sendto(ntp-1.arkena.net): Operation not permitted
19 Sep 12:47:14 ntpdate[8269]: sendto(ntp-3.arkena.net): Operation not permitted
19 Sep 12:47:14 ntpdate[8269]: sendto(dalek.roflcopter.fr): Operation not permitted
19 Sep 12:47:14 ntpdate[8269]: sendto(core-2.zeroloop.net): Operation not permitted
19 Sep 12:47:15 ntpdate[8269]: sendto(ntp-1.arkena.net): Operation not permitted
19 Sep 12:47:15 ntpdate[8269]: sendto(ntp-3.arkena.net): Operation not permitted
19 Sep 12:47:15 ntpdate[8269]: sendto(dalek.roflcopter.fr): Operation not permitted
19 Sep 12:47:15 ntpdate[8269]: sendto(core-2.zeroloop.net): Operation not permitted
19 Sep 12:47:16 ntpdate[8269]: sendto(ntp-1.arkena.net): Operation not permitted
19 Sep 12:47:16 ntpdate[8269]: sendto(ntp-3.arkena.net): Operation not permitted
19 Sep 12:47:16 ntpdate[8269]: sendto(dalek.roflcopter.fr): Operation not permitted
19 Sep 12:47:17 ntpdate[8269]: no server suitable for synchronization found

En fin, que el reloj no quiere sincronizarse :(. Seguimos foreando, hasta que finalmente doy con esta web  , gracias a la cual obtengo la solución, que verdaderamente es una tontería y que no sé en qué momento debí bloquear dichos puertos…. pero bueno, el tema es que ya lo solucioné con lo siguiente:

iptables -I OUTPUT -p udp --dport 123 -j ACCEPT
iptables -I INPUT -p udp --dport 123 -j ACCEPT

Y listo :), ya funcionó a la perfección

ntpdate -u 0.pool.ntp.org
19 Sep 12:42:41 ntpdate[8850]: step time server 212.83.133.52 offset -352.852423 sec

 

Así que si os está sucediendo lo mismo, seguramente sea porque tenéis los puertos UDP  de entrada y salida 123 cerrados.

Aprovecho para comentaros que la autosincronización del reloj la hago incluyendo lo siguiente en el fichero cron de mi servidor (ejecutando crontab -e):

00 01 * * * ntpdate pool.ntp.org

De esta forma, todos los días a las 00:01 se ejecuta dicho comando y se sincroniza el reloj.

Espero que os haya servido como a mí para salir del atranque, sed buenos!