GNU/Linux >> Znalost Linux >  >> Linux

K synchronizaci času použijte NTP

Pomocí síťového protokolu NTP (Networktime Protocol) můžete snadno udržovat přesné datum a čas systému.

Přesné hodiny na vašem serveru zajistí správnost časových razítek v e-mailech odeslaných z vašeho počítače. Přesné hodiny jsou zvláště užitečné, když se potřebujete podívat na záznamy z konkrétní denní doby.

Pokud si občas nenastavíte systémové hodiny sami, čas se bude od dokonale přesného nastavení pomalu odklánět. Tehdy je NTP užitečné.

Co je NTP?

NTP umožňuje automaticky synchronizovat systémový čas se vzdáleným serverem. NTP lze použít k aktualizaci hodin na počítači se vzdáleným serverem. To udržuje čas vašeho počítače přesný díky synchronizaci se servery, o kterých je známo, že mají přesné časy. NTP také udržuje synchronizované hodiny na několika počítačích, což usnadňuje porovnávání záznamů protokolu pro událost na více serverech.

Je snadné nastavit server NTP, abyste mohli pravidelně upravovat hodiny vašeho počítače. Je také možné to trochu zkomplikovat, pokud potřebujete, aby vaše hodiny byly přesné na milisekundu, nikoli jen na sekundu.

Instalovat

První věc, kterou musíte udělat, je nainstalovat server NTP. Uchopte balíček spuštěním:

Operační systémy Ubuntu / Debian:

sudo aptitude update
sudo aptitude install ntp

CentOS:

sudo yum install ntp

Po instalaci NTP můžete zajistit spuštění služby v době spouštění spuštěním následujícího příkazu:

sudo /sbin/chkconfig ntpd on

Fedora / RHEL:

sudo yum install ntp

Po instalaci NTP můžete zajistit spuštění služby v době spouštění spuštěním následujícího příkazu:

sudo chkconfig ntpd on

Spusťte službu

Chcete-li se ujistit, že se služba NTP spustí po její instalaci, spusťte následující příkaz:

Operační systémy Ubuntu / Debian / CentOS / RHEL :

sudo /etc/init.d/ntp start

Fedora :

sudo /etc/init.d/ntpd start

Jak je obvyklé pro služby Linux®, můžete službu NTP zastavit nebo restartovat spuštěním předchozího příkazu s stop nebo restart jako argument místo start .

Rychlý start

Většina lidí chce pouze spustit NTP a nemusí synchronizovat své hodiny, aby přesně určili přesnost na úrovni milisekund. V tomto případě nemusíte dělat nic jiného. Když nainstalujete NTP, nastaví vám výchozí servery, se kterými se budete synchronizovat, takže NTP automaticky synchronizuje vaše hodiny. Gratulujeme k dobře odvedené práci!

Soubor .ntpconf

Chcete-li použít NTP k synchronizaci několika vlastních počítačů nebo chcete-li zvolit servery NTP jiné než výchozí, naleznete konfigurační soubor NTP na /etc/ntp.conf .

Některá nastavení lze změnit, ale jediná nastavení zajímavá pro většinu uživatelů zahrnují položky serveru. Použijte výchozí nastavení pro vaši konkrétní distribuci Linuxu.

S více než jednou položkou serveru se váš server NTP dotáže všech serverů a vybere čas, na kterém většina dotazovaných serverů souhlasí. Protože NTP používá tři nebo více serverů, vaše hodiny jsou přesnější, než když používá pouze jeden.

Přidání možnosti iBurst za adresu serveru mírně zrychlí synchronizaci NTPtime. I když je to užitečné, není to nezbytné.

Dynamická možnost říká NTP, že může zkusit nakonfigurovaný server znovu později, pokud je v určitém okamžiku nedostupný. Dynamická možnost je užitečná, když NTP běží na počítači, který nemá vždy přístup k internetu. Na počítači s vyhrazeným připojením to není nutné.

Zabezpečení NTP

Chraňte se před útoky na server NTP přidáním disable monitor do vašeho /etc/ntp.conf soubor. Zakázání sledování zabrání nechtěným vzdáleným dotazům, které používají příkazy ze starších verzí NTP, jako je monlist .

Synchronizace více serverů

