NTP - synchronizacja czasu

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
KLAPEK
Użytkownik
Posty: 830
Rejestracja: 2004-06-13, 21:00

NTP - synchronizacja czasu

Post autor: KLAPEK » 2009-12-01, 11:53

Witam, wiem że już było, ale niestety nadal cos jest nie tak ;/

Ale od początku:

Slackware 13@rc.ntpdate
ps -ef |grep ntp

Kod: Zaznacz cały

ps -ef |grep ntp
root     20711     1  0 11:34 ?        00:00:00 /usr/sbin/ntpd -g -p /var/run/ntpd.pid

Kod: Zaznacz cały

/etc/rc.d/rc.ntpd status
ntpd is running.

Kod: Zaznacz cały

 ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l   65   64   77    0.000    0.000   0.001
 nac.oa.uj.edu.p .PPS.            1 u   61   64   77   17.022  310821. 3400.77
 tel50.oa.uj.edu 149.156.70.39    2 u   62   64   77   17.760  306690. 2556.99
 ns2.net.icm.edu 80.50.231.226    2 u   62   64   77    9.746  308723. 1970.56
 smtp.certum.pl  .PPS.            1 u   61   64   77   17.056  308771. 1978.03
 ip-89.171.11.30 80.50.231.226    2 u    1   64  177   13.859  306738. 3066.40
I kiedy próbuję sprawdzić synchronizację:

Kod: Zaznacz cały

ntpdate -v
 1 Dec 11:41:41 ntpdate[21175]: ntpdate 4.2.4p7@1.1607-o Wed Jun  3 21:25:17 UTC 2009 (1)
 1 Dec 11:41:41 ntpdate[21175]: no servers can be used, exiting

Kod: Zaznacz cały

cat /etc/ntp.conf 


server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10  
server 0.pl.pool.ntp.org
server 1.pl.pool.ntp.org
server 2.pl.pool.ntp.org
server 3.pl.pool.ntp.org
server  pl.pool.ntp.org prefer


driftfile /etc/ntp/drift
multicastclient                 # listen on default 224.0.1.1
broadcastdelay  0.008


#keys           /etc/ntp/keys
#trustedkey     65535
#requestkey     65535
#controlkey     65535

# Don't serve time or stats to anyone else by default (more secure)
restrict default noquery nomodify
# Trust ourselves.  :-)
restrict 127.0.0.1

Kod: Zaznacz cały

cat /etc/ntp/drift 
0.000

Kod: Zaznacz cały

cat /etc/ntp/ntp.keys 
65535   M       akey
1       M       pass

Kod: Zaznacz cały

cat /etc/ntp/step-tickers 
Bardzo proszę o wskazówki co robię nie tak ;)
Z góry dzięki.
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
#318805 @ Slackware GNU/Linux

Awatar użytkownika
alekow
Użytkownik
Posty: 262
Rejestracja: 2007-11-30, 17:33
Lokalizacja: Poznań
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: alekow » 2009-12-01, 18:44

Kod: Zaznacz cały

ntpdate -v
 1 Dec 11:41:41 ntpdate[21175]: ntpdate 4.2.4p7@1.1607-o Wed Jun  3 21:25:17 UTC 2009 (1)
 1 Dec 11:41:41 ntpdate[21175]: no servers can be used, exiting 
Wydaje mi się że może chodzić o to:
ntpdate is a computer program used to synchronize and set computers' date and time by polling the Network Time Protocol (NTP) server(s).

The accuracy and reliability of ntpdate depends on the number of servers, the number of polls each time it is run and the interval between runs.

The maintainers have decided to deprecate it in favor of only using ntpd.
U mnie też jest podobnie jak u Ciebie, a czas jest zsynchronizowany.

Źródło - Wikipedia.
Ostatnio zmieniony 2009-12-01, 18:46 przez alekow, łącznie zmieniany 1 raz.

Awatar użytkownika
KLAPEK
Użytkownik
Posty: 830
Rejestracja: 2004-06-13, 21:00

Re: NTP - synchronizacja czasu

Post autor: KLAPEK » 2009-12-01, 18:55

No u mnie już w tej chwili jest ponad 30 min do tyłu ;/
Czyli do bani z taką synchronizacją ;)

Chyba się wkurzę i zabiorę -x z rc.ntpdate i zrobię po staremu w cronie:

Kod: Zaznacz cały

/usr/sbin/ntpdate time.nist.gov && /sbin/hwclock --systohc
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
#318805 @ Slackware GNU/Linux

