Der Gedanke mit dem cron-Job war mir auch schon gekommen. Sofern möglich möchte ich diese Vorgehensweise aber vermeiden. Ist ja auch wieder eher so ein Workaround als eine tatsächliche Lösung.
Mal generell gefragt:Wie verhält es sich mit der Synchronisation zwischen Host und Gast?Also das Board verfügt über eine RTC. Über das installierte Betriebssystem (in meinem Fall Unraid) habe ich die Möglichkeit die Systemzeit einzustellen. Manuell oder via NTP. Damit wird die RTC auf dem Board korrigiert.Dann lasse ich eine VM auf Unraid laufen die z.B. über HPET die Zeit vom Host liest und selbst nutzt.Wenn ich jetzt in der VM die Zeit via NTP synchronisieren lasse, wird dann die Zeit auf den Host zurücksynchronisiert?
Könnte es nicht so sein, dass der Hypervisior (Hier Unraid bzw. was auch immer die benutzen) die Zeit immer wieder stellt und dann der ntpd in der VM dann durcheinander kommt?
2021-05-16T20:56:56 ntpd[91227] receive: Unexpected origin timestamp 0xe44be974.174fb3c5 does not match aorg 0000000000.00000000 from server@2001:638:809:7::7 xmt 0xe44be97a.e819171d
Was passiert eigentlich, wenn du den ntpd in der Opnsense mal deaktivierst? Bleibt dann die Zeit konstant?
Wenn ja, dann kannst du als externen Server 127.127.1.0 nehmen, dann nimmt er sich selbst als Source.
1) Warum pusht mir Unraid überhaupt die Zeit "erzwungen" in die VM? Ich würde das - zumindest bei einem virtualisierten Border Gateway wie einer Firewall - nicht haben wollen, sondern diese soll selbst (als Internet-nächstes device) die Zeit holen und ggf. verteilen.
2) Wie kann man diesen Unbill abschalten? (denn dann sollte auch das ständige laggen in der VM nicht mehr vorkommen) Ohne die "Bremse" durch den HV würde die VM mit ntpd nämlich sehr wahrscheinlich einfach sauber vor sich hinlaufen. NTPd misst ständig nach wie sehr die Zeit laggt, stellt sich entsprechend das Drift File so ein und korrigiert ggf. ein paar ms/ns nach. Dafür ist das Driftfile da, dass quasi gemessen wird, ahja VM geht alle 1h so ~0,141542s falsch, also korrigieren.
dmesg | grep Timecounter
sysctl kern.timecounter
3) Man sollte ggf. mal die Hardware oder den Unraid prüfen, warum zum Geier der ständig so "hinkt" und ihm dann ggf. entweder die Sense oder selbst einen NTPd verpassen, damit er ordentlich läuft.
4) Intern alle Kisten HW/VM so einstellen, dass sie sich die Sense VM und den HV Host (der dann NTP gestützt hoffentlich richtig läuft) als NTPs nehmen. Dann reden nur 1-2 Geräte mit NTP draußen, sind korrekt gesetzt und geben intern den Ton an.
2021-05-21T11:35:15 ntpd[48751] receive: Unexpected origin timestamp 0xe451fd50.5b674221 does not match aorg 0000000000.00000000 from server@2001:638:809:7::7 xmt 0xe451fd56.1de170b52021-05-21T11:25:28 ntpd[48751] receive: Unexpected origin timestamp 0xe451fb03.ab0d1271 does not match aorg 0000000000.00000000 from server@2001:638:809:7::7 xmt 0xe451fb0a.96e263692021-05-21T10:07:25 ntpd[48751] receive: Unexpected origin timestamp 0xe451e8ba.c6dd2766 does not match aorg 0000000000.00000000 from server@2001:638:809:7::7 xmt 0xe451e8bd.553956472021-05-21T10:01:24 ntpd[48751] receive: Unexpected origin timestamp 0xe451e752.f0c0a0da does not match aorg 0000000000.00000000 from server@2001:638:809:7::7 xmt 0xe451e755.1e853c522021-05-21T10:01:24 ntpd[48751] frequency error 5243 PPM exceeds tolerance 500 PPM2021-05-21T10:01:22 ntpd[48751] kernel reports TIME_ERROR: 0x41: Clock Unsynchronized2021-05-21T09:55:48 ntpd[48751] receive: Unexpected origin timestamp 0xe451e603.f801a850 does not match aorg 0000000000.00000000 from server@2001:638:809:7::7 xmt 0xe451e604.28fed2782021-05-21T09:55:48 ntpd[48751] receive: Unexpected origin timestamp 0xe451e603.f7fdae3f does not match aorg 0000000000.00000000 from server@132.199.4.1 xmt 0xe451e604.289e5bfe2021-05-21T09:55:40 ntpd[48751] kernel reports TIME_ERROR: 0x41: Clock Unsynchronized2021-05-21T09:55:40 ntpd[48751] kernel reports TIME_ERROR: 0x41: Clock Unsynchronized2021-05-21T09:55:40 ntpd[48751] Listening on routing socket on fd #48 for interface updates
Die Synchronisation läuft leider nach wie vor noch nicht sauber. Der initiale Sync nach einem (Dienst-)Neustart läuft, aber dann gleicht sich die Zeit nicht mehr ab.
Das Drift-File wird scheinbar nur beim Systemstart einmalig erstellt und dann nicht mehr angepasst.Der Wert steht hier bei 500.000.Wird das File gelöscht, wird es erst erst beim nächsten Neustart von OPNsense neu angelegt. Ein Neustart vom NTPd-Dienst reicht nicht aus. Der Wert im File wird im laufenden Betrieb auch nicht angepasst, sondern bleibt immer beim initialen Wert.Das sollte doch normalerweise anders sein, oder?