NTP nebo Network Time Protocol je protokol, který se používá k synchronizaci všech systémových hodin v síti pro použití stejného času. Když používáme termín NTP, máme na mysli samotný protokol a také klientské a serverové programy běžící na počítačích v síti. NTP patří do tradiční sady protokolů TCP/IP a lze jej snadno klasifikovat jako jednu z jejích nejstarších částí.
Při počátečním nastavování hodin trvá šest výměn během 5 až 10 minut, než se hodiny nastaví. Jakmile jsou hodiny v síti synchronizovány, klient (klienti) aktualizují své hodiny na serveru každých 10 minut. To se obvykle děje prostřednictvím jediné výměny zpráv (transakce). Tyto transakce používají číslo portu 123 vašeho systému.
V tomto článku popíšeme krok za krokem postup, jak:
- Nainstalujte a nakonfigurujte server NTP na počítači Ubuntu.
- Nakonfigurujte klienta NTP tak, aby byl časově synchronizován se serverem.
Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 20.04 LTS.
Nainstalujte a nakonfigurujte server NTP na hostitelském počítači
Chcete-li nainstalovat server NTP na váš hostitelský počítač Ubuntu, postupujte takto:
Poznámka:K instalaci a konfiguraci NTP používáme příkazový řádek Ubuntu, Terminál. Aplikaci Terminál můžete otevřít buď pomocí vyhledávání ve spouštěči aplikací, nebo pomocí zkratky Ctrl+Alt+T.
Krok 1:Aktualizujte index úložiště
Aby bylo možné nainstalovat nejnovější dostupnou verzi softwaru z internetových úložišť, musí být index vašeho místního úložiště v souladu s nimi. Spusťte následující příkaz jako sudo, abyste aktualizovali index místního úložiště:
$ sudo apt-get update
Krok 2:Nainstalujte NTP server pomocí apt-get
Spusťte prosím následující příkaz jako sudo, abyste mohli nainstalovat démona serveru NTP z repozitářů APT:
$ sudo apt-get install ntp
Vezměte prosím na vědomí, že pouze oprávněný uživatel může přidávat, odebírat a konfigurovat software na Ubuntu.
Systém vás může požádat o heslo pro sudo a také vám poskytne možnost Y/n pro pokračování v instalaci. Zadejte Y a poté stiskněte Enter; NTP server se poté nainstaluje do vašeho systému. Tento proces však může nějakou dobu trvat v závislosti na rychlosti vašeho internetu.
Krok 3:Ověřte instalaci (volitelné)
Svou instalaci NTP a také číslo verze můžete ověřit spuštěním následujícího příkazu v terminálu:
$ sntp --version
Krok 4:Přepněte na server NTP, který je nejblíže vašemu umístění
Při instalaci serveru NTP je většinou nakonfigurován tak, aby načítal správný čas. Můžete však přepnout fond serverů na servery, které jsou nejblíže vašemu umístění. To zahrnuje provedení některých změn v /etc/ ntp.conf soubor.
Otevřete soubor v editoru nano jako sudo spuštěním následujícího příkazu:
$ sudo nano /etc/ntp.conf
V tomto souboru budete moci vidět seznam fondů. Tento seznam jsme zvýraznili na obrázku výše. Úkolem zde je nahradit tento seznam fondů fondem časových serverů nejblíže vaší poloze. Projekt pol.ntp.org poskytuje spolehlivou službu NTP z velkého shluku časových serverů. Chcete-li si vybrat seznam kulečníků podle své polohy, navštivte následující stránku:
https://support.ntp.org/bin/view/Servers/NTPPoolServers
Hledali jsme seznam poolů pro USA:
Stránka nám říká, že máme do souboru ntp.conf přidat následující řádky:
server 0.us.pool.ntp.org server 1.us.pool.ntp.org server 2.us.pool.ntp.org server 3.us.pool.ntp.org
Takto vypadá můj soubor po přidání výše uvedených řádků:
Ukončete soubor stisknutím Ctrl+X a poté zadáním y pro uložení změn.
Krok 5:Restartujte server NTP
Aby se výše uvedené změny projevily, musíte restartovat NTP server. Chcete-li tak učinit, spusťte následující příkaz jako sudo:
$ sudo service ntp restart
Krok 6:Ověřte, zda je spuštěn NTP server
Nyní zkontrolujte stav služby NTP pomocí následujícího příkazu:
$ sudo service ntp status
Stav Aktivní ověřuje, že váš server NTP je v provozu.
Krok 7:Nakonfigurujte bránu firewall tak, aby klienti měli přístup k serveru NTP
Konečně je čas nakonfigurovat UFW firewall vašeho systému tak, aby příchozí připojení měla přístup k serveru NTP na portu UDP číslo 123.
Spusťte následující příkaz jako sudo a otevřete port 123 pro příchozí provoz:
$ sudo ufw allow from any to any port 123 proto udp
Váš hostitelský počítač Ubuntu je nyní nakonfigurován pro použití jako server NTP.
Nakonfigurujte klienta NTP tak, aby byl časově synchronizován se serverem NTP
Nyní nakonfigurujeme náš klientský počítač Ubuntu tak, aby byl časově synchronizován se serverem NTP.
Krok 1:Nainstalujte ntpdate
Příkaz ntpdate vám umožní ručně zkontrolovat konfiguraci připojení s NTP serverem. Otevřete aplikaci Terminál na klientském počítači a zadejte následující příkaz jako sudo:
$ sudo apt-get install ntpdate
Krok 2:Zadejte IP a název hostitele serveru NTP v souboru hosts
Aby byl váš NTP server přeložen pomocí názvu hostitele na vašem klientském počítači, musíte nakonfigurovat svůj soubor /etc/hosts.
Otevřete soubor hosts jako sudo v editoru nano zadáním následujícího příkazu:
$ sudo nano /etc/hosts
Nyní přidejte IP svého NTP serveru a zadejte název hostitele následovně v tomto souboru:
Soubor ukončete stisknutím Ctrl+X a poté jej uložte zadáním y.
Krok 3:Zkontrolujte, zda je čas klientského počítače synchronizován se serverem NTP
Následující příkaz ntpdate vám umožní ručně zkontrolovat, zda je čas synchronizován mezi klientskými a serverovými systémy:
$ sudo ntpdate NTP-server-host
Výstup by měl ideálně ukazovat časový posun mezi dvěma systémy.
Krok 4:Zakažte službu systemd timesyncd na klientovi
Protože chceme, aby náš klient synchronizoval čas se serverem NTP, deaktivujme službu timesyncd na klientském počítači.
Chcete-li to provést, zadejte následující příkaz:
Krok 5:Nainstalujte NTP na klienta
Chcete-li nainstalovat NTP na váš klientský počítač, spusťte následující příkaz jako sudo:
$ sudo apt-get install ntp
Krok 6:Nakonfigurujte soubor /etc/ntp.conf pro přidání vašeho NTP serveru jako nového časového serveru
Nyní chceme, aby náš klientský počítač používal náš vlastní hostitelský server NTP jako výchozí časový server. K tomu potřebujeme upravit soubor /etc/ntp.conf na klientském počítači.
Spusťte následující příkaz jako sudo, abyste otevřeli soubor v editoru Nano:
$ sudo nano /etc/ntp.conf
Poté do souboru přidejte následující řádek, kde NTP-server-host je název hostitele, který jste zadali pro váš server NTP:
server NTP-server-host prefer iburst
Takto vypadá můj soubor po zadání časového serveru:
Stiskněte Ctrl+x pro ukončení souboru a poté zadejte y pro uložení změn.
Krok 7:Restartujte server NTP
Aby se výše uvedené změny projevily, musíte restartovat službu NTP. Chcete-li tak učinit, spusťte následující příkaz jako sudo:
$ sudo service ntp restart
Krok 8:Zobrazení fronty synchronizace času
Nyní jsou vaše klientské a serverové počítače nakonfigurovány tak, aby byly časově synchronizovány. Frontu synchronizace času můžete zobrazit spuštěním následujícího příkazu:
$ ntpq -ps
Měli byste být schopni vidět NTP-server-host jako hostitele/zdroje synchronizace času ve frontě.
To bylo vše, co jste potřebovali vědět o instalaci a konfiguraci NTP pro synchronizaci času na vašich počítačích Ubuntu v síti. Tento proces se může zdát trochu těžkopádný, ale pokud budete pečlivě dodržovat všechny výše uvedené kroky, jeden po druhém, vaše stroje budou synchronizovány během okamžiku.