Probleme über Probleme

Hallo Klaus,
danke für deinen Test.
Jetzt ist klar, dass die Zeitsynchronisation von Linuxmuster über Samba noch immer grundsätzlich defekt ist.

Der Zeitdienst des Windows-Client funktioniert, schließlich holt er sich bei einem Windows 2019 Server tadellos die richtige Zeit.
Bei deinem Test sieht man auch, dass er beim Linuxmuster Server anfragt, dieser aber keine gültige Antwort liefern kann. In der Ntp.conf des Servers fehlen ja auch ntpsigndsocket und ein paar andere Dinge.

Wenn ein Windows-Client in die Domain aufgenommen wird, dann wird die Uhrzeit standardmäßig über die Domänenhierarchie im gesicherten NT5DS Format übertragen. In Samba gibt es daher die entsprechenden Funktionen, aber bei Linuxmuster sind sie nicht aktiviert bzw. konfiguriert.

Durch den Befehl w32tm /config /manualpeerlist:server.linuxmuster.lan /syncfromflags:MANUAL wird der Windows-Client angewiesen, das NTP Protokoll zu verwenden und die Zeit mit einem NTP-Server abzugleichen.

Mit w32tm /config /syncfromflags:domhier /Update wird wieder auf das NT5DS Protokoll umgestellt und die Zeit soll wieder vom Domäne-Server geholt werden. Das scheitert dann beim Samba von Linuxmuster.

Das hat gpeter im oben zitierten Beitrag Ntp.service status inactive (dead) vom Dezember 2019 hervorragend erläutert und die Lösung gleich mitgeliefert. Respekt.

Der Fix in Linuxmuster hat aber nur die NTP Funktion für die Linux-Clients repariert.

Die Windows-Client waren scheinbar egal, jedenfalls steht schon in damaligen Beitrag, dass für die entsprechende Samba Funktion die notwendigen Einträge weiter fehlen.

Eine fehlerhafte Zeitsynchronisation führt dann halt zum Verlust der Vertrauensstellung des Clients, Problemen bei der Anmeldung, fehlenden Laufwerkszuweisungen, Fehlern im DNS,…

Das sollte bei Linuxmuster ordentlich gefixt werden, vor allem, da gpeter die Lösung schon vor langem geliefert hat

@MachtDochNix
Die Doku und das mit den Domainbezeichnungen schau ich mir an, sobald ich Zeit habe.

Hallo Christian,

da ich ncht so tief in der Materie drinstecke wie du, frage ich mal ganz plump:

Könntest du deine ntp.conf mit den fehlenden Einträgen hier bitte mal posten? Ich erstelle dann ein Issue auf github damit das gefixt wird. Danke für deine Fehlersuche.

Beste Grüße

Thorsten

Ich hatte übrigens auch Probleme mit der Zeit-Synchronisation. Ich habe das so gelöst, dass ich auf dem Host (Proxmox, in /etc/systemd/timesyncd.conf), auf dem Server (in /etc/systemd/timesyncd.conf) und in der OpnSense (in der Oberfläche) manuell die Zeitserver der PTB eingetragen habe. Danach ging alles. Ob das ein sauberer Weg war, weiß ich allerdings nicht …

Hallo Thorsten
Ich bin gerade im Urlaub. Aber die Arbeit hat sich ja @gpeter bereits gemacht, da kann ich es einfach kopieren.

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

Seine vollständige Ntp.conf:
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/

Nochmals vielen Dank an @gpeter für seine Mühe.
Sorry für die schlechte Formatierung, aber am Handy geht das schlecht.

Hallo Christian,

danke für Deine Erklärungen zu NT5DS/NTP Unterschied in der Verwendung von w32tm /config. Auch ich hatte bereits mit der offiziellen Dokumentation aus dem Samba Wiki zur Zeitsyncronisierung getestet und die Konfiguration der ntp.conf und Rechte auf /var/lib/samba/ntp_signd/ entsprechend umgesetzt.

Jedenfalls ist es so, daß ich den Windows 10 NTP Client nicht dazu bewegen kann sich mit dem Samba 4 DC mit NT5DS die Zeit zu holen.

In Post #13 von @gpeter sieht man, daß auch hier die Zeitsynchronisierung nicht über NT5DS, sondern NTP läuft:

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)

Für eine Zeitsynchronisierung via NTP sind auf dem lmn7 keine Änderungen zur bisherhigen Konfiguration nötig. Lediglich der Windows 10 Client muß entsprechend geändert werden, so daß dieser NTP statt NT5DS benutzt.
Sollte es eine Möglichkeit geben, NT5DS zu nutzen, wäre das natürlich sauberer, da am Client nichts geändert werden muß.

Eine Möglichkeit das mit chrony statt ntp zu testen hatte ich nicht, da bei dem Versuch chrony zu installieren ntp entfernt wird und damit linuxmuster7-base etc. Hier gibt es eine Abhängigkeit zu ntp.

Viele Grüße
Klaus

Hallo Klaus,
so wie ich das verstanden habe ist nt5ds nur signiertes ntp, so wie https nur verschlüsseltes http ist.
Der Client meldet sich über nt5ds beim Server, der bestätigt mit einer signierten Antwort, dass er ein autorisierter Zeitserver ist und die Zeit selbst wird dann per ntp abgeglichen.
Das macht Sinn, da sonst dem Client ein fremder NTP-Server mit gleichem Namen aber falscher Zeit untergeschoben werden könnte und dann abgelaufene Kerberos Tickets wieder gültig sind.

