Skip to main content

Instalace ntp serveru

Krok 1: Vytvoření adresářů a nastavení práv

Začněte tím, že vytvoříte adresář pro konfigurační soubor NTP serveru na vašem hostitelském systému:

sudo mkdir -p /opt/ntp
sudo chown -R 1000:1000 /opt/ntp

Tento adresář bude obsahovat konfigurační soubor NTP, který kontejner bude používat.

Krok 2: Vytvoření konfiguračního souboru ntp.conf

Vytvořte vlastní konfigurační soubor NTP. Otevřete soubor pro úpravy pomocí editoru:

sudo nano /opt/ntp/ntp.conf

Do souboru vložte následující konfiguraci, která nastaví české NTP servery:

# Specify NTP servers
server cz.pool.ntp.org iburst
server time.mff.cuni.cz iburst
server ntp.nic.cz iburst
server ntp.cesnet.cz iburst

# Use the system's clock as a backup
server 127.127.1.0

# Drift file to keep track of clock stability
driftfile /var/lib/ntp/ntp.drift

# Define access restrictions
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

Tento soubor specifikuje 4 české NTP servery a obsahuje základní bezpečnostní omezení.

Krok 3: Vytvoření docker-compose.yml souboru

Vytvořte docker-compose.yml soubor v adresáři, kde chcete spravovat NTP stack. Například v /opt/ntp/.

Obsah souboru:

version: '3.8'

services:
  ntp:
    image: cturra/ntp  # Používáme obraz pro NTP server.
    container_name: ntp-server  # Pojmenování kontejneru jako 'ntp-server'.
    restart: unless-stopped  # Kontejner se automaticky restartuje, pokud se zastaví.
    ports:
      - "123:123/udp"  # Otevření UDP portu 123 pro NTP komunikaci.
    environment:
      - TZ=Europe/Prague  # Nastavuje časovou zónu na Evropu/Prahu.
    volumes:
      - /etc/localtime:/etc/localtime:ro  # Mountuje časovou konfiguraci z hostitele (jen pro čtení).
      - /opt/ntp/ntp.conf:/etc/ntp.conf:ro  # Mountuje vlastní NTP konfigurační soubor z hostitele (jen pro čtení).
    cap_add:
      - SYS_TIME  # Přidává oprávnění pro nastavení systémového času uvnitř kontejneru.
    networks:
      - ntp_network  # Použití uživatelsky definované sítě.

networks:
  ntp_network:
    driver: bridge  # Definice vlastní sítě pomocí bridge driveru.

Krok 4: Spuštění kontejneru

Update the stack

Krok 5: Ověření funkčnosti NTP serveru

Po spuštění kontejneru můžete ověřit funkčnost NTP serveru pomocí následujících kroků:

Použijte příkaz chronyc tracking: Tento příkaz vám poskytne informace o aktuálním zdroji synchronizace a odchylkách:

chronyc tracking

Připojte se do kontejneru:

docker exec -it ntp-server /bin/sh

Zkontrolujte stav NTP synchronizace:

chronyc sources

Tento příkaz zobrazí seznam NTP serverů, ke kterým je váš NTP server připojen, a ukáže odchylky v čase.

exit

Krok 6: Testování přesnosti NTP serveru

Testování přesnosti můžete provést příkazem:

sudo ntpdate -q ntp.zelina.eu

Tento příkaz zobrazí odchylky a stav připojení k NTP serveru.

Krok 7: Nastavení NTP serveru na Windows 11

  1. Otevřete Ovládací panelyHodiny a oblastDatum a časInternetový čas.
  2. Klikněte na Změnit nastavení a zadejte svůj NTP server:

    ntp.zelina.eu

Klikněte na Aktualizovat nyní pro okamžitou synchronizaci času.

Krok 8: Ověření synchronizace na Windows 11

Na Windows 11 můžete ověřit stav synchronizace času příkazem v příkazovém řádku:

w32tm /query /status


Tento příkaz ukáže aktuální stav synchronizace, včetně odchylky času a serveru, se kterým je systém synchronizován.

Tímto máte plně funkční NTP server, konfigurovaný pro co nejpřesnější české servery, a nastavený k použití na Windows 11.