1. Důležitost NTP na Ubuntu
Co je NTP?
NTP (Network Time Protocol) je protokol navržený k přesnému synchronizování času počítačových systémů přes síť. Udržování přesného systémového času je nezbytné pro konzistenci logů, zpracování transakcí a spolehlivost síťové komunikace. Pokud systémový hodinový zdroj driftuje, mohou nastat síťové chyby nebo nesoulad dat, což činí přesnou synchronizaci času klíčovou, zejména v serverových prostředích.
Na Ubuntu se doporučuje chrony, protože poskytuje přesnou synchronizaci času i v nestabilních síťových podmínkách. Chrony také nabízí nízkou latenci a rychlou synchronizaci, což jej činí vhodným jak pro serverová, tak i klientská prostředí.
2. Jak nakonfigurovat NTP
Instalace a konfigurace Chrony
Chrony je výchozí NTP klient na Ubuntu 18.04 a novějších. Použijte následující kroky k instalaci Chrony a nastavení synchronizace času pomocí NTP serverů.
Kroky instalace
sudo apt update
sudo apt install chrony
Dále spusťte službu Chrony a povolte ji pro automatické spouštění.
sudo systemctl start chrony
sudo systemctl enable chrony
Konfigurační soubor se nachází v /etc/chrony/chrony.conf. Pokud chcete používat NTP servery umístěné v Japonsku, nakonfigurujte jej následovně:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
Volba iburst urychluje počáteční synchronizaci při připojení k NTP serveru.
3. Optimalizace a výběr NTP serverů
Použití projektu NTP Pool
Projekt NTP Pool poskytuje regionálně optimalizované NTP servery získané z celého světa. Konfigurací více NTP serverů se zvyšuje spolehlivost, protože pokud jeden server přestane být dostupný, ostatní mohou plynule pokračovat v synchronizaci času.
Níže uvedený příklad ukazuje konfiguraci, která používá servery umístěné v Japonsku:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. Nastavení časové zóny
Použití příkazu timedatectl
Ve výchozím nastavení používá Ubuntu UTC jako systémovou časovou zónu. Můžete ji změnit na japonský standardní čas (JST) pomocí následujícího příkazu:
sudo timedatectl set-timezone Asia/Tokyo
Po provedení změny ověřte aktuální nastavení časové zóny pomocí:
timedatectl
5. Řešení problémů
Když se NTP nesynchronizuje
Zkontrolujte firewall
NTP používá UDP port 123 a synchronizace může selhat, pokud firewall tento port blokuje. Otevřete port 123 následujícím příkazem:
sudo ufw allow 123/udp
Kontrola falešných tiků
Použijte příkaz ntpq -p k ověření, zda NTP servery fungují správně. Servery poskytující nepřesný čas jsou označeny symbolem x. Pokud jsou takové servery detekovány, odstraňte je nebo je nahraďte ve své konfiguraci.
Chyba Stratum 16
Pokud NTP server nemůže synchronizovat s upstream serverem, nastane chyba Stratum 16. To naznačuje problém s konektivitou nebo konfigurací. Zkontrolujte nastavení sítě a přenastavte své NTP servery tak, aby se synchronizovaly s spolehlivými upstream zdroji.
Manuální synchronizace času
Pro ruční synchronizaci času pomocí Chrony spusťte následující příkaz:
sudo ntpdate ntp.nict.jp
Můžete také prohlédnout logy Chrony k diagnostice problémů se synchronizací:
sudo journalctl -u chrony
6. Optimalizace NTP v prostředích s vysokým zatížením
Úprava minpoll a maxpoll
V prostředích vyžadujících vysoce přesnou synchronizaci času umožňuje úprava intervalů dotazování NTP častější aktualizace a pomáhá minimalizovat časový drift. Níže uvedený konfigurační příklad zvyšuje frekvenci synchronizace:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
Správa NTP pomocí Juju
V rozsáhlých cloudových prostředích může Juju automatizovat nasazení služeb NTP. Juju monitoruje zátěž hostitelů a automaticky vybírá optimálního hostitele jako NTP server. Nasaděte NTP prostřednictvím Juju následovně:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
Toto umožňuje automatizovanou správu NTP, efektivní distribuci zátěže a zajištění efektivní synchronizace času.
7. Zlepšení bezpečnosti
Řízení přístupu k NTP serverům
Pro zlepšení bezpečnosti můžete omezit přístup k NTP serveru na specifické IP adresy. Přidejte pravidla řízení přístupu do /etc/chrony/chrony.conf následovně, aby byly povoleny požadavky pouze z schválených sítí:
allow 192.168.1.0/24
Toto zabraňuje neoprávněným požadavkům NTP z externích hostitelů a posiluje bezpečnost interní sítě.




