Wprowadzenie – czyli za Wikipedią
NTP – protokół umożliwiający precyzyjną synchronizację czasu pomiędzy komputerami. Wzorcowy czas UTC może pochodzić bezpośrednio z zegarów atomowych lub pośrednio ze specjalizowanych serwerów czasu (ang. Time Server NTP). Protokół NTP jest coraz powszechniej uznawany za światowy standard synchronizacji czasu w urządzeniach teleinformatycznych i telekomunikacyjnych. Ma swoją implementację dla większości współczesnych systemów operacyjnych, z Microsoft Windows NT/2K/XP/2003/VISTA włącznie.
Implementacja protokołu NTP dla konkretnych systemów operacyjnych wymaga sprzęgnięcia na niskim poziomie jądra systemu operacyjnego. Czas lokalny tworzony jest przez system poprzez dodanie stosownego przesunięcia uwzględniającego lokalną strefę czasową. Dla systemów operacyjnych Linux i FreeBSD istnieją specjalne nakładki na jądro systemowe umożliwiające obsługę biegu zegarów ze zwiększoną precyzją. Nakładki umożliwiają płynną regulację czasu systemowego poprzez przyspieszenie lub spowolnienie programowego zegara systemowego.
Instalacja
Jeśli masz zainstalowany pakiet ntpdate musisz go odinstalować za pomocą następującego polecenia:
sudo apt-get --purge remove ntpdate
Wszystkie potrzebne pakiety zainstalujemy jednym poleceniem:
sudo apt-get install ntp
Konfiguracja
Plik konfiguracji ntpd znajduję się w /etc/ntp.conf. Domyślne ustawienia wymagają jednak pewnych modyfikacji, aby dostosować go do własnych potrzeb.
Aby edytować ten plik wystarczy wydać polecenie:
sudo nano /etc/ntp.conf
Przykładowa konfiguracja
Musisz dodać serwery do listy. Lista Polskich adresów znajduje się pod adresem http://odyniec.net/ntp/. Optymalna liczba serwerów do synchronizacji to trzy, ale dwa również dadzą dobrą dokładność zegara. Jeśli Twój ISP ma swój serwer NTP warto go dodać.
Przykład:
server tempus1.gum.gov.pl
server tempus2.gum.gov.pl
Jeśli chcesz ograniczyć dostęp do swojego serwera, i zezwalać na dostęp tylko dla komputerów ze swojej sieci LAN musisz ustawić poniższą wartość
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Gdzie 192.168.1.0 to pula adresów IP, a 255.255.255.0 maską Twojej sieci.
Zapisujemy konfigurację i restartujemy serwer poleceniem:
sudo /etc/init.d/ntp restart
Ustawienia zapory
Serwery NTP komunikują się za pomocą protokołu UDP na porcie 123. Więc musisz odblokować ten port na zaporze, ewentualnie przekierować go na routerze.
Instalacja klientów NTP
Musisz zainstalować następujące pakiety, wydając polecenie:
sudo apt-get install ntp ntp-simple ntpdate
Konfiguracja klientów NTP
Musisz edytować ustawienia, które znajdują się w /etc/ntp.conf, za pomocą polecenia:
sudo nano /etc/ntp.conf
i dopisać w nim poniższą linijkę:
server 192.168.1.1
– gdzie 192.168.1.1 to ip Twojego lokalnego serwera NTP. Zapisz ustawienia, następnie wykonaj polecenie:
sudo ntpdate 192.168.1.1
i uruchom ponownie usługę poleceniem:
sudo /etc/init.d/ntp restart
Konfiguracja klientów Windows
W Windows należy skorzystać z uproszczonej wersji o SNTP (Simple Network Time Protocol) Czas powinien się jednak synchronizować z Twoim serwerem, po dopisaniu jego ip w ustawieniach “czasu z internetu” – czy jak to się nam nazywało w Windows? ;)Lokalny serwer synchronizacji czasu [NTP]
31 stycznia, 2009 at 12:48
Fajna rzecz! Zacznę pojawiać się tu częściej jako, że jestem dość zielony w sieciach opartych na sys unix.
Pozdrawiam!
2 lutego, 2009 at 22:32
Dziękuję za pierwszy i za razem miły komentarz, cieszę się że mogłem pomóc. Mam nadzieję, że sprostam wymaganiom.
Również pozdrawiam :)
21 stycznia, 2013 at 22:26
Bardzo fajny artykulik, w sam raz dla laika. Mam jeszcze takie pytanie. Czy można w linuksie udostępnić tak czas aby komputery w sieci lokalnej gdzie nie ma domeny mogły sobie pobrać godzinę na pomocą net time?