Ntp.service status inactive (dead)

Vorsicht Vorsicht!
der Standard-NTP Dienst systemd-timesyncd.service läuft wohl gegenwärtig allgemein auf aktuellen Linux-Installationen.
Spätestens seit SAMBA 4 geht es bei NTP nicht mehr nur um korrekte Zeit. Innerhalb von Windowss Domänen sind nur entsprechend zertifizierte NTP-Server erlaubt.
Hier müssen wir also genau hinschauen, wie das umgesetzt wurde und ob das so umgesetzt wurde wie das SAMBA 4 und eine Windows Domäne benötgit…
siehe
By default domain joined Windows clients synchronize their clock via NT5DS with AD-DC’s.
Im zweiten Abschnit oben.
(Wir setzten dabei auf „chrony“ bei eigenen SAMBA 4 Domänen)

Hier sollten unbedingt die v7 Entwickler mitteilen, wie der NTP unter v7 und SAMBA 4 umgesetzt werden soll.
Der Zeitserver ist zu wichtig, als dass der eine so der nächste das anders tut…
ALSO: WIE SOLL ES SEIN?

Grüße,
Gerd

Hallo Dominik,

super: danke fürs nachschauen.

Was meint ihr zu den Erkenntnissen? Liege ich falsch?

ich denke du liegst richtig.
Ich kam auf ähnliches als ich mich mit dem timesync auf dem ubuntu
Client beschäftigt hatte…

Ich nehm den ntp Dienst raus und kontrolleir oder der timesync die
OPNsense als Server eingetragen hat.

LG

Holger

sorry, aber NEIN!
Denn du bekommst so auf den ersten Blick die richtig Zeit…
Drei Tage später stellt sich bei allen Windows AD Clients raus, dass hier die Zeit nicht stimmt, dann wird da wieder rum gedocktort
Bitte nicht … :wink:
Der Zeitserver muss exakt definiert sein UND sollte überall das gleiche Setup haben.
Das bedeutet für mich, dass hier „authenticated time synchronisation with NT5DS“ vom DC umgesetzt werden sollte. Ist das jetzt der Fall?

Natürlich kann ich das für „meine“ Domäne umsetzen, dass es funktioniert, das halte ich aber nicht für Zielführend.
Schön wäre es, wenn jetzt einer der „SAMBA Leute“ sagen könnte, wie sie sich das vorstellen…

Grüße,
gerd

Hi,

jetzt habe ich mir beide conf angesehen:

/etc/systemd/timesyncd.conf 
/etc/ntp.conf

In der Tat ist hier weder noch die signierte Zeitsynchronisation eingerichtet.
Das ist …
Soll dieses eigentlich richtige Feature bei allen aktuellen (Client) Systemen, die darauf bestehen, abgeschaltet werden?
Sicher nicht…
Hier fehlt was…

Ich versuch das mal für ntpd umzusetzen und melde mich dann.

Grüße,
gerd

Hallo,

Hier sollten unbedingt die v7 Entwickler mitteilen, wie der NTP unter v7
und SAMBA 4 umgesetzt werden soll.
Der Zeitserver ist zu wichtig, als dass der eine so der nächste das
anders tut…
ALSO: WIE SOLL ES SEIN?

ich hab die Entwickler verständigt.

Offensichtlich hast du da mehr Ahnung als ich :slight_smile:

Ich hab jetzt trotzdem mal dem timesyncd die Firewall als NTP Server
mitgegeben durch Eintrag in der /etc/systemd/timesyncd.conf

Da steht bei mir jetzt:

[Time]
NTP=firewall.bzpf.lan
#FallbackNTP=ntp.ubuntu.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

Danach:

systemctl restart systemd-timesyncd

und zum Kontrollieren:

systemctl status systemd-timesyncd

Da steht nun:

root@server:~# systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service;
enabled; vendo
   Active: active (running) since Tue 2019-12-03 14:13:05 CET; 8s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 6168 (systemd-timesyn)
   Status: "Synchronized to time server 10.16.1.254:123
(firewall.bzpf.lan)."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-timesyncd.service
           └─6168 /lib/systemd/systemd-timesyncd

LG

Holger

Status von timesyncd anzeigen:
timedatectl status

Deaktivieren des timesyncd.service

timedatectl set-ntp 0
## oder
systemctl status systemd-timesyncd.service
systemctl stop systemd-timesyncd.service
systemctl disable systemd-timesyncd.service 
systemctl status systemd-timesyncd.service

Verzeichnis des NTP Signierungs-Sockets:
ll /var/lib/samba/ntp_signd/

Damit der NTP Dienst darauf zugreifen kann, müssen hier die Rechte geändert werden:

