Linux: Synchronizacja czasu z serwerem NTP

Zegary z różnymi strefami czasowymi

Prawidłowo ustawiony czas w systemach komputerowych pozwala na poprawne działanie uruchomionych programów oraz na łatwe przeszukiwanie logów pomiędzy różnymi systemami komputerowymi. Jeśli czas w każdym systemie będzie inny, to wszelkie analizy logów (np. na potrzeby analizy powłamaniowej) w Twojej infrastrukturze będą utrudnione. Poniższa konfiguracja synchronizacji czasu z serwerem NTP będzie działać w każdej nowoczesnej dystrybucji Linuksa, która wykorzystuje systemd.

Do weryfikacji aktualnych ustawień czasu wykorzystamy polecenie timedatectl.

user@linux:~$ timedatectl
               Local time: Tue 2020-07-14 18:35:04 UTC
           Universal time: Tue 2020-07-14 18:35:04 UTC
                 RTC time: Tue 2020-07-14 18:35:04
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Możesz zauważyć, że aktualnie ustawiona strefa czasowa to Etc/UTC. Do wyświetlenia dostępnych nazw stref czasowych służy poniższe polecenie.

user@linux:~$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Algiers
Africa/Bissau
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
(…)

W przypadku Polski odpowiednia strefa czasowa to Europe/Warsaw. Do zmiany ustawień wymagane jest podniesienie uprawnień np. za pomocą sudo.

user@linux:~$ sudo timedatectl set-timezone Europe/Warsaw
user@linux:~$ timedatectl
Local time: Tue 2020-07-14 20:36:18 CEST
Universal time: Tue 2020-07-14 18:36:18 UTC
RTC time: Tue 2020-07-14 18:36:18
Time zone: Europe/Warsaw (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

Po zmianie strefy czasowej ponownie zweryfikuj konfigurację za pomocą timedatectl. Synchronizacja czasu z serwerami NTP w moim przypadku jest domyślnie włączona. Aby włączyć lub wyłączyć synchronizację z serwerem NTP użyj polecenia:

user@linux:~$ sudo timedatectl set-ntp on

user@linux:~$ sudo timedatectl set-ntp off

W celu zmiany domyślnego serwera NTP edytuj plik konfiguracyjny i wprowadź adresy serwerów czasu.

user@linux:~$ sudo nano /etc/systemd/timesyncd.conf

[Time]
NTP=tempus1.gum.gov.pl tempus2.gum.gov.pl
FallbackNTP=ntp.ubuntu.com

Po skonfigurowaniu nowych serwerów NTP uruchom ponownie usługę synchronizacji czasu i ponownie zweryfikuj status synchronizacji.

user@linux:~$ sudo systemctl restart systemd-timesyncd.service
user@linux:~$ timedatectl