In der Ntp.conf müssen eigentlich nur mssntp und ntpsigndsocket eingefügt werden, dann kann Samba die digitalen Signaturen übermitteln und den NTP das Servers authentifizieren. Natürlich müssen auch die Ordner mit den richtigen Berechtigungen vorhanden sein.
Ich kann das im Moment nicht testen, aber das wäre der sauberste Weg.

Alternativ kann man am Server eine GPO erstellen, die Windows anweist, nur ntp oder nt5ds und ntp (allsync) zu akzeptieren.
Als weitere Alternative kann das per reg File oder Batch geändert werden. Details sind unter http://www.windowspage.com/tipps/022082.html zu finden. Alt, aber noch immer gültig.

1 „Gefällt mir“

Hallo Christian,

ich habe die Ursache im linuxmuster Setup gefunden, welche verhindert, daß NT5DS nicht funktioniert.

  1. Wie Du schon geschrieben hattest, die ntp.conf. Hier meine Variante mit Anpassungen und der OPNsense als bevorzugte Zeitquelle:
root@server:~# cat /etc/ntp.conf |  grep "^[^#]"
driftfile /var/lib/ntp/ntp.drift
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 10.0.0.254 iburst prefer
restrict -4 default kod notrap nomodify nopeer noquery limited mssntp
restrict -6 default kod notrap nomodify nopeer noquery limited mssntp
restrict 127.0.0.1
restrict ::1
restrict source notrap nomodify noquery
ntpsigndsocket /var/lib/samba/ntp_signd/
  1. Rechte am ntp_signd Socket:
chgrp ntp /var/lib/samba/ntp_signd/
  1. Entscheidend ist aber, daß in der linuxmuster Standardinstallation apparmor aktiv ist und die dortige Einstellung für ntp nicht stimmt und somit der ntp nicht auf den Samba Socket zugreifen kann, auch wenn die Rechte am Verzeichnis stimmen:

/etc/apparmor.d/usr.sbin.ntpd

...
  # samba4 ntp signing socket
  # falsch:
  #/{,var/}run/samba/ntp_signd/socket rw,
  # richtig:
  /{,var/}lib/samba/ntp_signd/socket rw,
...

Alternativ ist natürlich möglich ntp signd socket directory der smb.conf zu ändern, so daß man die apparmor Konfiguration nicht anpassen muß. Das müssen die Entwicker entscheiden, was einfacher/sauberer ist.

Am Client muß jetzt nichts mehr geändert werden.

Thorsten, @MachtDochNix wenn das noch jemand verifizieren kann, dann könntest Du das eventuell als Issue einbringen? Danke!

Viele Grüße
Klaus

1 „Gefällt mir“

Hallo Klaus,

das mit Apparmor hatte ich gar nicht auf dem Schirm.

Ich konnte deine Lösung ausprobieren. Sie funktioniert wie erwartet.
Jetzt müsste sie nur jemand in git einstellen oder einer der Entwickler sich melden.

Viele Grüße
Christian

Erledigt: #110 siehe Issues · linuxmuster/linuxmuster-base7 · GitHub

Danke
Das vermeidet bei dem ein oder anderen sicher ein paar Probleme.

Hallo zusammen, hallo Thomas @thomas,

das klappt so noch nicht. Bitte nochmal genau den ergänzten Bugreport lesen.

Bitte außerdem nicht per Update eine ntp.conf einfach überschreiben, vor allem nicht dann, wenn das Setup so nicht funktioniert.

Bestehende Systemdateien sollten IMHO nur nach Nachfrage überschrieben werden, wenn die Originaldatei manuell verändert wurde. Das ist Debian/Ubuntu Standard und so sollten auch linuxmuster.net .deb Pakete gebaut werden. Ich kann nicht nach jedem Update kontrollieren welche Systemdateien wieder überschrieben wurden.

Danke und viele Grüße
Klaus

2 „Gefällt mir“

@garblixa
Wir sind halt im Moment noch in einer Phase, in der wir die Grundkonfiguration immer mal wieder nachjustieren müssen, damit möglichst viele Anwendungen im Feld abgedeckt werden. Das hört irgendwann auf.

VG Thomas

1 „Gefällt mir“

Hallo Thomas,

ja, das passt schon. Ich bemühe mich einfach mit meinen Vorschlägen das Produkt zu verbessern.

Weiter so :slight_smile:

Viele Grüße
Klaus

1 „Gefällt mir“

Und dafür ein dickes Danke von mir.

Beste Grüße

Thorsten

Das kann ich nur zurückgeben, danke :slight_smile:
Auch an die Entwickler für das tolle Produkt!

Viele Grüße
Klaus

Ich habe auch gerade das Update laufen lassen. Es lief zwar durch – doch (mind.) die beiden Dateien /etc/samba/smb.conf und /etc/ntp.conf wurden automatisch überschrieben – ohne Rückfrage oder diff. Es gibt zwar Backups der alten Files, aber richtig gut finde ich es auch nicht, dass man nicht zumindest gewarnt wird…

Schöne Grüße,
Michael