Awatar użytkownika
alekow
Użytkownik
Posty: 262
Rejestracja: 2007-11-30, 17:33
Lokalizacja: Poznań
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: alekow » 2009-12-01, 20:05

ja robiłem wg tego i działa
http://linux4u.w.interia.pl/ntp.html
Zrobiłeś wstępną synchronizację? tak przy okazji - tu jest wyjaśnione dlaczego ntpdate nie działa.

Awatar użytkownika
KLAPEK
Użytkownik
Posty: 830
Rejestracja: 2004-06-13, 21:00

Re: NTP - synchronizacja czasu

Post autor: KLAPEK » 2009-12-01, 21:23

alekow pisze: Zrobiłeś wstępną synchronizację?
Czyli co dokładnie?
Chodzi o coś takiego:
ntpdate -b serwer?
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
#318805 @ Slackware GNU/Linux

Awatar użytkownika
xil
Moderator
Posty: 861
Rejestracja: 2004-06-20, 22:20
Lokalizacja: Białystok
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: xil » 2009-12-01, 23:16

ja robie zwykle:

Kod: Zaznacz cały

ntpdate ntp.us.edu.pl
i jakos zawsze mi dziala.....

Awatar użytkownika
mina86
Moderator
Posty: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: mina86 » 2009-12-02, 00:01

KLAPEK pisze:ntpdate -v
1 Dec 11:41:41 ntpdate[21175]: ntpdate 4.2.4p7@1.1607-o Wed Jun 3 21:25:17 UTC 2009 (1)
1 Dec 11:41:41 ntpdate[21175]: no servers can be used, exiting
ntpdate -v wywala błąd, bo nie podałeś żadnych serwerów. Spróbuj ntpdate -v localhost.
The maintainers have decided to deprecate it in favor of only using ntpd.
Taaa... jeżeli chcesz mieć czas zsynchronizowany co do setnych sekundy to podczep się światłowodem do jakiegoś stratum 0. Zwykłemu użytkownikowi ntpdate wystarczy w zupełności -- ja np. wole mieć program odpalany z crona niż jakiegoś daemona.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną. :: Post generated automatically by A.I. system called “mina86” in response to the previous one. :: Tiny Applications

Awatar użytkownika
KLAPEK
Użytkownik
Posty: 830
Rejestracja: 2004-06-13, 21:00

Re: NTP - synchronizacja czasu

Post autor: KLAPEK » 2009-12-02, 07:56

Wywalam ten szajsowy ntp ;)
Wracam do crona i ntpdate.

Ustawiłem by różnica była mniejsza niż 10 min i dałem mu szansę na synchronizację, a ta łachudra znowu cofnęła mi czas tak by późnił się o równo 30 min.
Killim ;)
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
#318805 @ Slackware GNU/Linux

Awatar użytkownika
mina86
Moderator
Posty: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: mina86 » 2009-12-02, 20:32

A może masz jakoś źle ustawioną strefę czasową? Ale nie wiem, zgaduję.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną. :: Post generated automatically by A.I. system called “mina86” in response to the previous one. :: Tiny Applications

Awatar użytkownika
KLAPEK
Użytkownik
Posty: 830
Rejestracja: 2004-06-13, 21:00

Re: NTP - synchronizacja czasu

Post autor: KLAPEK » 2009-12-03, 10:35

W KDE mam ustawione Europa/Warszawa (CET), a w konsoli podobnie:

Kod: Zaznacz cały

~$ date
czw, 3 gru 2009, 10:30:36 CET
Chyba zatem wszystko OK. :roll:
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
#318805 @ Slackware GNU/Linux

topdolar
Użytkownik
Posty: 389
Rejestracja: 2006-10-05, 18:35

Re: NTP - synchronizacja czasu

Post autor: topdolar » 2009-12-03, 17:15

mi sie zawsze wydawalo ze bardziej popularny jest GMT+1 dla polski

Awatar użytkownika
mina86
Moderator
Posty: 3314
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 4.x x86_64
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: mina86 » 2009-12-03, 21:39

