¿Qué es un servidor ToD? "Hora del día" (no NTP)

13

Tengo una tarea simple: configurar un servidor ToD ... No es NTP. Se ejecuta en el puerto 37. Parece estar incluido con inetd o xinetd.

Se instalará en Debian o CentOS. Alternativamente, FreeBSD (enrutador pfsense).

¿Alguna pista sobre cómo proceder? Dos enlaces de inicio donde después me quedé atascado:

También es muy apreciado si es una forma de probar si el servidor ToD ya se está ejecutando. Tengo varios servidores en ejecución, pero no sé si alguno de ellos ya tiene el servicio ToD en ejecución.

Motivo: Estoy a punto de configurar una solución con banda ancha a través de cables COAX utilizando un CMTS y módems de cable utilizando un estándar llamado DOCSIS 3. Para ello, los módems de cable deben recibir una hora de un servidor ToD (hora del día).

ACTUALIZACIÓN / Solución

El tiempo es RFC 868 y ya casi no se usa, ya que NTP y otros son mejores. Pero el viejo RFC 868 Time over port 37 es necesario para algunos sistemas, por ejemplo, Internet a través de COAX usando CMTS y módems de cable necesitan un servidor de tiempo de trabajo (en la documentación de DOCSIS llamada Time of Day server = ToD server). El xinetd que se puede instalar para Debian incluye un servidor horario. Solo tiene que habilitarse en etc / xinetd.d / time (deshabilitar = no para TCP y / o UDP)

Tillebeck
fuente
2
Vea aquí un pequeño resumen sobre los servidores ToD y el protocolo TIME . La propaganda de NIST dice:the time format (as specified in RFC-868) has poor error-handling capabilities in general, and many of the client programs that use this format are poorly written and may not handle network errors properly. Therefore users are strongly encouraged to switch to the Network Time Protocol (NTP), which is more robust and provides greater accuracy. We eventually intend to phase out support for the TIME format on all servers.
HopelessN00b
1
Mi pregunta anterior también tiene información sobre esto: serverfault.com/questions/156715/…
Stefan Lasiewski

Respuestas:

20

Si está utilizando Debian, xinetd viene con un demonio ToD. Si cambia el "deshabilitar = sí" como en /etc/xinetd.d/time a "deshabilitar = no" y luego reinicia xinetd, debería poder hacer telnet al servidor en el puerto 37 y verificar que le devuelvan algo. Puedes usar algo como:

nc $IP 37 | hexdump

y verás que el valor hexadecimal aumenta cada segundo.

Edd
fuente
Gracias. Gran manera de probar. Hecho a unos pocos servidores públicos. Todavía no puedo hacer correr el tiempo en mi propio servidor. Pero lo hará, eventualmente.
Tillebeck
Okay. Lo tengo funcionando ahora. Solo necesito el UDP de la época. Pero nc $ IP 37 usa TCP. Entonces, después de habilitar ambos, ¡funciona! Excelente. Gracias.
Tillebeck
10

Un servidor de "Hora del día" es un término bastante vago: no estoy claro si se refiere a un servicio real llamado "ToD", o es simplemente una documentación deficiente. El protocolo Time (RFC 868) es tan antiguo que muy pocas cosas lo usan, excepto un pequeño número de firmwares integrados (como OpenWRT). ), dispositivos y dispositivos con poca memoria. NTP requiere más memoria que el protocolo Time.

Casi todos los dispositivos modernos pueden usar el Protocolo de tiempo de red (NTP) que ha reemplazado al protocolo de tiempo anterior, que es mejor y probablemente más seguro que el protocolo de tiempo antiguo. Así que dedique algún tiempo ahora para ver si su dispositivo usa soporte NTP.

Lo creas o no, el artículo de Wikipedia para xinetd contiene un solo ejemplo de configuración, y es para un servidor horario RFC 868.

Ver http://en.wikipedia.org/wiki/Xinetd#Configuration

Un archivo de configuración de ejemplo para el servidor horario RFC 868 :

# default: off
# description: An RFC 868 time server. This protocol provides a
# site-independent, machine readable date and time. The Time service sends back
# to the originating source the time in seconds since midnight on January first
# 1900.
# This is the tcp version.
service time
{
        disable         = yes
        type            = INTERNAL
        id              = time-stream
        socket_type     = stream
        protocol        = tcp
        user            = root
        wait            = no
}

# This is the udp version.
service time
{
        disable         = yes
        type            = INTERNAL
        id              = time-dgram
        socket_type     = dgram
        protocol        = udp
        user            = root
        wait            = yes
}
Stefan Lasiewski
fuente
Gracias. Me atasqué ya que inetd y xinetd figuran como parte de las instalaciones predeterminadas de Linux. Acabo de configurar un debian nuevo y ninguno de ellos está instalado. Después de instalar xinetd, tengo el archivo y puedo continuar desde aquí. Gracias.
Tillebeck
2
"hora del día" o "ToD" es el nombre al que se llama el RFC 868 en la documentación de DOCSIS. DOCSIS es para CMTS y módems de cable cuando se proporciona Internet junto con TV a través de cables COAX. Me alegra que todos puedan ayudarme después de todo.
Tillebeck
5

Time.nist.gov admite los protocolos antiguos y diurnos. Tenga en cuenta que, hasta donde recuerdo, esos protocolos suponen que no hay problemas de red.

Jim B
fuente
Gracias. Utilicé uno de los servidores públicos para probar. Y puedo ver que responden bien con el tiempo. Ahora necesito mi propio servidor para hacer lo mismo
Tillebeck