root@server:~# chgrp ntp  /var/lib/samba/ntp_signd/
root@server:~# chmod g+rx /var/lib/samba/ntp_signd/
root@server:~# ll /var/lib/samba/ntp_signd/
total 8,0K
drwxr-x--- 2 root ntp  4,0K Dez  2 21:59 .
drwxr-xr-x 8 root root 4,0K Dez  2 21:59 ..
srwxrwxrwx 1 root root    0 Dez  2 21:59 socket

folgende zusätzliche Zeile muss in die /etc/ntp.conf

ntpsigndsocket /var/lib/samba/ntp_signd/

NTP Restart:

systemctl restart ntp.service
systemctl status ntp.service

ich habe noch die Zeitserver ersetzt durch:

server  0.de.pool.ntp.org 
server  1.de.pool.ntp.org
server  2.de.pool.ntp.org
server  3.de.pool.ntp.org

Jetzt sollte der NTP Dienst AD konform alle aktuellen -auch Window 10- Clients mit der Uhr versorgen…

Nach diesen Änderungen läuft der ntp.service
UND zwar auch wieder nach einem reboot :wink:


Befehle zum Testen der Synchronisierung auf einem Windows 10 Prof.
Client in dieser Domäne:

PS C:\Windows\system32> w32tm /resync
Befehl zum erneuten Synchronisieren wird an den lokalen Computer gesendet.
Der Befehl wurde erfolgreich ausgeführt.
PS C:\Windows\system32> w32tm /query /status
Sprungindikator: 0(keine Warnung)
Stratum: 4 (Sekundärreferenz - synchr. über (S)NTP)
Präzision: -23 (119.209ns pro Tick)
Stammverzögerung: 0.0256009s
Stammabweichung: 7.7816893s
Referenz-ID: 0x0A100001 (Quell-IP:  10.16.0.1)
Letzte erfolgr. Synchronisierungszeit: 03.12.2019 16:24:23
Quelle: server.bs-wiz.llan,0x9
Abrufintervall: 6 (64s)
PS C:\Windows\system32> date
Dienstag, 3. Dezember 2019 16:24:46
PS C:\Windows\system32> w32tm /monitor
server.bs-wiz.llan *** PDC ***[10.16.0.1:123]:
    ICMP: 0ms Verzögerung
    NTP: +0.0000000s Offset von server.bs-wiz.llan
        RefID: ntp.fra.de.as206479.net [185.120.22.12]
        Stratum: 3
[Warnung]
Die Reversenamenauflösung ist die beste Möglichkeit. Sie ist ggf. nicht
korrekt, da sich das Ref-ID-Feld in Zeitpaketen im Bereich von
NTP-Implementierungen unterscheidet und ggf. keine IP-Adressen verwendet.
PS C:\Windows\system32>

EDIT:
Jetzt habe ich zusätzlich noch umgestellt auf nur IPv4, da zZ bei uns IPv6 unschöne Fehlermeldungen bringt. Dazu muss folgende Zeile in Datei:

root@server:~# cat /etc/default/ntp
NTPD_OPTS=' -g'
## gaendert werden in:
NTPD_OPTS=' -4 -g'

Die Ausgabe von systemctl status ntp.service zeigt beide Optionen -4 -g an
und im Logfile /var/log/ntp steht anschliessend nach Dienst restart nichts mehr mit IPv6

Die gesamte /etc/ntp.conf ohne Kommentare und ohne IPv6 Einträge sieht jetzt bei mir folgendermassen aus:

 cat /etc/ntp.conf |  grep "^[^#]"

driftfile /var/lib/ntp/ntp.drift
logfile   /var/log/ntp
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 0.de.pool.ntp.org 
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict 0.de.pool.ntp.org notrap nomodify noquery
restrict 1.de.pool.ntp.org notrap nomodify noquery
restrict 2.de.pool.ntp.org notrap nomodify noquery
restrict 3.de.pool.ntp.org notrap nomodify noquery
restrict source notrap nomodify noquery
ntpsigndsocket /var/lib/samba/ntp_signd/
4 „Gefällt mir“

Hallo Gerd,

super :slight_smile:

Ich setz das um, wenn sich die Entwickler gemeldet haben.

LG
Holger

Hallo Holger,

ja, bin mal gespannt, was die sagen

Grüße,
gerd

Blöde Frage (ich fürchte, ich bin blind): Der Timeserver ist schon der lmn7-Server und nicht die OPNSense?

Gruß
Roland

ja, klar, gemeint ist der Schulserver und darauf der systemd-timesyncd.service und der zZ gleichzeigt aktive ntp.service

Grüße,
gerd

Super, Gerd!
Ich frage mich nur gerade, ob das jetzt (bzw sobald die Entwickler ihr OK gegeben haben) alle einzeln auf ihren Servern umsetzen oder ob das per Update geschehen kann (auch damit es sicher bei allen einheitlich eingestellt ist!)? :thinking:

