GNU/Linux >> Znalost Linux >  >> Ubuntu

Server NTP Ubuntu 20.04

NTP je zkratka pro National Time Protocol a používá se pro synchronizaci hodin mezi více počítači. Server NTP je zodpovědný za udržování sady počítačů ve vzájemné synchronizaci. V lokální síti by měl být server schopen udržet všechny klientské systémy v rozmezí jedné milisekundy od sebe navzájem.

Taková konfigurace by byla nezbytná, pokud by například systémy potřebovaly spustit nebo zastavit úlohu současně v přesný čas. V tomto článku vám ukážeme, jak nakonfigurovat server NTP na Ubuntu 20.04 Focal Fossa a jak nakonfigurovat klientský systém pro synchronizaci systémového času s uvedeným serverem.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat a nakonfigurovat server NTP
  • Jak se připojit k serveru NTP z klientského počítače

Server NTP Ubuntu 20.04

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Nainstalováno Ubuntu 20.04 nebo upgradované Ubuntu 20.04 Focal Fossa
Software Démon serveru NTP
Jiné Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Nainstalovat server NTP

Pro začátek musíme nainstalovat NTP server. Můžete tak učinit otevřením terminálu a zadáním následujícího příkazu:

$ sudo apt install ntp

Konfigurace serveru NTP

NTP server je již předkonfigurován s některými serverovými fondy, které můžete vidět v /etc/ntp.conf soubor.

$ cat /etc/ntp.conf

Výchozí serverové fondy v našem konfiguračním souboru NTP

Obecně je nejlepší nahradit tyto řádky serverovými fondy z vaší země nebo alespoň vašeho kontinentu. Čím menší latence mezi vámi a časovým serverem, tím lépe. Web NTP Pool Project můžete použít k nalezení nejbližšího fondu NTP serverů k vašemu umístění.

Najděte své nejbližší serverové fondy na webu NTP Pool Project

Jakmile najdete nejrelevantnější zónu, vše, co musíte udělat, je přidat řádky do konfiguračního souboru pomocí nano nebo vašeho preferovaného textového editoru:

$ sudo nano /etc/ntp.conf

Zadejte servery do konfiguračního souboru NTP

Jakmile provedete tyto změny, uložte a ukončete konfigurační soubor. Restartujte službu NTP, aby se změny projevily:

$ sudo systemctl restart ntp

Stav služby NTP můžete kdykoli zkontrolovat pomocí tohoto příkazu:

$ sudo systemctl status ntp

Stav démona serveru NTP

Klienti, kteří se pokoušejí připojit k vašemu serveru NTP, tak učiní na portu UDP 123 . Pokud máte ve svém systému povolenou bránu firewall UFW, nezapomeňte ji nakonfigurovat tak, aby povolovala tyto požadavky na příchozí připojení:

$ sudo ufw allow from any to any port 123 proto udp
Rules updated
Rules updated (v6)

Konfigurace klienta NTP

Nyní, když máme NTP server v provozu, ukážeme si, jak se k němu klientské systémy mohou připojit pro synchronizaci času. Na svých klientských systémech postupujte podle následujících kroků:

  1. Nejprve musíme nainstalovat ntpdate balík. Můžeme to použít k ověření konektivity mezi klientem a časovým serverem NTP, který jsme vytvořili.
    $ sudo apt install ntpdate
    
  2. Dále se pokusíme ručně synchronizovat náš systémový čas se serverem NTP. Zadejte následující příkaz a nahraďte IP adresu nebo název hostitele vašeho NTP serveru tam, kde je to vhodné:
    $ sudo ntpdate 192.168.1.55
    

    Připojení k serveru NTP bylo úspěšné

  3. Zdá se, že to funguje tak, jak bychom očekávali. Dále nezapomeňte deaktivovat výchozí timesyncd Ubuntu služba, protože to bude v rozporu s našimi pokusy o synchronizaci se serverem NTP.
    $ sudo timedatectl set-ntp off
    
  4. Nyní potřebujeme nainstalovat démona NTP do našeho klientského systému, abychom jej mohli nakonfigurovat tak, aby stahoval čas z našeho NTP serveru, který jsme nastavili dříve.
    $ sudo apt install ntp
    
  5. Potřebujeme přidat pouze jeden řádek do našeho ntp.conf soubor a můžeme to udělat velmi snadno pomocí jediného příkazu. Jen nezapomeňte nahradit IP adresu níže buď názvem hostitele nebo IP adresou vašeho NTP serveru.
    $ sudo bash -c "echo server 192.168.1.55 prefer iburst >> /etc/ntp.conf" 
    
  6. Potom restartujte démona NTP:
    $ sudo systemctl restart ntp
    
  7. Nakonec použijte ntpq příkaz k zobrazení fronty synchronizace času NTP:
    $ ntpq -p
    

    Výstup z příkazu ntpq

    Hvězdička * na obrázku výše ukazuje, že náš server NTP 192.168.1.55 je vybrán jako aktuální zdroj synchronizace času. To by mělo zůstat, pokud NTP server nepřejde do režimu offline, protože tak jsme jej nakonfigurovali v ntp.conf konfigurační soubor.

    Přečtěte si níže uvedený dodatek pro více informací o tom, jak interpretovat ntpq výstup příkazu.