mi sie zawsze wydawalo ze bardziej popularny jest GMT+1 dla polski
Kilka kwestii:
1. Zdanie należy zaczynać wielką literą i kończyć kropką, wykrzyknikiem, wielokropkiem lub znakiem zapytania.
2. Zdania nie należy rozpoczynać od "mi", gdyż słowo to jest nieakcentowalne -- poprawnym rozpoczęciem jest "mnie".
3. Zgodnie z zasadami polskiej interpunkcji, przed "że" stawiamy przecinek.
4. "Polski" należy pisać wielką literą.
5. Zgodnie z regulaminem forum, pisząc posty należy stosować polskie znaki.
6. CET to właśnie GMT+1.
Ostatnio zmieniony 2009-12-15, 20:56 przez mina86, łącznie zmieniany 1 raz.
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną. :: Post generated automatically by A.I. system called “mina86” in response to the previous one. :: Tiny Applications

Awatar użytkownika
ondreyos
Użytkownik
Posty: 331
Rejestracja: 2007-11-01, 17:31
Lokalizacja: Poznań

Re: NTP - synchronizacja czasu

Post autor: ondreyos » 2009-12-13, 19:51

1. Zdanie należy zaczynać wielką literą i kończyć kropką, wykrzyknikiem, wielokropkiem lub znakiem zapytania.
2. Zdanie nie należy rozpoczynać od "mi", gdyż słowo to jest nieakcentowalne -- poprawnym rozpoczęciem jest "mnie".
3. Zgodnie z zasadami polskiej interpunkcji, przed "że" stawiamy przecinek.
4. "Polski" należy pisać wielką literą.
5. Zgodnie z regulaminem forum, pisząc posty należy stosować polskie znaki.
6. CET to właśnie GMT+1.
Z wyjątkiem punktu szóstego, który ma jakis sens merytoryczny, pozostałe pasowałyby idealnie na forum dyskusyjne poświęcone ortografii, interpunkcji i gramatyce języka polskiego :P
A tak na serio - rozumiem, ze jesteś moderatorem, ale chyba ciut przesadzłieś z tą poprawnością.

memus
Użytkownik
Posty: 245
Rejestracja: 2005-09-27, 17:17

Re: NTP - synchronizacja czasu

Post autor: memus » 2009-12-14, 11:19

ondreyos pisze:A tak na serio - rozumiem, ze jesteś moderatorem, ale chyba ciut przesadzłieś z tą poprawnością.
Co masz do moderatora, który potrafi sobie sam ostrzeżenie dać ;]

vitos
Użytkownik
Posty: 104
Rejestracja: 2005-10-30, 09:13
Lokalizacja: Pszów
Kontakt:

Re: NTP - synchronizacja czasu

Post autor: vitos » 2010-01-01, 08:17

KLAPEK pisze:Wywalam ten szajsowy ntp ;)
Wracam do crona i ntpdate.
U mnie ntpd działa poprawnie i jest w moim przekonaniu znacznie lepszym rozwiązaniem ustawiania/serwera czasu dla sieci. Dla komputera lokalnego, gdzie czas aż tak nie jest krytyczny można zostać przy cyklicznym pytaniu ntpdate z crona. U mnie w sieci lokalnej rejestrator przemysłowego monitoringu video pobiera sobie czas z lokalnego serwera ntp, a wiadomo, że dla takiego zastosowania naniesienie na nagranie video poprawnego czasu w postaci tzw. stempla czasowego jest krytyczne.

Uwaga. NTP w wersji 4.2.4 miał błąd polegający na tym, iż jeśli jego demon był ładowany podczas startu systemu, a jest to normalna sytuacja, to nie wiedzieć czemu proces ntpd ładował się dwa razy (temat był opisywany na mailliście ntp.org)

Ja przeszedłem na ntp 4.2.6, który na dzień dzisiejszy ma status stabilny i na wersji 4.2.6 problem z podwójnym ładowaniem się procesu na starcie nie występuje. Co prawda w syslogu pojawia się informacja, że w systemie nie ma interfejsu broadcastowego (nie wiem, co może być powodem tego komunikatu), ale to zupełnie nie przeszkadza w działaniu ntpd oraz synchronizacji czasu na klientach sieci.

Kawałek /var/log/messages:

Kod: Zaznacz cały

ntpd[1494]: ntpd 4.2.6@1.2089-o Mon Dec 28 08:03:02 UTC 2009 (1)
ntpd[1495]: proto: precision = 1.080 usec
ntpd[1495]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
ntpd[1495]: Listen normally on 1 lo 127.0.0.1 UDP 123
ntpd[1495]: Listen normally on 2 eth0 192.168.1.1 UDP 123
ntpd[1495]: Listen normally on 3 eth1 10.0.0.1 UDP 123
ntpd[1495]: Listen normally on 4 ppp0 77.253.44.200 UDP 123
ntpd[1495]: Listening on routing socket on fd #21 for interface updates
/var/log/syslog

Kod: Zaznacz cały

ntpd[1495]: Unable to listen for broadcasts, no broadcast interfaces available
Ponadto jakby, ktoś chciał wklejam mój /etc/ntp.conf

Kod: Zaznacz cały

# Sample /etc/ntp.conf:  Configuration file for ntpd.
#
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available. The
# default stratum is usually 3, but in this case we elect to use stratum
# 0. Since the server line does not have the prefer keyword, this driver
# is never used for synchronization, unless no other other
# synchronization source is available. In case the local host is
# controlled by some external source, such as an external oscillator or
# another protocol, the prefer keyword would cause the local host to
# disregard all other synchronization sources, unless the kernel
# modifications are in use and declare an unsynchronized condition.
#
server 127.127.1.0              # local clock
fudge  127.127.1.0 stratum 10

server vega.cbk.poznan.pl prefer
server ntp.certum.pl
server ntp1.net.icm.edu.pl

#
# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
#
driftfile /var/db/ntp/ntpd.drift

# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.1.255
#broadcastdelay 0.008
#broadcastclient
#multicastclient

#
# Keys file.  If you want to diddle your server at run time, make a
# keys file (mode 600 for sure) and define the key number to be
# used for making requests.
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will.
#
#keys           /etc/ntp/keys
#trustedkey     65535
#requestkey     65535
#controlkey     65535

# Don't serve time or stats to anyone else by default (more secure)
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 127.0.0.1 nomodify
oraz zmodyfikowany /etc/rc.d/rc.ntpd

Kod: Zaznacz cały

#!/bin/sh
# Start/stop/restart ntpd.

CMDLINE="/usr/sbin/ntpd"
CONFIG="/etc/ntp.conf"
PID="/var/run/ntpd.pid"
DRIFT="/var/db/ntp/ntpd.drift"

ntpd_start() {
  if [ $(ps -Nf | grep $CMDLINE -c) -eq 0 ]; then
    if [ -r $PID ]; then
      rm -f $PID
    fi
    echo -n "Starting NTP service:  "
    $CMDLINE -4 -b -c $CONFIG -p $PID -f $DRIFT -g
    sleep 1
    echo $CMDLINE
  else
    echo "NTP service already running."
  fi
}

ntpd_stop() {
  if [ $(ps -Nf | grep $CMDLINE -c) -eq 0 ]; then
    echo "NTP service already stopped."
  else
    echo -n "Stopping NTP service... "
    if [ -r $PID ]; then
      kill -s 15 $(pidof ${CMDLINE})
      rm -f $PID
    else
      killall -s 15 $(echo $CMDLINE | cut -d "/" -f 4)
    fi
    sleep 1
    echo "OK"
  fi
}

ntpd_status() {
  if [ $(ps -Nf | grep $CMDLINE -c) -eq 0 ]; then
    echo "NTP service already stopped."
  else
    echo "NTP service is running."
  fi
}


case "$1" in

'start')
  ntpd_start
  ;;
'stop')
  ntpd_stop
  ;;
'restart')
  ntpd_stop
  ntpd_start
  ;;
'status')
  ntpd_status
  ;;
*)
  echo "Usage $0 start|stop|restart|status"

esac
Jakby ktoś chciał skompilować sobie ntp 4.2.6.ze źródeł, to na plikach nagłówkowych kernela wersji 2.6.29.6 wraz z gcc 4.4.2 lub wyższych ntp się nie skompiluje.
Po naniesieniu poniższego patcha na źródła, kompilacja odbywa się poprawnie

Kod: Zaznacz cały

diff -Naur ntp-4.2.6.orig/include/ntp_syscall.h ntp-4.2.6/include/ntp_syscall.h
--- ntp-4.2.6.orig/include/ntp_syscall.h	2009-12-09 08:36:37.000000000 +0100
+++ ntp-4.2.6/include/ntp_syscall.h	2009-12-26 07:08:56.289042888 +0100
@@ -11,7 +11,11 @@
 #endif
 
 #ifdef HAVE_SYS_TIMEX_H
-# include <sys/timex.h>
+#include <sys/timex.h>
+#if defined(ADJ_NANO) && !defined(MOD_NANO)
+/* bug in Linux header files */
+# define MOD_NANO ADJ_NANO
+#endif
 #endif
 
 #ifndef NTP_SYSCALLS_LIBC 
Ostatnio zmieniony 2010-01-01, 10:23 przez vitos, łącznie zmieniany 3 razy.

ODPOWIEDZ