Was ist ein ToD-Server, "Uhrzeit" (nicht NTP)

13

Ich habe eine einfache Aufgabe: Einen ToD-Server einrichten ... Es ist kein NTP. Es läuft auf Port 37. Es scheint mit inetd oder xinetd gebündelt zu sein.

Muss unter Debian oder CentOS installiert sein. Alternativ FreeBSD (Pfsense Router).

Irgendein Hinweis, wie es weitergeht? Zwei Starter-Links, bei denen ich feststeckte:

Auch sehr geschätzt, wenn eine Möglichkeit besteht, zu testen, ob der ToD-Server bereits läuft. Ich habe einige Server im Einsatz, bin mir aber nicht bewusst, ob einer der Server bereits den ToD-Dienst ausführt

Grund: Ich bin dabei, eine Lösung mit Breitband über COAX-Kabel unter Verwendung eines CMTS und Kabelmodems unter Verwendung eines Standards namens DOCSIS 3 einzurichten. Dazu müssen die Kabelmodems eine Uhrzeit von einem ToD-Server empfangen (Uhrzeit).

UPDATE / Lösung

Die Uhrzeit ist RFC 868 und wird kaum mehr verwendet, da NTP und andere besser sind. Der alte RFC 868 Time over Port 37 wird jedoch für einige Systeme benötigt - z. B. Internet over COAX mit CMTS und Kabelmodems benötigen einen Arbeitszeitserver (in der DOCSIS-Dokumentation als Time of Day-Server = ToD-Server bezeichnet). Das für Debian installierbare xinetd enthält einen Zeitserver. Es muss nur in etc / xinetd.d / time aktiviert werden (disable = no für TCP und / oder UDP)

Tillebeck
quelle
2
Hier finden Sie eine kurze Beschreibung der ToD-Server und des TIME-Protokolls . Der Klappentext von NIST lautet: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
Meine ältere Frage hat auch einige Informationen dazu: serverfault.com/questions/156715/…
Stefan Lasiewski

Antworten:

20

Wenn Sie Debian verwenden, wird xinetd mit einem ToD-Daemon geliefert. Wenn Sie "disable = yes" wie in /etc/xinetd.d/time in "disable = no" ändern und dann xinetd neu starten, sollten Sie in der Lage sein, eine Telnet-Verbindung zum Server an Port 37 herzustellen und zu überprüfen, ob Sie etwas zurückerhalten. Sie können Folgendes verwenden:

nc $IP 37 | hexdump

und Sie werden sehen, dass der Hex-Wert jede Sekunde zunimmt.

Edd
quelle
Vielen Dank. Gute Möglichkeit zum Testen. Fertig gegenüber ein paar öffentlichen Servern. Ich kann die Zeit noch nicht auf meinem eigenen Server laufen lassen. Aber wird irgendwann.
Tillebeck
In Ordnung. Habe es jetzt funktioniert. Ich brauche nur das UDP der Zeit. Aber nc $ IP 37 benutzt TCP. Nach dem Aktivieren von beiden funktioniert es also! Groß. Vielen Dank.
Tillebeck
10

Ein "Time of Day" -Server ist ein ziemlich vager Begriff - mir ist nicht klar, ob es sich um einen tatsächlichen Dienst mit dem Namen "ToD" handelt oder nur um eine schlechte Dokumentation. Das Time-Protokoll (RFC 868) ist so alt, dass nur sehr wenige Dinge es verwenden, mit Ausnahme einer kleinen Anzahl eingebetteter Firmwares (wie OpenWRT ), Geräte und Appliances mit wenig Arbeitsspeicher. NTP benötigt mehr Speicher als das Zeitprotokoll.

Nahezu alle modernen Geräte können das Network Time Protocol (NTP) verwenden, das das ältere Time Protocol ersetzt, das besser und wahrscheinlich sicherer ist als das alte Time Protocol. Nehmen Sie sich jetzt etwas Zeit, um zu prüfen, ob Ihr Gerät NTP-Unterstützung verwendet.

Ob Sie es glauben oder nicht, der Wikipedia-Artikel für xinetdenthält nur ein Konfigurationsbeispiel und ist für einen RFC 868-Zeitserver gedacht.

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

Eine Beispielkonfigurationsdatei für den RFC 868-Zeitserver :

# 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
quelle
Vielen Dank. Ich blieb hängen, da inetd und xinetd als Teil der Standard-Linux-Installationen aufgeführt sind. Ich habe gerade ein neues Debian erstellt und es wurde keines von beiden installiert. Nach der Installation von xinetd habe ich die Datei und kann von hier aus fortfahren. Vielen Dank.
Tillebeck
2
"Uhrzeit" oder "ToD" ist der Name, den der RFC 868 in der DOCSIS-Dokumentation verwendet. DOCSIS ist für CMTS- und Kabelmodems gedacht, wenn Sie Internet zusammen mit TV über COAX-Kabel bereitstellen. Ich bin froh, dass ihr mir doch alle helfen könntet.
Tillebeck
5

Time.nist.gov unterstützt die alten Zeit- und Tagesprotokolle. Beachten Sie, dass, soweit ich mich erinnere, diese Protokolle davon ausgehen, dass es keine Netzwerkprobleme gibt.

Jim B
quelle
Vielen Dank. Ich habe einen der öffentlichen Server zum Testen verwendet. Und ich kann sehen, dass sie mit der Zeit gut antworten. Jetzt brauche ich meinen eigenen Server, um dasselbe zu tun
Tillebeck