Aby skonfigurować serwer i klienta NTP w systemie Linux, należy wykonać szereg kroków obejmujących instalację, edycję konfiguracji, uruchamianie usług oraz weryfikację poprawności działania. Poniżej znajduje się szczegółowy poradnik, odpowiedni na stronę WWW dla osób początkujących i średniozaawansowanych.
1. Czym jest NTP i dlaczego jest ważny?
NTP (Network Time Protocol) umożliwia precyzyjną synchronizację czasu systemowego komputerów w sieci lokalnej oraz z publicznymi serwerami czasu. Spójność czasu jest kluczowa dla usług sieciowych, rejestrów zdarzeń, bezpieczeństwa oraz poprawnego działania rozproszonych aplikacji.
2. Instalacja NTP
Na serwerze (np. Ubuntu/Debian):
sudo apt update sudo apt install ntp 
Na kliencie (np. Ubuntu/Debian):
sudo apt update sudo apt install ntp 
Na systemach Red Hat/CentOS zamiast ntp czasami używa się chrony jako alternatywy, ale tutaj skupiamy się na klasycznym ntpd.
3. Konfiguracja serwera NTP
Edycja pliku konfiguracyjnego
Plik konfiguracyjny: /etc/ntp.conf
Otwórz plik do edycji:
sudo nano /etc/ntp.conf 
Najważniejsze elementy konfiguracji:
- Sekcja z serwerami upstream NTP, np.:
 
 server 0.pool.ntp.org iburst server 1.pool.ntp.org iburst server 2.pool.ntp.org iburst server 3.pool.ntp.org iburst 
Możesz zastąpić powyższe adresami najbliższych lub zaufanych serwerów, np. serwerami uczelnianymi lub własnym GPS.
- Zezwolenia dla sieci lokalnej (tak, by Twoi klienci mogli się synchronizować z tym serwerem):
 
 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 
Dopasuj adresację sieci do swojej infrastruktury.
- Opcjonalnie ustawienia plików drift/trace (standardowo wystarczają domyślne):
 
 driftfile /var/lib/ntp/ntp.drift 
Zapisz plik i zamknij edytor.
Uruchomienie i automatyczne startowanie usługi
sudo systemctl restart ntp sudo systemctl enable ntp 
Otworzenie portów na firewallu (jeśli jest włączony)
Typowo używany jest port UDP 123:
sudo ufw allow 123/udp 
4. Konfiguracja klienta NTP
Domyślna konfiguracja klienta NTP polega na dodaniu adresu serwera czasu do pliku /etc/ntp.conf.
Otwórz plik na kliencie:
sudo nano /etc/ntp.conf 
Zmień/usuń istniejące wpisy server i dodaj swój serwer NTP, np.:
server 192.168.1.10 prefer iburst 
(Adres IP należy zamienić na adres Twojego serwera NTP.)
Zapisz plik. Następnie zrestartuj usługę:
sudo systemctl restart ntp sudo systemctl enable ntp 
5. Weryfikacja działania synchronizacji
Na serwerze i kliencie można sprawdzić status:
ntpq -p 
Ta komenda pokazuje listę serwerów, z których pobierany jest czas oraz szczegóły synchronizacji (offset, delay, jitter).
Dla usług systemowych wartość synchronizacji można sprawdzić również przez:
timedatectl status 
(W przypadku korzystania z systemd-timesyncd.)
6. Diagnozowanie problemów
- Sprawdź czy usługa jest uruchomiona:
sudo systemctl status ntp - Upewnij się, że serwer jest widoczny w sieci (np. 
ping,telnet, sprawdź firewall). - Sprawdź logi systemowe:
sudo journalctl -u ntp 
7. Najczęstsze błędy i ich przyczyny
- Brak synchronizacji (status UNSYNC) – zablokowany port UDP 123, błędny adres serwera, różnice czasowe przekraczające 1000 s.
 - Błędy uprawnień – Restrictive 
restrictw ntp.conf. 
8. Przykładowa konfiguracja — plik /etc/ntp.conf
Na serwerze NTP –
driftfile /var/lib/ntp/ntp.drift server 0.pool.ntp.org iburst server 1.pool.ntp.org iburst server 2.pool.ntp.org iburst restrict 127.0.0.1 restrict ::1 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 
Na kliencie –
driftfile /var/lib/ntp/ntp.drift server 192.168.1.10 iburst 
9. Dodatki i dobre praktyki
- Używaj kilku serwerów upstream dla redundancji.
 - Regularnie sprawdzaj synchronizację i logi.
 - W środowiskach produkcyjnych stosuj stabilny hardware do źródła czasu.
 
Poradnik opiera się na wiedzy z dokumentacji IBM, praktycznych artykułach oraz społecznościowych poradnikach krok po kroku.




