Fragen zu ntp und systemd

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
BongoFury
Beiträge: 227
Registriert: 23.02.2007 17:47:51
Lizenz eigener Beiträge: GNU General Public License

Fragen zu ntp und systemd

Beitrag von BongoFury » 07.02.2019 12:07:50

Hallo,
ich bin ein Desktop User ohne weitere Programmierkentnisse und hatte einen Artikel über systemd gelesen und wollte mal nachsehen welche ntp Server mein Rechner nun benutzt. Dabei ist mir aufgefallen das ntp gar nicht installiert ist, also das Paket ntp ist nicht installiert. In den Datum und Zeit Einstellungen von Gnome kann man auch keinen ntp Server angeben und /etc/ntp.conf existiert (natürlich) auch nicht.

Wie und wo also holt sich mein Rechner die Zeit? Und wenn ich NTP installiere, was macht dann dieser mir nicht bekannte "Zeitholer" von Gnome?

Weiterhin habe ich gelesen das systemd defaultmäßig Google Dienste benutzt. Was mir prinzipiell nicht gefallen würde. In /etc/systemd/resolved.conf.ist auch folgende Zeile zu finden:

Code: Alles auswählen

#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Das anführende # bedeutet doch das die Zeile ignoriert wird, oder ist das hier anders? Und wenn ich hier meinen ISP DNS angeben würde, hat dann systemd keine Verbindung mehr zu Google?

Und... war das alles was systemd mit Google verbindet? Wie gehen erfahrene User btw. Admins das Problem an? Ignoriert ihr das oder fummelt ihr euch da was zurecht?

Was ich wohl kaum will ist eine weitere Diskussion über systemd und Poettering anstoßen, aber ich versuche prinzipiell keinerlei Sachen zu benutzen die Daten weitergeben. Bin ich da mit systemd ohnehin gef***t, oder kann man da was machen, also in der Konfiguration entsprechend Dinge ändern?

MfG,
Bongo

ReturnToSender
Beiträge: 123
Registriert: 23.10.2018 18:06:09

Re: Fragen zu ntp und systemd

Beitrag von ReturnToSender » 07.02.2019 12:11:22

Guckstu:

Code: Alles auswählen

cat /etc/systemd/timesyncd.conf
systemctl status systemd-timesyncd
...oder fummelt ihr euch da was zurecht?

Code: Alles auswählen

NTP=1.1.1.1
FallbackNTP=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org 3.de.pool.ntp.org
1.1.1.1 = IP-Adresse des eigenen DSL-Routers, auf dem Timeserver aktiviert ist.

Benutzeravatar
BongoFury
Beiträge: 227
Registriert: 23.02.2007 17:47:51
Lizenz eigener Beiträge: GNU General Public License

Re: Fragen zu ntp und systemd

Beitrag von BongoFury » 07.02.2019 12:34:27

Cool, Danke! Abschalten und die Zeit zur Not vom Router zu holen... hört sich gut an!

Ich frage mich jetzt ob systemd auch noch meine Heizung abdrehen und die Tür öffnen kann 8O

Sorry, OT.

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Fragen zu ntp und systemd

Beitrag von MSfree » 07.02.2019 13:56:35

BongoFury hat geschrieben: ↑ zum Beitrag ↑
07.02.2019 12:07:50
Weiterhin habe ich gelesen das systemd defaultmäßig Google Dienste benutzt.
Bitte keine Gerüchte in die Welt setzen. :wink:

systemd nutzt zunächst einmal gar keine externen Server. Alles, was es nutzt, kann und muß durch Konfigurationsdateien vorgegeben werden. Nun kann es natürlich passieren, daß einige Distributionen dort den Zeitdienst von Google oder den DNS von Google vorgeben, aber das ist dann nicht eine Vorgabe von systemd sondern eine der Distribution.

Gerade der Google-DNS war in einer der ganz frühen Versionen von systemd im Quelltext fest verdrahtet. Das ist aber meines Wissens nach lautstarkem Protesten aus dem Quellcode entfernt worden.

Code: Alles auswählen

#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Nun ja, das ist doch klar auskommentiert. Im Grunde sind diese Fallbacklösungen auch nur als allerletzter Notnagel gedacht, nämlich dann, wenn du einen jeden Standard ignorierenden DSL-Router betriebst, der keinen eigenen DNS zur Verfügung stellt (mir ist allerdings unter den Plastikrouter keiner bekannt, der das nicht macht). Normalerweise bekommt ein Rechner IP-Adresse und DNS von Router per DHCP mitgeteilt und das wird auch garantiert benutzt.

