Raspberry Pi Mit GPS als NTP-Server

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo alle Zusammen!

    Ich bin recht neu in diesem Thema und deswegen bitte ich euch, geduldig zu sein :D

    Ich wollte mit Hilfe eines GPS einem Raspberry Pi Model 4B die richtige Zeit geben. Im Folgenden nenne ich ihn "NTP-Server" Dazu habe ich den GPS-Daemon installiert, sowie Chrony, da mir das in einem Youtube Tutorial empfohlen wurde und mir sehr geholfen hat.

    Erfreulicher Weise funktioniert die Synchronisation tatsächlich. Die Zeit, die das GPS stellt ist nun mit der Systemzeit synchron.

    Jetzt möchte ich, dass ein anderer Raspberry Pi Model 4B, welcher über Lan an einem Modem angeschlossen ist, diese Zeit ebenfalls als Systemzeit annimmt. Im Folgenden nenne ich ihn "NTP-Client"

    Dazu habe ich auf dem NTP-Server die ntp-Software installiert und eingerichtet. Die Konfigurationsdatei ntp.conf ist angehängt. Die Adresse des NTP-Servers ist 192.168.1.226

    Danach habe ich die NTP-Software auf dem NTP-Client installiert und eingerichtet. Die Konfigurationsdatei ntp.conf ist auch angehängt. Die Adresse des Clients ist 192.168.1.120

    Entweder übersehe ich etwas grundlegendes, oder ich habe etwas falsch eingestellt, denn es funktioniert nicht. Ich habe sehr lange im Internet gesucht und verschiedenste Lösungen von anderen Leuten ausprobiert.

    -Ich habe den Port 123 geöffnet

    -Ich habe in ntp.conf

    Code
    iburst

    hinter die Adresse geschrieben, da viele meinten, das würde den Fehler beheben.

    -Ich habe ntpdate installiert und Tests damit durchgeführt.

    Dafür musste ich in /etc/hosts der Adresse des Servers den Namen "NTP-server-host" geben.

    Dabei ist mir aufgefallen, dass bei dem Befehl

    Code
    ntpdate NTP-server-host

    die Ausgabe

    Code
    the NTP socket is in use, exiting

    erscheint.

    Nach weiteren Recherchen habe ich gelesen, dass man den ntp-Dienst erst stoppen, dann den oberen Befehl eingeben, und dann den ntp-Dienst wieder starten soll.

    Code
    service ntp stop
    ntpdate NTP-server-host
    no server suitable for synchronization found
    service ntp start

    Leider kommt bei mir diese Fehlermeldung. Im Internet steht immer nur, dass der Port 123 das Problem verursacht, jedoch ist es bei mir nicht so, da ich diesen schon geöffnet hatte.

    Ich hoffe, jemand kann mir helfen das Problem zu lösen. Wenn ihr noch irgendwelche Ausgaben von anderen Befehlen braucht, schreibt die Befehle einfach rein. ;)

    Viele Grüße und Danke schonmal im Voraus <3

  • Dazu habe ich auf dem NTP-Server die ntp-Software installiert und eingerichtet. Die Konfigurationsdatei ntp.conf ist angehängt. Die Adresse des NTP-Servers ist 192.168.1.226

    Danach habe ich die NTP-Software auf dem NTP-Client installiert und eingerichtet. Die Konfigurationsdatei ntp.conf ist auch angehängt. Die Adresse des Clients ist 192.168.1.120

    Nach weiteren Recherchen habe ich gelesen, dass man den ntp-Dienst erst stoppen, dann den oberen Befehl eingeben, und dann den ntp-Dienst wieder starten soll.

    Code
    service ntp stop
    ntpdate NTP-server-host
    no server suitable for synchronization found
    service ntp start

    Gib doch beim Client mal server 192.168.1.226 in der /etc/ntp.conf an.

    Wie ist die Ausgabe von netstat -tulpen beim Server ?

    Und kannst du den Server vom Client mit nmap 192.168.1.226 -p 123 erreichen ?

    Und wo, wie und warum hast du Port 123 geöffnet ?

    BTW:

    Zitat

    ntpdate is deprecated. Please use sntp instead for manual or scripted NTP queries/syncs.

  • Dazu habe ich auf dem NTP-Server die ntp-Software installiert und eingerichtet. Die Konfigurationsdatei ntp.conf ist angehängt. Die Adresse des NTP-Servers ist 192.168.1.226

    Du kannst auch rdate installieren:

    Code
    sudo apt install rdate

    und danach schauen/testen, ob der NTP-Server erreichbar ist und wenn ja, das richtige Datum bzw. die richtige Uhrzerit liefern kann:

    Code
    rdate -4npu 192.168.1.226

    Beispiel:

    Code
    :~$ date && rdate -4npu 192.168.178.1
    Mi 4. Jan 17:03:42 CET 2023
    Wed Jan  4 17:03:42 CET 2023

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Gib doch beim Client mal server 192.168.1.226 in der /etc/ntp.conf an.

    Das hat leider auch nicht geholfen, Zeit ist auch nach einem Reboot asynchron.

    Wie ist die Ausgabe von netstat -tulpen beim Server ?

    Und kannst du den Server vom Client mit nmap 192.168.1.226 -p 123 erreichen ?

    Oh, wie es ausschaut ist der Port 123 geschlossen. Dort steht:

    Code
    nmap 192.168.1.226 -p 123
    Nmap scan report for NTP-server-host (192.168.1.226)
    Host is up (0.00032s latency)
    
    PORT    STATE    SERVICE
    123/tcp closed   ntp

    Und wo, wie und warum hast du Port 123 geöffnet ?

    Den Port habe ich mit der Software ufw geöffnet. Wie bereits erwähnt wurde das mehrmals als Lösung bei anderen vorgeschlagen und hatte auch funktioniert. Ich schätze ich habe den falschen Port geöffnet(?) oder der Port hat sich wieder geschlossen. Das ist auch schon etwas her, dass ich das gemacht habe und kann den Befehl deswegen nicht hier eintragen.

    Ist ufw eine geeignete Software dafür? Oder gibt es da einen anderen Weg?

  • Du kannst auch rdate installieren:

    Code
    sudo apt install rdate

    und danach schauen/testen, ob der NTP-Server erreichbar ist und wenn ja, das richtige Datum bzw. die richtige Uhrzerit liefern kann:

    Code
    rdate -4npu 192.168.1.226

    Beispiel:

    Code
    :~$ date && rdate -4npu 192.168.178.1
    Mi 4. Jan 17:03:42 CET 2023
    Wed Jan  4 17:03:42 CET 2023

    Das muss ich aber auf dem Client machen oder?


    Beim ausführen des Befehls bekomme ich die Ausgabe:

    Code
    rdate: Unable to receive NTP packet from server: Connection refused
    rdate: Unable to get a reasonable time estimate

    Das sagt ja eigentlich nur aus, dass der Client keine Verbindung zum Server hat. Ob das was mit dem Port 123 zu tun hat? Habe vorhin ja herrausgefunden, dass dieser ja geschlossen ist.

  • Das sagt ja eigentlich nur aus, dass der Client keine Verbindung zum Server hat. Ob das was mit dem Port 123 zu tun hat? Habe vorhin ja herrausgefunden, dass dieser ja geschlossen ist.

    Du hast festgestellt, dass der TCP-Port 123 geschlossen ist. Der Zeitserver muss aber auf dem UDP-Port 123 erreichbar sein bzw. erreicht werden.

    BTW: ufw benutzt man nicht. Wenn, dann iptables (oder gleichwertig) benutzen, mit z. B. netfilter-persistent.

    Code
    apt-cache show netfilter-persistent

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Es gibt bereits einen Thread GPS (Zeit) und lokaler ntp-Server.

    Ferdi22
    2. September 2022 um 10:48

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Es gibt bereits einen Thread GPS (Zeit) und lokaler ntp-Server.

    Servus !

    Danke für den Vorschlag! Leider hat der Beitrag nicht wirklich was mit meinem Problem zu tun und hat mir deswegen nicht weitergeholfen. Mein Problem ist, dass ein Teilnehmer des Netzwerkes die Systemzeit des NTP-Servers nicht bekommt. Der Server an sich funktioniert und hat die richtige Uhrzeit.

  • Mein Problem ist, dass ein Teilnehmer des Netzwerkes die Systemzeit des NTP-Servers nicht bekommt.

    Welches OS hat dieser Teilnehmer und welchen NTP-Client (oder gleichwertig) benutzt der Teilnehmer?

    Kann der Teilnehmer den UDP-Port 123 des NTP-Servers, erreichen?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Du hast festgestellt, dass der TCP-Port 123 geschlossen ist. Der Zeitserver muss aber auf dem UDP-Port 123 erreichbar sein bzw. erreicht werden.

    BTW: ufw benutzt man nicht. Wenn, dann iptables (oder gleichwertig) benutzen, mit z. B. netfilter-persistent.

    Code
    apt-cache show netfilter-persistent

    Wie kann denn sehen, ob der UDP-Port 123 offen ist? In meiner Ausgabe steht ja nur TCP. Geht das mit netfilter-persistent?

  • Geht das mit netfilter-persistent?

    Wenn es sein muss, ja. Aber es geht auch nur mit einem einzigen Befehl in der Kommandozeile.

    Viel wichtiger wäre es, die Fragen zu beantworten. Nochmal: Welche OSs haben Server und Client?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Wenn es sein muss, ja. Aber es geht auch nur mit einem einzigen Befehl in der Kommandozeile.

    Viel wichtiger wäre es, die Fragen zu beantworten. Nochmal: Welche OSs haben Server und Client?

    Achso, tut mir leid. Hatte deine Frage übersehen.

    Beide Pi´s haben Raspbian GNU/Linux 10(buster) als OS

    Welches OS hat dieser Teilnehmer und welchen NTP-Client (oder gleichwertig) benutzt der Teilnehmer?

    Kann der Teilnehmer den UDP-Port 123 des NTP-Servers, erreichen?

    Wie kann ich testen, ob der Client den Port 123 erreicht??

  • Wie kann ich testen, ob der Client den Port 123 erreicht??

    Z. B. so: Auf dem Server startest Du:

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    und auf dem Client führst Du danach aus:

    Code
    nc -zv -u <IPv4-Adresse-Server> 123

    (Interface und IPv4-Adresse-Server richtig anpassen und ohne spitze Klammern).

    Wie ist danach, die Ausgabe von tcpdump?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Z. B. so: Auf dem Server startest Du:

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    und auf dem Client führst Du danach aus:

    Code
    nc -zv -u <IPv4-Adresse-Server> 123

    (Interface und IPv4-Adresse-Server richtig anpassen und ohne spitze Klammern).

    Wie ist danach, die Ausgabe von tcpdump?

    Nun, mit dieser Ausgabe kann ich echt nichts anfangen...

    "Teltonika bla bla bla" ist mein Modem, an welchem die beiden Pis angeschlossen sind.

  • Nun, mit dieser Ausgabe kann ich echt nichts anfangen...

    Mit welchem tcpdump-Filter hast Du diese Ausgabe bekommen?

    Poste mal die Zeile mit tcpdump, die Du eingegeben hast.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Code
    sudo tcpdump

    Hmm, ... und warum?

    ich hatte dir doch:

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    vorgeschlagen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Hmm, ... und warum?

    ich hatte dir doch:

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    vorgeschlagen.

    Also ich soll erst auf dem Server

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    Dann auf dem Client

    Code
    nc -zv -u <IPv4-Adresse-Server> 123

    Und dann nochmal auf dem Client

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    ?

  • Wenn ich

    Code
    sudo tcpdump -c 5 -vvveni <Interface> udp port 123

    auf dem server eingebe, kommt die Ausgabe:

    Code
    tcpdump: listening on eth0, link-type EN10MB


    Wenn ich

    Code
    nc -zv -u <IPv4-Adresse-Server> 123

    auf dem Client eingebe kommt keine Ausgabe.

  • Wenn ich

    Code
    nc -zv -u <IPv4-Adresse-Server> 123

    auf dem Client eingebe kommt keine Ausgabe.

    ... und dann hast Du gedacht, Du benutzt tcpdump ohne Filter, dann bekommt man mit Sicherheit eine Ausgabe? ;)

    Nein. Ich habe doch geschrieben, dass Du "IPv4-Adresse-Server" anpassen sollst und ohne spitze Klammern benutzen sollst. Das hast Du nicht gemacht, oder? Kennst Du die interne IPv4-Adresse vom NTP-Server?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!