Bueno, de los pobres, o de los vagos, o de los kutres....el caso es que aquí va mi segundo kutre-script.
Hace unos meses, me encontré en una red en la que el UDP estaba capado... yo tampoco sé en qué estarían pensando cuando decidieron esa política de seguridad, pero los caminos de lo políticos haciendo de admin son inescrutables.
El caso es que estuve investigando alguna solución que permitiese hacer NTP por TCP y no encontré nada.
La siguiente opción consistía en encapsular UDP dentro de TCP, pero no era viable al tratarse de una red aislada, sin otras redes de apoyo externas o que dieran este tipo de servicos. Además están muy desaconsejados este tipo de workarounds.
Por último, yo que antes de nada soy práctico, pensé "¿porqué no hago la consulta a algún servidor web y le meto la hora a las bravas?". Y a mí todo lo que sea meter a las bravas siempre me ha parecido una buena idea, así que creé el siguiente kutre-script:
root@osaka:~# cat /usr/local/bin/time_sync.sh
#!/bin/bash
date -u -s "`wget -O- http://www.time.gov/timezone.cgi?UTC/s/0 2> /dev/null \
| sed -n -e 's/.*size="[75]".*>\(.*\)<br>$/\1/p'`" >& /dev/null
¿Se nota que estoy intentando aprender bash scripting? xD
Ahora sólo hay que añadirlo al cron del usuario root. Para editar el cron, desde una terminal de root, ejecutamos:
root@osaka ~-> crontab -e
Y añadimos la siguiente linea:
00 09 * * * root /usr/local/bin/time_sync.sh
Yo sólo sincronizo una vez al día, porque a la peña de las páginas web les sienta muy mal que utilicen sus páginas las máquinas en vez de las personas, y no es plan de que se cabreen y pongan CAPTCHAs ^_^. Si quieres ponerlo más a menudo, ya sabes:
man -S 5 crontab
Por si un copypaste es demasiado kurro time_sync.sh
PD: Por supuesto, gracias a la gente de http://www.time.gov/ , sin vosotros esto no habría sido posible xDD
NOTA: He actualizado el artículo y el script porque ha cambiado la URL desde la que extraer la hora.
Ya sabes: apt-get update && apt-get upgrade net_para_los_pobres
(just kidding)
martes, 25 de septiembre de 2007
El NTP de los pobres
Publicado por bpk los 11:19 a. m.
Etiquetas: programacion, redes, script
Suscribirse a:
Enviar comentarios (Atom)
3 comentarios:
Para la gentooza :
emerge -va openntpd
nano -w /etc/conf.d/ntpd
NTPD_OPTS="-s"
/etc/init.d/ntpd start
rc-update -a ntpd default
http://www.openntpd.org/
Salud3!
Estoooo, por lo que veo eso es una implementación de NTP, y por lo tanto usa UDP, ¿no?
ups no me lei lo del udp.... XD en q estaria pensando cuando puse el comentario.....
Acepta mis disculpas pedrin.
Entonces lo mejor es hacer
emege -va net-misc/htpdate
nano -w /etc/conf.d/htpdate
Meter algun server, por ejemplo www.google.es www.yahoo.es ...
SERVERS="www.google.es www.yahoo.es"
y arrancar el servicio.
/etc/init.d/htpdate start
Si todo va bien meterlo al arranque
rc-update -a htpdate default
y listo...
La verdad es que me ha gustado mucho, es muy ligerito y facil de usar. Posiblemente sustituya el openntpd por este.
Mas info y descargas en :
http://www.clevervest.com/htp
Publicar un comentario