Raspberry: Kleinen Timeserver bauen

Alle Fragen zur Netzwerkkommunikation

Raspberry: Kleinen Timeserver bauen

Beitragvon Timm Thaler » 3. Okt 2018, 18:25 Raspberry: Kleinen Timeserver bauen

Ich habe zwei IP Kameras, die nicht ins Internet dürfen. Damit haben die allerdings auch keinen gültigen Zeitstempel. Ich habe einen Router, der so blöd ist, dass er keinen Timeserver bereitstellen kann. Den ich aber auch nicht austauschen kann.

Nun wollte ich ganz locker einen Raspberry Pi als Zeitserver einrichten, denn der darf ins Internet und sich die aktuelle Zeit holen. Früher(tm) mit ntp wäre das anscheinend problemlos möglich gewesen. Allerdings verwendet raspbian stretch systemd-timedatectl zur Zeitsynchonisation und das kann nur als Client arbeiten, selbst keine Zeit zur Verfügung stellen. ntp parallel zu timedatectl wird nicht empfohlen, und im Raspberry Forum bekommt man dazu so qualitfizierte Aussagen wie: systemd ist eh blöd, schalte das ab und mach ntp. ntp als reinen Server zu betreiben, ohne dass er selbst die Zeit holt scheint nicht möglich.

Eigentlich sollte es doch machbar sein, selbst einen kleinen Zeitserver zu bauen:
- schauen, ob gültige Zeit vorhanden
- schauen, ob UDP-Port 123 frei ist
- UDP-Port 123 belegen
- wenn Anfrage an 123, Zeit ausliefern

Wäre das so machbar? Oder ist meine Vorstellung naiv? In den Kameras kann ich den Timeserver ändern, also auch den Raspi eintragen.

Oder jemand sagt: Die ham keine Ahnung im Raspberry Forum, natürlich kann man ntp als reinen Server einrichten, oder es gibt was anderes, was das low level kann.
Timm Thaler
 
Beiträge: 730
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon sstvmaster » 3. Okt 2018, 21:33 Re: Raspberry: Kleinen Timeserver bauen

Oder schau mal hier soll der Raspi als NTP Server laufen: http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html
OS: Windows 7 32/64bit
Lazarus 1.8.4, 32bit
Lazarus 2.1.0 Trunk 3.3.1, 32bit
sstvmaster
 
Beiträge: 93
Registriert: 22. Okt 2016, 22:12
OS, Lazarus, FPC: Lazarus 1.8.4 + 2.1.0 Trunk 3.3.1 / Win32, Windows 7 32+64bit | 
CPU-Target: 32Bit
Nach oben

Beitragvon af0815 » 3. Okt 2018, 21:36 Re: Raspberry: Kleinen Timeserver bauen

Mit einem Lazarusprogramm kann man die Zeit stellen. Das geht, allerdings muss man bei der ausführbaren Datei paar Flags setzen. Code+Infos kann ich dir geben.

Meiner Meinung nach sollte ntpd = Dämon für den Zeitserver alleine auch gehen. Nicht ntp, der ja nur Client ist. Zeitserver selbst zu spielen mit Lazarus, ist wahrscheinlich auch möglich, die Frage ist nur ob es sich auszahlt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon Timm Thaler » 3. Okt 2018, 22:02 Re: Raspberry: Kleinen Timeserver bauen

af0815 hat geschrieben:Mit einem Lazarusprogramm kann man die Zeit stellen.


Die Zeit will ich nicht stellen, das macht der systemd.timesync.

sstvmaster hat geschrieben:Oder schau mal hier soll der Raspi als NTP Server laufen: http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html


Das sind alles die pre-systemd-Lösungen, wo auf dem Raspi noch ntp zur Zeitsynchronisation lief.

Das Problem ist halt, dass sich die Zeitsynchronisation ja selbst einstellt. Sprich sie holt die Internetzeit, hat dafür eine Liste an verfügbaren Timeservern, dann wird regelmäßig geschaut, wie die interne Uhr mit der Internetzeit zusammenpasst und entsprechend nachsynchronisiert und die "Ganggeschwindigkeit" der Uhr nachgestellt. Offenbar wird hier wirklich die bisherige Gangabweichung eingerechnet.

Das geht gut, solange es einen Dienst gibt, der die Zeit synchronisiert. Machen das aber mehrere Dienste systemd.timesync und ntp als Client, kann es Probleme geben. Wenn ich also mit ntp einen Timeserver anbieten will, dann muss ntp so konfiguriert sein, dass es nur als Server arbeitet, aber nicht als Client selbst die Zeit holt. Und dafür finde ich keine Konfiguration.
Timm Thaler
 
Beiträge: 730
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon af0815 » 4. Okt 2018, 06:07 Re: Raspberry: Kleinen Timeserver bauen

Timm Thaler hat geschrieben:Das geht gut, solange es einen Dienst gibt, der die Zeit synchronisiert. Machen das aber mehrere Dienste systemd.timesync und ntp als Client, kann es Probleme geben. Wenn ich also mit ntp einen Timeserver anbieten will, dann muss ntp so konfiguriert sein, dass es nur als Server arbeitet, aber nicht als Client selbst die Zeit holt. Und dafür finde ich keine Konfiguration.

Man muss mal auseianderhalten ntp ist der client und ntpd ist der serverdienst.

Folglich musst du ntpd richtig konfigurieren. Nur ntp und ntpd teilen sich libraries. Du kannst dir also aussuchen ntpd und ntp (Server & client) ODER systemd.timesync (nur client). Alternativ ein Proxydienst für Port 123 am RasPi der die Zeitserverzugriffe weiterleitet.

Edit: Vergiss das mit dem Proxy, gerade nachgeschaut, ntp ist udp, die Proxies normalerweise nur TCP. Geht also nicht.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3501
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Netzwerk



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried