ntpd via ppp

Zappotek

certified Bitschubser
Hallo Leute,

hab ne alte Kiste (mit FreeBSD 5.3 drauf), die sehr zeitinkontinent ist - Zeitdifferenzen von mehreren Tagen sind kein Problem :rolleyes:
Drum wollt ich auf die Schnelle mal die Zeit per ntpd abgleichen lassen - und zwar jedesmal dann, wenn sich ein _User_ per ppp ins Netz einwählt. Ok, soweit zur idee - also in ppp.linkup den ntpd eintragen ... Drum sieht die jetzt so aus:

MYADDR:
! sh -c "ntpd -q -g"

[btw: Weiss jemand, warum ntpd (FreeBSD 5.3) nen segfault schmeisst, wenn ich die beiden optionen andersrum angebe? also ntpd -g -q]

Jetzt zum Problem: Beim Einwählen passiert garnix. Vermute mal, dass es daran liegt, dass das Teil ja nicht als root ausgeführt wird und dieser Eintrag insgeheim den gleichen Effekt hat, wie ntpd als user direkt aufzurufen: nämlich keinen.
Bekomm ich das sonst wie gebacken, ausser das Teil (als root) direkt per Hand aufzurufen?

ein für Anregungen dankbarer,
Zappotek
 
Hmm... Ich würde das Ganze anders lösen, so wie im Handbuch beschrieben:

The ntpd(8) program does not need a permanent connection to the Internet to function properly. However, if you have a temporary connection that is configured to dial out on demand, it is a good idea to prevent NTP traffic from triggering a dial out or keeping the connection alive. If you are using user PPP, you can use filter directives in /etc/ppp/ppp.conf. For example:

set filter dial 0 deny udp src eq 123
# Prevent NTP traffic from initiating dial out
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Prevent incoming NTP traffic from keeping the connection open
set filter alive 1 deny udp dst eq 123
# Prevent outgoing NTP traffic from keeping the connection open
set filter alive 2 permit 0/0 0/0

For more details see the PACKET FILTERING section in ppp(8) and the examples in /usr/share/examples/ppp/.

Note: Some Internet access providers block low-numbered ports, preventing NTP from functioning since replies never reach your machine.

Ansonsten nimm doch ntpdate statt den Daemon. Das Ding ist da ein wenig kooperativer.
 
Hallo OOZE,

danke schonmal für deine Antwort. Die Passage aus dem Handbuch kommt mir bekannt vor ...
Nur gibts hier mehrere Probleme: Da die Internetverbindung über Modem läuft, und vor dem Rechner ein superunerfahrener User (um jetzt mal nicht zu schreiben DAU ;)) sitzt - von dem man nie wissen kann wann er wieder offline geht, weil er jetzt telefonieren will :rolleyes: . Aus diesem Grund wollt ich den sync nur einmal beim dialin ausführen lassen und es auf alle Fälle vermeiden, ntpd einwählen zu lassen - darum auch die option -q.

ntpdate hatte ich auch schon mal in den Fingern, allerdings liest man dazu in der manpage:
Note: The functionality of this program is now available in the ntpd(8)
program. See the -q command line option in the ntpd(8) page. After a
suitable period of mourning, the ntpdate utility is to be retired from
this distribution.
... wobei für mich jetzt der status "deprecated" weniger eine Rolle spielt. Aber aufgrund der lt. dir erhöhten Kooperationsbereitschaft werd ich mir das Ding nochmal genauer angucken.
 
Zurück
Oben