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.
Raspberry: Kleinen Timeserver bauen
-
- Beiträge: 1224
- Registriert: So 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
-
- Beiträge: 576
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 2.2.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
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
LG Maik
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
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.
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).
-
- Beiträge: 1224
- Registriert: So 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
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.
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
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).