Pokud máte k synchronizaci více než jeden počítač, je nejlepší určit jeden jako hlavní server NTP. Nastavte hlavní server tak, aby se připojoval k serveru NTP, a poté nechte ostatní stroje synchronizovat s hlavním serverem. Toto nastavení snižuje počet odchozích připojení a zaručuje, že všechny vaše stroje mají nastavený čas na stejnou hodnotu. Tato konfigurace vyžaduje změny nastavení serveru v ntp.conf soubory na každém počítači.

Nastavte všechny externí servery, které chcete používat na hlavním počítači. Pokud například chcete používat servery fondu NTP, můžete nastavit hodnoty serveru v hlavním ntp.conf soubor do:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

Ukažte na ntp.conf na váš hlavní server na každém druhém počítači, který potřebuje synchronizovat čas. Pokud je například váš hlavní servermain.example.com , změnili byste soubor ntp.conf soubory na sekundárních počítačích, takže položky serveru jsou následující:

server main.example.com iburst

Po nastavení parametrů serveru a zajištění toho, že položky iptables neblokují připojení k vašemu hlavnímu serveru NTP, restartujte služby NTP na každém počítači, aby se synchronizovaly.

Úprava iptables

NTP používá UDP port 123 pro své podnikání, buď se připojuje k jinému NTP serveru nebo přijímá příchozí připojení. Pokud máte možnost filtrovat příchozí provoz na hlavním serveru NTP ve vašem clusteru, musíte otevřít port 123 k provozu UDP, aby se k němu mohly připojit další servery. Můžete otevřít port 123 pro provoz UDP s následujícími argumenty iptables:

-I INPUT -p udp --dport 123 -j ACCEPT
-I OUTPUT -p udp --sport 123 -j ACCEPT

Výběr serveru NTP

Při synchronizaci jednoho nebo více počítačů přes NTP chcete, aby alespoň jeden z nich nastavil svůj čas ze spolehlivého externího serveru. Mnoho veřejných serverů je buď synchronizováno přímo z atomových hodin (zaručující absolutně přesný čas), nebo z jiného serveru, který se synchronizuje s atomovými hodinami.

Veřejné seznamy serverů NTP

Nejlepším zdrojem seznamů veřejných NTP serverů je NTP ServersWebHome na hlavním serveru NTP. Stránka obsahuje popis dostupných serverů a postranní panel obsahuje odkazy na tři úrovně serverů NTP:Primární, sekundární a fond.

Rozhodnutí, ze kterého typu serveru se bude synchronizovat, závisí na tom, jak přesné servery potřebujete.

Servery fondu NTP

Pro většinu uživatelů jsou servery fondu tou nejlepší volbou. Pool servery jsou stroje, které se dobrovolně rozhodly zpřístupnit svůj NTP server veřejnosti. Obvykle se synchronizují ze sekundárního serveru NTP, takže jejich čas je přesný, ale nemusí být nutně přesný na nejbližší milisekundu.

Většina uživatelů nepotřebuje svůj strojový čas s přesností na nejbližší milisekundu; jen chtějí vědět, kolik je hodin. Používejte bazénové servery, pokud nepotřebujete přesnou přesnost.

Použití serverů fondu NTP je stejně snadné jako nastavení položek serveru ve vašem ntp.conf soubor do:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

Chcete-li zajistit, že se připojujete pouze k serverům fondu ve vaší zemi nebo regionu, navštivte stránku serverů fondu, kde najdete konkrétnější adresy. Pro většinu lidí jsou výše uvedené položky více než dostatečné. Tyto adresy rotují mezi obrovským seznamem dobrovolných NTP serverů po celém světě, takže zatížení žádného počítače nikdy není příliš velké.

Pokud chcete přispívat do fondu NTP poté, co jste nastavili svůj NTP server, získejte podrobnosti o tom, jak to udělat, na webu fondu.

Primární a sekundární servery

Další dvě vrstvy serverů NTP jsou primární a sekundární servery. Primární server získává čas přímo z atomových hodin (nebo ze satelitů GPS, které atomové hodiny používají). Atomové hodiny jsou drahé, takže primárních serverů není mnoho. Nemusíte používat primární server, pokud nehledáte extrémní vědeckou přesnost.

Sekundární server obvykle získává svůj čas z primárního serveru. Pokud chcete přesnost až na úroveň milisekund, mít v ntp.conf tři sekundární servery funguje dobře.

Výběrem některého ze seznamů z NTP ServersWebHome můžete zjistit, jaké veřejné servery jsou dostupné v obou vrstvách. Před výběrem a použitím serveru zkontrolujte podrobnosti o tomto serveru následovně:

  • ISO: Sloupec ISO uvádí zemi původu daného serveru.
  • Zásady přístupu: Pole AccessPolicy vám říká, jaké jsou zásady přístupu pro daný server. Otevřený přístup znamená, že server může být používán veřejností, s výhradou jakýchkoli požadavků na upozornění, které server má.
  • Upozornit: V poli Upozornit pro sekundární servery jsou uvedeny předvolby správce serveru ohledně toho, zda by měl být upozorněn před synchronizací s jejich serverem NTP. Správci, kteří chtějí být informováni, se obvykle snaží řídit provoz na svém serveru, takže si buďte jisti a respektujte jejich přání týkající se upozornění. Upozorňujeme, že primární servery jsou vždy považovány za vyžadující upozornění před použitím.
  • Obsluhovaná oblast: Pokud jste vybrali primární nebo sekundární server, který chcete použít, kliknutím na jeho název hostitele v seznamu zobrazíte další podrobnosti o tomto serveru. Mezi uvedenými podrobnostmi je Servisní oblast pole, které popisuje geografickou nebo demografickou skupinu, které chtějí sloužit. Pokud je toto pole Veřejné , nemusíte být v konkrétní oblasti, abyste mohli server používat. Pokud uvádějí konkrétnější oblast služeb, nezapomeňte v tomto ohledu respektovat přání správce serveru.

Testování pomocí ntpdate

Než použijete externí NTP server k synchronizaci času, měli byste se ujistit, že se můžete skutečně připojit k serveru ze svého počítače. Naštěstí existuje nástroj, který je součástí NTP serveru s názvemntpdate .

ntpdate příkaz synchronizuje vaše hodiny se serverem NTP. Je to podobné tomu, co NTP server dělá pravidelně. ntpd program je samostatný balíček pro operační systémy Ubuntu® a Debian®. Ostatní distribuce instalují ntpdate v době instalace ntpd. Použijte ntpdate , uživatelé operačního systému Ubuntu a Debian jej musí nejprve nainstalovat.

sudo aptitude install ntpdate

Nastavte si hodiny tak, aby se synchronizovaly v časech, které určíte pomocí cron spustitntpdate . V opačném případě spusťte server NTP, protože využívá menší šířku pásma a přesněji udržuje čas sledováním posunu hodin v průběhu času a odpovídajícím nastavením. Použijte ntpdate pouze pro testovací účely.

ntpdate příkaz se nespustí, když je spuštěn NTP server. Pokud jste spustili ntpdate a dostanete odpověď jako „NTP socket is in use“, to znamená, že váš NTP server běží. Zastavte jej pomocí příslušného příkazu pro vaši distribuci:

Operační systémy Ubuntu / Debian

sudo /etc/init.d/ntp stop

CentOS / Fedora / RHEL

sudo /etc/init.d/ntpd stop

Nyní můžete spustit ntpdate se serverem, se kterým chcete synchronizovat jako argument. Chcete-li například sdělit ntpdate pro pokus o synchronizaci s „pool.ntp.org“ spusťte následující příkaz:

sudo ntpdate pool.ntp.org

Po dokončení testování nezapomeňte restartovat NTP:

Operační systémy Ubuntu / Debian

sudo /etc/init.d/ntp start

CentOS / Fedora / RHEL

sudo /etc/init.d/ntpd start

Přehled

Naštěstí je synchronizace času NTP docela snadná. Poté, co nastavíte časové servery a spustíte službu NTP, tato služba provádí svou práci tiše na pozadí.

Pokud má NTP nějaké problémy, zaznamená je do systémového protokolu, který byste každopádně měli pravidelně kontrolovat.

Další podrobnosti o nastavení serveru NTP a dostupných možnostech naleznete na stránce dokumentace NTP. Pokud se chcete dozvědět více o tom, jak NTP funguje, přejděte na hlavní web NTP a vše bude odhaleno.


Linux
  1. Time Sync Linux

  2. Time Sync Linux

  3. Linux – synchronizace času NTP trvá dlouho?

  1. Jak nastavit časové pásmo a synchronizovat čas serveru s NTP v Linuxu

  2. Synchronizujte čas serveru Linux se serverem času sítě

  3. Jak synchronizovat čas pomocí NTP na serveru Ubuntu?

  1. Kdy použít dedikovaný server

  2. Čas aktualizace:ntpdate[3108]:soket NTP se používá, ukončuje se

  3. Architektura NTP serveru