Equipos y materiales > Openwrt & LEDE

ntpd no me funciona, hora loca, ni idea de qué pasa

<< < (3/3)

raphik:
@Tki2000 & peperfus
Gracias, pero no creáis que os voy a dejar tranquilos sin antes daros un poco la brasa con el tema de los relojes y su sincronización.

Los PCs y los routers están dotados del llamado reloj software. Este reloj, hecho a base del líneas de código, marca la fecha y la hora del sistema. El problema del reloj software es que hay que ponerlo en hora cada vez que la máquina arranca.

Los PCs, y posiblemente algún router del que no tengo constancia, albergan en su placa base un reloj hardware adicional. Este reloj, también llamado reloj RTC o incluso reloj BIOS, es un dispositivo físico que se mantiene en hora durante años gracias a una pila que lo alimenta. Un script que se ejecuta durante el arranque lee fecha y hora del reloj hardware y sincroniza el desmemoriado reloj software.

¿Y si no hay reloj hardware? El mismo script de antes, al detectar la carencia, revisa la carpeta /etc y sincroniza el reloj software con la fecha y la hora del fichero más reciente. Esto explica por qué un router no conectado a Internet tiene siempre la misma hora cuando arranca. En realidad no siempre; sólo hasta que se toca la carpeta /etc.

El script que dictamina la hora del sistema tiene máxima prioridad. Está escrito en bash y se puede visualizar

--- Código: ---cat /etc/init.d/sysfixtime
--- Fin del código ---



Lo normal es que el router no tenga reloj hardware. Hay un mod que por poco más de un euro permite dotar a nuestro router OpenWRT de un módulo RTC que podría ser la envidia del foro. Dejo un par de enlaces.

Al mod: https://forum.openwrt.org/t/how-to-install-rtc-hardware-clock-pcf8563-i2c/43566
Al una tienda donde lo venden: https://es.aliexpress.com/item/1005001667717496.html

Cuando los equipos están conectados a Internet, es muy recomendable que todos ellos se sincronicen con un único reloj de red. Todavía no se ha inventado un reloj capaz de dar la hora a millones de equipos informáticos. Para solventar el problema se inventó el protocolo NTP (Network Time Protocol). Este protocolo establece una jerarquía en la que los mejores relojes disponibles ocupan el primer nivel. Los de un segundo nivel se sincronizan con los del primero y así sucesivamente.
Más info: https://www.ionos.es/digitalguide/servidores/know-how/que-es-el-ntp/

En España, el Real Instituto y Observatorio de la Armada mantiene en San Fernando media docena de relojes atómicos que ocupan el primer nivel de difusión horaria UTC. Son relojes de cesio que no adelantan ni atrasan un segundo en treinta mil años. No obstante, ahora están pendientes de uno nuevo que aguantará en hora unos cinco millones de años.
FUENTE: https://www.larazon.es/espana/20200411/f6mkrbm2qzebjdid3w2qbhwf7e.html

En los routers OpenWRT, un script de muy baja prioridad permite sincronizar la hora con el reloj de red. Se puede visualizar

--- Código: ---cat /etc/init.d/sysntpd
--- Fin del código ---



Mediante LuCI se puede seleccionar el reloj de red preferido. Hay una lista de servidores NPT aquí: https://gist.github.com/mutin-sa/eea1c396b1e610a2da1e5550d94b0453

Hay un post muy interesante que propone utilizar un pincho GPS como servidor NTP. No es un mod propiamente, porque no hay que abrir el router ni soldar nada. Sólo pinchar un G-mouse de 5€ e instalar un poco de software. Dejo un par de enlaces.

Al post: https://openwrt.org/docs/guide-user/services/ntp/gps
A una tienda donde lo venden: https://es.aliexpress.com/w/wholesale-VK172.html?SearchText=VK172&g=y&sortType=price_asc&trafficChannel=main&isFreeShip=y

Saludos.

peperfus:
Vuelta otra vez, fecha (y hora, obvio) loca en el router   :P

Rallada monumental.
Zerotier no tenía nada que ver, lo he tenido desactivado todo este tiempo y me ha vuelto a fallar la hora.

Cuando consiga averiguar qué COJ@#~@#~@# pasa, lo pondré bien claro para que se vea, porque estoy que me tiro de los pelos.

Cosa curiosa: cuando en luci voy a startup, y le doy restart al sysfixtime..... me da error  ???



Si lo hago desde putty manualmente, no hace nada y la hora sigue mal (la fecha también).

Otra cosa: cuando le doy a System y al botón de Sync with NTP server, pasa de mí.
Cuando le doy al botón de Sync with browser, pone la fecha y hora correctas.

¿Alguna idea de qué probar?

Edito ....
Me acabo de dar cuenta de que tengo el mismo problema en otro router (que uso como servidor de impresión).... tampoco me va la sincronización horaria. Ni cliente ni servidor (he probado a intercambiar los roles entre uno y otro router ...). No hace demasiado tiempo actualicé los paquetes de ambos routers. ¿Podría ser un bug?  ^-^

¿A alguien más le pasa algo de esto con la última versión de los paquetes ....?

Más cosas. He instalado el ntpq, utilidad para hacer test al servicio ntp ... y me dice:

--- Código: ---root@heimdall:/etc# ntpq -pn
localhost: timed out, nothing received
***Request timed out

--- Fin del código ---

peperfus:
Conclusiones que voy sacando...
Viendo que acaba de salir la open 21 rc2, me decido a probarla en uno de mis APs y ya de paso, reseteo config y pruebo el ntp en default. FALLA.
ALGO tengo en mi firewall que de alguna manera u otra está bloqueando o impidiendo que otro router open acceda a servidores ntp...
SIN EMBARGO, desde mi PC con Win7, me sincroniza perfectamente.
¿Tendrá algo que ver IPv6? grrrr
Sigo haciendo pruebas.

Vaya, curioso. En la nueva versión de open, también falla el restart al sysfixtime.
¿A vosotros también os pasa?

El router que uso como servidor de impresión deja de hacer su trabajo y al intentar imprimir algo, (el PC) me da error de impresión. Creo que es por tener la fecha incorrecta. Le pongo la fecha manualmente y vuelve a imprimir ok.

peperfus:
Acabo de descubrir Chrony.
Voy a probarlo a ver qué tal.
Sé que no es la solución, pero si funciona, lo dejaré como parche temporal hasta que averigüe (si algún siglo lo consigo) que COJ@#~@# pasa con el ntp....

Archivo de configuración ....

--- Código: ---bla bla bla...
bla bla bla ... ... ...
keyfile : Esta directiva se utiliza para especificar la ubicación del archivo que contiene pares de claves de ID para la autenticación de paquetes NTP.
...
...
--- Fin del código ---

No sabía que ntp ¿necesitaba? archivos de clave de autenticación  :-X :-X

Recuerdo que hace unos días actualicé nosequé archivos de claves .... de forma forzada...
A ver si el problema va a venir de ahí :S
(utilicé este script para actualizar y vi que había archivos que no se podía actualizar. Luego usé un parámetro de opkg para forzar su actualización (no recuerdo cuál fue))

EDITO:

Chrony recién instalado y probado. Funcionando OK, perfecto. (Al menos de momento).

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa