www.ladogorski.com

Czas NTP

Gdy mamy problem z datą i dokładną godziną, bo w wyniku przeciążeń serwera ciągle jest rozregulowana - trzeba skorzystać z NTP (Network Time Protocol) i pobierać czas z dedykowanych serwerów w Internecie. Jak to zrobić?

By cokolwiek zrobić trzeba najpierw mieć zainstalowany pakiet ntpdate. W Debianie instalujemy go po prostu tak:

# apt-get install ntpdate

Mamy więc polecenie ntpdate, ale jeśli go użyjemy, to zauważymy, że niestety brakuje nam jeszcze serwera z którego możnaby czas pobrać i system krzyczy: no servers can be used, exiting.

Listę serwerów, których możnaby użyć znajdziemy na stronie
http://ntp.isc.org/bin/view/Servers/NTPPoolServers
. Dobrze byłoby znaleźć serwer ogólnodostępny ;) W naszej lokalizacji
dobrym rozwiązaniem może być serwer europe.pool.ntp.org.

No więc wydajemy polecenie:

# ntpdate europe.pool.ntp.org

Jeśli otrzymaliśmy mniej więcej taki komunikat: adjust time server 213.238.47.29 offset -0.001552 sec, to gratulacje, udało nam się ustawić czas :) Możemy go teraz sprawdzić poleceniem date.

Jeśli z kolei otrzymaliśmy taki komunikat: no server suitable for synchronization found, to niestety mamy problem. Sprawdźmy czy podaliśmy prawidłowo nazwę serwera, czy mamy ustawione prawidłowo DNS-y i czy port UDP 123 (ntp) nie jest przypadkiem blokowany przez naszego firewalla.

Jeśli czas często nam się rozregulowuje (jeśli istnieje takie słowo ;) warto to polecenie wrzucić do crona:

# crontab -e

i dodajemy taką linię:

00 0 * * *              ntpdate europe.pool.ntp.org

Czas będzie aktualizowany codziennie o północy (Patrz niżej, co napisał Przemek).





W razie pytań, problemów lub sugestii proszę pisać do mnie


Przemek napisał:

opisuje pan na swojej stronie sposób na synchronizację czasu, nie wiem
tylko czy to jest opis dla komputerów desktop czy serwer bo ja
osobiście po wielu latach pracy z maszynami różnego typu, uznaje tego
typu synchronizację jako mało pomocna a nawet niebezpieczną.

Problem polega na tym że jeżeli to desktop to synchronizacja raz na
dzień o północy raczej się nie sprawdzi, a jeżeli chodzi o serwer to
już prędzej ale gdy na przestrzeni między synchronizacjami wystąpi
odchylenie czasu na poziomie >5 sekund to niektóre daemon-y mogą
wyrzucić coś takiego:
Time just moved backwards by 7 seconds. This might cause a lot of problems, so I'll just kill myself now ;)
(dovecot)

Dlatego zarówno dla desktop-a jak i serwera znacznie bezpieczniejsze
jest uruchomienie daemon-a ntpd który cały czas kontroluje czas i w
razie potrzeby go koryguje. Nie będzie już trzeba czekać do północy
tylko praktycznie kilka sekund po odpaleniu czas jest bardzo aktualny.

Strona Przemka: http://lost.one.pl