Schönen Gruß
Michael

Danke, Gerd!
Ist ja logisch, da am Win10-PC, nachdem er in der Domäne aufgenommen ist, kein Internetzeitserver mehr eingestellt werden kann. Die holt er sich vom AD-Controller und das ist ja der Schulserver.

Gruß
Roland

Hi Gerd,

danke für die Recherche und die Wissensweitergabe, hoffentlich stimmt das so und wird durch ein update automatisch eingespielt.

… scheint als habe der olle Lenard mal wieder nur halbe Brötchen gebacken. (hab ich schon gesagt, dass ich systemd nicht leiden kann?)

noch eine Frage: auf den clients gibts ja auch „chrony“. Ich habe das noch nicht kapiert, warum der genau sein muss, auch auf denen gibt es ja timesyncd und potentiell kann man ntp als client einrichten.

VG, Tobias

Hallo Tobias,

der timesyncd ist wohl jetzt so ein Standard NTP Dienst der auf den lokalen Maschinen perse für die richtige Zeit sorgt. chrony und ntp sind „mächtigere“ alternativen. Spätestens auf einem DC brauch man mehr… (Client - Server Kommunikation, zertifikate, usw.) will man dann noch Windows Clients unterhalten müssen auch dessen Standards unterstützt werden…
Das haben wir oben entsprechend umgesetzt
siehe auch: https://wiki.samba.org/index.php/Time_Synchronisation
Grüße,
gerd

Hi!

Sollte jetzt gefixt sein. Siehe hier.

VG, Thomas

Hi. Ich habe das Update gerade eingespielt und mit den von Gerd vorgeschlagenen Änderungen verglichen. Den Eintrag

finde ich aber nirgendwo … ist das nun ein Versehen oder ist der Eintrag nicht notwendig?
Danke,
Michael

Hi.
… also nach einem linuxmuster-distupgrade und einem Serverneutstart kann ich keine Änderung feststellen. Der Bugfix #78 hat nicht oder nicht vollständig geholfen – jedenfalls wird bei mir weiterhin gemeldet:

systemctl status ntp.service
● ntp.service - Network Time Service
   Loaded: loaded (/lib/systemd/system/ntp.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:ntpd(8)

[root@server:~]$ systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-12-05 19:57:02 CET; 13min ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 694 (systemd-timesyn)
   Status: "Synchronized to time server 10.16.1.254:123 (10.16.1.254)."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-timesyncd.service
           └─694 /lib/systemd/systemd-timesyncd

Ich werde die von Gerd vorgeschlagenen zusätzlichen Änderungen nun mal per Hand eintragen…

Schönen Gruß,
Michael

Ok, nach den oben beschriebenen Änderungen startet der ntp-Server.

Eine Sache ist jetzt aber widersprüchlich:
Gerd hat bei sich die Server 0.de.pool.ntp.org usw hinzugefügt … das Bugfix hat meines Wissens den Eintrag pool 10.16.1.254 gemacht, oder? (Kann ich nicht mehr sicher sagen). Was ist nun richtig?

Hallo Michael,

den Buxfix kann ich erst nächste Woche testen, bin gerade bei Firmenmigration W7->W10 usw.
0.de.pool.ntp.org (0-3) ist ein allgemein empfohlener und öffentlich verfügbarer NTP Server Pool aus Deutschlad, einer von denen funktioniert immer .
10.16.1.254 ist ein lokaler Server, der kann nur funktionieren wenn im lokalen Netz exakt auf der IP selbst ein richtiger NTP läuft - keine gute Idee, wenn der so gepatcht würde…
Am Rande:

  • Damit die öffentlichen NTP Server im Netz nicht völlig überlastet werden, gilt es als gute Praxis, dass man im LAN nur genau 1 (einen) NTP Server hat, der die öffentlichen abfragt, und zB nicht jeden der 500 Clients das selbst machen lässt :wink:
  • Dass obige Zeile fehlt, kann nur zwei Dinge bedeuten:
    A-der Patch tut nicht was er soll
    B-ein anderer NTP-Dienst wird mit dem Patch so eingestellt, dass er das notwendige „authenticated time synchronisation with NT5DS“ für den DC umsetz. Dann sollte der überflüssige NTP wieder raus… ?

Grüße,
gerd

Hi Gerd.
Hier steht ja halbwegs, was geschehen sollte (und welche Files geändert werden)

Kann nun aber nicht mehr sehen, ob ntp oder timesyncd benutzt werden soll, es klingt aber alles nach ntp

Was die ntp.conf angeht: du hast Einträge Server… und nicht Pool … . Warum?
Schöne Grüße
Michael