Kategorie | Howto, Linux, Serwer

  

Lokalny serwer synchronizacji czasu [NTP]

Opublikowano 27 stycznia 2009 przez Franek

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]

  

3 Comments For This Post

  1. Bartek Says:

    Fajna rzecz! Zacznę pojawiać się tu częściej jako, że jestem dość zielony w sieciach opartych na sys unix.

    Pozdrawiam!

  2. Franek Says:

    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 :)

  3. Rafał Says:

    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?

Leave a Reply

Polityka komentarzy

Wyszukiwane tagi: denver czas lokalny, czas lokalny      
     
Green Dog Says

MiniBlog