Příloha

Interpretace výstupu sloupce příkazu NTPQ :

  • dálkové – Vzdálený server, se kterým chcete synchronizovat hodiny
  • refid – Odchozí vrstva na vzdálený server. Pro servery vrstvy 1 to bude zdroj vrstvy 0.
  • st – Úroveň vrstvy, 0 až 16.
  • t – Typ připojení. Může být „u“ pro unicast nebo manycast, „b“ pro broadcast nebo multicast, „l“ pro místní referenční hodiny, „s“ pro symetrický peer, „A“ pro server manycast, „B“ pro broadcast server nebo „M“ pro multicast server
  • kdy – Poslední čas, kdy byl server pro daný čas dotazován. Výchozí nastavení je sekund, nebo se zobrazí „m“ pro minuty, „h“ pro hodiny a „d“ pro dny.
  • anketa – Jak často je server dotazován po dobu, minimálně 16 sekund až maximálně 36 hodin. Zobrazuje se také jako hodnota od mocniny dvou. Obvykle je to mezi 64 sekundami a 1024 sekundami.
  • dosah – Toto je osmibitová osmibitová hodnota posunu vlevo, která ukazuje míru úspěšnosti a selhání komunikace se vzdáleným serverem. Úspěch znamená, že bit je nastaven, selhání znamená, že bit není nastaven. 377 je nejvyšší hodnota.
  • zpoždění – Tato hodnota se zobrazuje v milisekundách a ukazuje dobu zpětné cesty (RTT) vašeho počítače komunikujícího se vzdáleným serverem.
  • posun – Tato hodnota se zobrazuje v milisekundách pomocí středních mocnin a ukazuje, jak daleko jsou vaše hodiny od nahlášeného času, který vám server poskytl. Může být pozitivní nebo negativní.
  • jitter – Toto číslo je absolutní hodnota v milisekundách, která ukazuje střední druhou mocninu odchylky vašich offsetů.

Interpretace výstupu příkazového řádku NTPQ :

  • “ „ Zahozeno jako neplatné. Je možné, že nemůžete komunikovat se vzdáleným počítačem (není online), tento časový zdroj je „.LOCL“. zdroj času refid, je to server s vysokou vrstvou nebo vzdálený server používá tento počítač jako server NTP.
  • x Zahozeno algoritmem křižovatky.
  • . Zahozeno přetečením tabulky (nepoužito).
  • Zahozeno shlukovým algoritmem.
  • + Zahrnuto v kombinačním algoritmu. Toto je dobrý kandidát, pokud je aktuální server, se kterým provádíme synchronizaci, z nějakého důvodu zahozen.
  • # Dobrý vzdálený server pro použití jako alternativní záloha. Toto se zobrazí pouze v případě, že máte více než 10 vzdálených serverů.
  • * Současný systémový kolega. Počítač používá tento vzdálený server jako zdroj času k synchronizaci hodin
  • o Puls za sekundu (PPS) peer. To se obecně používá se zdroji času GPS, i když jakýkoli časový zdroj poskytující PPS bude stačit. Tento záznamový kód a předchozí záznamový kód „*“ se nebudou zobrazovat současně.

Ref:https://pthree.org/2013/11/05/real-life-ntp/

Závěr

V tomto článku jsme se dozvěděli o National Time Protocol (NTP) a jak nastavit náš vlastní NTP server na Ubuntu 20.04 Focal Fossa. Také jsme viděli, jak nakonfigurovat klientský počítač (nebo více počítačů, jak je obvykle zvykem) pro připojení k serveru NTP pro synchronizaci času.


Ubuntu
  1. Jak nastavit NTP server na Ubuntu a LinuxMint

  2. Nastavte server Urbackup na Ubuntu 20.04

  3. Ubuntu – Vcenter Server na Linuxu?

  1. GUI serveru Ubuntu

  2. Logo serveru Ubuntu

  3. Ikona serveru Ubuntu

  1. Instalace serveru Ubuntu 20.04

  2. Instalace Ubuntu 20.04 PostgreSQL

  3. Nastavení serveru Ubuntu 20.04 Minecraft