Und zu deinem Zeitproblem. Die Uhrzeit kommt in einem Rechner immer von der Systemuhr auf dem Motherboard. Diese Uhr kann aber ungenau sein und wenn es keine Realtimeclock ist, steht sie nach jedem Reboot auf Null. Wenn man Rechner nur ein paar Stunden am Tag laufen läßt, reicht es in der Regel aus, die Zeit einmal beim Booten zu stellen, z.B. indem man einen NTP befragt, und die Abweichung von der Sollzeit, die sich während ein paar Stunden ergeben, inkauf zu nehmen. Die meisten Systemuhren sind zumindest auf 1-2 Sekunden pro Tag genau.

Das ist auch der Grund, warum du keinen NTP auf dem Rechner hast. Es reicht fast immer aus, die Zeit beim Hochfahren zu stellen und dann laufen zu lassen.

Bei Servern, die monatelang ohne Reboot laufen, kann sich der Fehler der Systemuhr auf mehrere Minuten akkumulieren, was inakzeptabel ist. Also läßt man nebenher eine NTP-Dienst laufen, der die Systemuhr regelmässig wieder auf die Sollzeit stellt. (Gnome wie auch alle anderen Programme fragen nur die Systemuhr ab)

Inzwischen bieten viele Plastikrouter ihren eigenen NTP-Dienst an, damit die Clients im LAN nicht für jede Zeitanfrage nach Hause telefonieren müssen. Aber, ich habe hier noch einen Verschwörungstheorie für dich: dein Plastikrouter könnte einen NTP bei Google abfragen. Und viel schlimmer noch, AVM weiß alles über dich, besonders, wenn du eine Fritzbox hast, denn diese nutzen einen Zeitserver bei AVM und die MyFritz-Cloud. :o

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Fragen zu ntp und systemd

Beitrag von eggy » 07.02.2019 15:42:41

Die defaults werden beim Bau fest einkompiliert, bei Debian in der "rules" gesetzt:

Code: Alles auswählen

ifeq ($(DEB_VENDOR),Ubuntu)
    DEFAULT_NTP_SERVERS = ntp.ubuntu.com
    SUPPORT_URL = http://www.ubuntu.com/support
    CONFFLAGS_DISTRO = -Ddns-servers=''
else
    DEFAULT_NTP_SERVERS = 0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
    SUPPORT_URL = https://www.debian.org/support
    CONFFLAGS_DISTRO =
endif
Schaut man in die docs, findet man in docs/DISTRO_PORTING.md folgendes:

Code: Alles auswählen

## NTP Pool

By default, systemd-timesyncd uses the Google Public NTP servers
`time[1-4].google.com`, if no other NTP configuration is available.
They serve time that uses a
[leap second smear](https://developers.google.com/time/smear)
and can be up to .5s off from servers that use stepped leap seconds.

If you prefer to use leap second steps, please register your own
vendor pool at ntp.org and make it the built-in default by
passing `-Dntp-servers=` to meson. Registering vendor
pools is [free](http://www.pool.ntp.org/en/vendors.html).

Use `-Dntp-servers=` to direct systemd-timesyncd to different fallback
NTP servers.

## DNS Servers

By default, systemd-resolved uses the Google Public DNS servers
`8.8.8.8`, `8.8.4.4`, `2001:4860:4860::8888`, `2001:4860:4860::8844`
as fallback, if no other DNS configuration is available.

Use `-Ddns-servers=` to direct systemd-resolved to different fallback
DNS servers.
in wie weit die Doku aktuell ist und mit dem Code übereinstimmt? ka, einfach mal selbst nachsehn: apt-get source systemd

Benutzeravatar
BongoFury
Beiträge: 227
Registriert: 23.02.2007 17:47:51
Lizenz eigener Beiträge: GNU General Public License

Re: Fragen zu ntp und systemd

Beitrag von BongoFury » 08.02.2019 10:39:06

Vielen Dank für die Informationen. Und nein, ich bin weder übermäßig paranoid noch daran interessiert Gerüchte in die Welt zu setzen. Es ging mir darum genau das von euch beschriebene zu erfahren um eine persönliche Einordnung vorzunehmen.

Also nochmal: Danke für die Informationen!
MfG,
Bongo

Benutzeravatar
novalix
Beiträge: 1908
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Fragen zu ntp und systemd

Beitrag von novalix » 08.02.2019 18:48:13

Zusätzlich: Mitohne systemd wäre der ntpclient bei Debian auch in einem eigenen Paket Debianntpdate.
Den Server braucht 's ja meistens nicht.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: Fragen zu ntp und systemd

Beitrag von dufty2 » 11.02.2019 21:56:36

Um hier vielleicht noch ein paar Missverständnisse auszuräumen:
Ein NTP-Client holt via 123/udp von einem NTP-Server die Zeit ab.
Beide (NTP-Client wie auch NTP-Server) koennen demons/Dienste sein.
systemd-timesyncd ist ein NTP-Client als Dienst,
ntpd aus dem ntp-Paket ist (in der Regel) beides: NTP-Client wie auch NTP-Server.

Würde mich jetzt nicht zu den sog. "time-nuts" rechnen, aber 1 Sekunde Abweichung/Tag ist heutzutage nicht mehr zeitgemäß ;-)
Daher läuft zumindest überall ein NTP-Client, wenn man seinem Router nicht vertraut:
Wireshark anwerfen und nach 123/udp Paketen Ausschau halten, dann sieht man, wohin die Zeitreise geht.

Und wem 1 ms (MilliSekunde) Abweichung im LAN auch noch zu viel sind, nimmt halt das PTP.
Dann geht's aber schon Richtung "time-nuts" ...

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Fragen zu ntp und systemd

Beitrag von mat6937 » 14.02.2019 10:30:38

dufty2 hat geschrieben: ↑ zum Beitrag ↑
11.02.2019 21:56:36
Daher läuft zumindest überall ein NTP-Client, wenn man seinem Router nicht vertraut:
BTW: I. d. R. kann man im Router (... bei der FritzBox ist das so) doch auch einen externen Zeitserver konfigurieren/eintragen. Dann gibt es keinen Unterschied zwischen der Zeit "via Router" und der, die man direkt von einem Zeitserver im Internet holt.

EDIT:

Code: Alles auswählen

:~ $ date && rdate -4npuv 127.0.0.1 && rdate -4npuv 192.168.178.1 && rdate -4npuv ptbtime2.ptb.de
Thu 14 Feb 10:39:45 CET 2019

Thu Feb 14 10:39:45 CET 2019
rdate: adjust local clock by 0.000003 seconds

Thu Feb 14 10:39:45 CET 2019
rdate: adjust local clock by 0.001411 seconds

Thu Feb 14 10:39:45 CET 2019
rdate: adjust local clock by -0.001761 seconds

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: Fragen zu ntp und systemd

Beitrag von dufty2 » 15.02.2019 05:19:10

Habe schon verstanden, was Du uns mit Deinem Edit zeigen wolltest,
erlaube mir dennoch - kleinkrämerisch - drei Anmerkungen:
* ptbtime2.ptb.de: Als Endanwender sollte mensch keinen Stratum-1-Server verwenden, sondern einen Stratum-2, noch besser, einen pool. Vgl. auch [1]
* Durch die Mehrfachverwendung von rdate erhälst Du Zeitsprünge, ntp hingegen verwendet (bei einer Abweichung kleiner 128 ms) das sog. "smearing".
* Die Zeit springt vor und zurück (+/+/-), dadurch ist Deine Systemzeit nicht mehr monoton. Ein Time-Nut wäre spätestens jetzt ausgeflippt ;)

[1] https://www.heise.de/ct/hotline/Oeffent ... 22978.html

mat6937
Beiträge: 2927
Registriert: 09.12.2014 10:44:00

Re: Fragen zu ntp und systemd

Beitrag von mat6937 » 15.02.2019 09:46:01

dufty2 hat geschrieben: ↑ zum Beitrag ↑
15.02.2019 05:19:10
* ptbtime2.ptb.de: Als Endanwender sollte mensch keinen Stratum-1-Server verwenden, sondern einen Stratum-2, noch besser, einen pool. Vgl. auch [1]
Ja, aber ich benutze "ptbtime2.ptb.de" nicht. Ist hier nur als Beispiel verwendet worden, weil viele das kennen.
dufty2 hat geschrieben: ↑ zum Beitrag ↑
15.02.2019 05:19:10
* Durch die Mehrfachverwendung von rdate erhälst Du Zeitsprünge, ntp hingegen verwendet (bei einer Abweichung kleiner 128 ms) das sog. "smearing".
* Die Zeit springt vor und zurück (+/+/-), dadurch ist Deine Systemzeit nicht mehr monoton. Ein Time-Nut wäre spätestens jetzt ausgeflippt ;)
Auch das wäre richtig, wenn ich rdate zum _setzen_ der Zeit benutzen würde, aber das tue ich ja nicht. rdate wird hier nur als tool zu abfragen der Zeit (-p) benutzt:
-p Do not set, just print the remote time.
BTW: Ich benutze ntp oder systemd-timesyncd.

dufty2
Beiträge: 1709
Registriert: 22.12.2013 16:41:16

Re: Fragen zu ntp und systemd

Beitrag von dufty2 » 17.02.2019 17:01:14

Ok, Du hast "-p" verwendet, bist entschuldigt ;-)

"smearing": War verkehrt von mir, sollte eigentlich "slewing" sein.
"smearing" macht g**gle mit der Leap Second.

Tja, bin auch nicht mehr so tief drin im Thema :D

Antworten