Ntpd vynucená synchronizace. Instalace a konfigurace časového serveru ntp v Linuxu. Metody pro specifikaci NTP serveru

NTP je síťový protokol pro synchronizaci času. Klienti se v podstatě dotazují serveru na aktuální čas a používají jej k nastavení vlastních hodin.

Tento jednoduchý popis v sobě skrývá mnoho složitostí – existují úrovně NTP serverů, kde první úroveň je napojena na atomové hodiny a druhá a třetí úroveň serverů rozděluje zátěž na aktuální požadavky z internetu. Klientská aplikace je navíc složitější, než byste si mysleli – kompenzuje zpoždění připojení a upravuje načasování tak, aby nepoškozovalo ostatní procesy běžící na serveru. Ale naštěstí je před vámi všechna tato složitost skryta!

Ubuntu používá ntpdate a ntpd.

ntpdate

Ubuntu je standardně dodáváno s ntpdate a spustí jej jednou při každém spuštění, aby nastavil čas proti serveru Ubuntu NTP.

Ntpdate -s ntp.ubuntu.com

ntpd

Služba NTP ntpd vypočítá drift vašich systémových hodin a neustále je upravuje, takže nedochází k velkým změnám, které by mohly vést k nekonzistenci v protokolech. Za cenu toho je malá spotřeba procesoru a RAM, ale pro moderní server to není podstatné.

Instalace

Chcete-li nainstalovat ntpd z terminálu, zadejte:

Sudo apt-get install ntp

Nastavení

Chcete-li přidat/odebrat servery, upravte soubor /etc/ntp.conf. Ve výchozím nastavení jsou tyto servery:

# Používejte servery z projektu NTP Pool Project. Schváleno technickou radou Ubuntu # dne 2011-02-08 (LP: #104525). Další informace najdete na http://www.pool.ntp.org/join.html. server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org

Po změně konfiguračního souboru je třeba restartovat ntpd:

Restartování služby sudo ntp

Zobrazit stav

Pro zobrazení dalších informací použijte ntpq:

# sudo ntpq -p vzdálené refid st t při dosažení zpoždění zpoždění offset jitter ==================================== = =================================================== ========= +stratum2-2.NTP. 129.70.130.70 2 u 5 64 377 68.461 -44.274 110.334 +ntp2.m-online.n 212.18.1.106 2 u 5 64 377 54.629 -257.316 DC.1 Fa. 1 u 10 64 377 83,607 -30,159 68,343 +stratum2-3.NTP. 129.70.130.70 2 u 5 64 357 68.795 -68.168 104.612 +europium.canoni 193.79.237.14 2 u 63 64 337 81.534 -67.968

Time management je jedním z klíčových aspektů správy systému. Všechny klientské servery a pracovní stanice obvykle synchronizují čas s doménou Active Directory, ale odkud pochází přesný čas v AD? Záleží na různých faktorech. Ve standardní konfiguraci je čas synchronizován se servery společnosti Microsoft a virtuální stroje obvykle přijímají data z hostitelského serveru.

Nejlepší je nastavit pro všechny počítače v podnikové síti jediný zdroj dat o přesném čase – server (nebo více serverů), se kterým budou všechny systémy synchronizovány. Může to být zdroj nebo fond zdrojů na internetu nebo místní server. Tak či onak se vyplatí rozhodnout o zdroji přesného času předem.

Síťový protokol je zodpovědný za synchronizaci počítačů a serverů Windows Network Time Protocol (NTP). NTP používá pro svou činnost výchozí UDP port 123 Abyste mohli v budoucnu nakonfigurovat provoz tohoto síťového protokolu, musíte zkontrolovat, zda tento port není blokován firewallem.

Metody pro specifikaci NTP serveru.

1) tým w32tm umožňuje zadat seznam peerů, kteří poskytují informace o přesném čase pro doménu. Další informace o příkazu w32tm získáte zadáním následujícího příkazu na příkazovém řádku w32tm/?
První věc, kterou musíte udělat, je zjistit, v jakém stavu jsou řadiče domény v doméně. Chcete-li to provést, spusťte příkaz na příkazovém řádku (pokud máte práva správce domény, můžete příkazový řádek spustit na své pracovní stanici)
w32tm/monitor- příkaz vám umožňuje vidět, se kterým serverem (servery)/službou dochází k synchronizaci a jaký je časový rozdíl s referenčním severem.
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update- tímto příkazem určíme, která služba/server proběhne synchronizace (v tomto příkladu s time.windows.com).
Tento příkaz se jednou provede na řadiči domény a zapíše zadané adresy do registru (na cestě HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\Parametrs v parametru NTPServer musí být uvedeno jako time.windows.com). Můžete zadat více serverů najednou, oddělených mezerami.


2) Dalším způsobem, jak sdělit řadiči domény server, se kterým se bude včas synchronizovat, je prostřednictvím místních nebo skupinových zásad. Spuštění registru - Klikněte na tlačítko Start, vyberte Spustit, zadejte do příkazového řádku gpedit.msc a stiskněte tlačítko OK. Přejděte na „Konfigurace počítače – Zásady – Šablony pro správu – Systém – Služba Windows Time – Poskytovatelé času“ a nakonfigurujte zásady. V tomto příkladu zapíšeme do hodnoty NTPServer time.windows.com, v hodnotě Typ uvedeme NTP. Typ – označuje uzly partnerské sítě, které přijímají následující typy synchronizace:
NoSync- Časová služba se nesynchronizuje s jinými zdroji.
NTP-Časová služba se synchronizuje se servery zadanými v položce registru NtpServer.
NT5DS-Časová služba provádí synchronizaci na základě hierarchie domény.
AllSync-Časová služba využívá všechny dostupné synchronizační mechanismy.

Význam CrossSiteSyncFlags vybrat 2.

CrossSiteSyncFlags. Určuje, zda služba může vybrat partnery pro synchronizaci mimo doménu počítače.
Ne 0
Pouze Pdc 1
Všechny 2

Ve smyslu ResolvePeerBackoffMinutes píšeme 15

ResolvePeerBackoffMinutes – Určuje počáteční interval čekání (v minutách) před vyhledáním partnera k synchronizaci. Pokud se službě Windows Time nepodaří úspěšně synchronizovat se zdrojem času, pokusí se znovu použít zadané hodnoty parametrů ResolvePeerBackoffMinutes a ResolvePeerBackoffMaxTimes.

Ve smyslu ResolvePeerBackoffMaxTimes napsat 7

ResolvePeerBackoffMaxTimes – Určuje maximální počet zdvojnásobení intervalu čekání, pokud opakované pokusy o nalezení partnera pro synchronizaci selžou. Hodnota nula předpokládá, že interval čekání je vždy roven původnímu intervalu zadanému v parametru ResolvePeerBackoffMinutes.

Ve smyslu SpecialPollInterval registrujeme 3600

SpecialPollInterval – Určuje speciální interval dotazování (v sekundách) pro ručně nakonfigurované partnery. Pokud je povoleno vlastní dotazování, služba Windows Time použije svůj interval namísto dynamické hodnoty určené synchronizačními algoritmy zabudovanými do služby Windows Time.

Pokud jste vytvořili zásady, musí být aplikovány na všechny řadiče domény.


Operační systémy rodiny Windows obsahují časovou službu W32Time. Tato služba je navržena tak, aby synchronizovala čas v rámci organizace. W32Time zodpovídá za provoz klientské i serverové části časové služby a stejný počítač může být současně klientem i serverem NTP (Network Time Protocol).

Ve výchozím nastavení je časová služba systému Windows nakonfigurována takto:

Při instalaci operačního systému Windows spustí klienta NTP, který se synchronizuje s externím zdrojem času;

Když přidáte počítač do domény, změní se typ synchronizace. Všechny klientské počítače a členské servery v doméně používají řadič domény k synchronizaci času, který ověřuje jejich pravost;

Když je členský server povýšen na řadič domény, spustí se na něm server NTP, který jako zdroj času používá řadič s rolí emulátoru primárního řadiče domény;

Emulátor primárního řadiče domény umístěný v kořenové doméně doménové struktury je primárním časovým serverem pro celou organizaci. Zároveň je sám také synchronizován s externím zdrojem času.

Toto schéma funguje ve většině případů a nevyžaduje zásah. Struktura časové služby v systému Windows však nemusí odpovídat hierarchii domény a jako spolehlivý zdroj času lze označit jakýkoli počítač.

Jako příklad se podívejme na nastavení serveru NTP v systému Windows Server 2008 R2 analogicky můžete nastavit server NTP v systému Windows 7.

Spuštění serveru NTP

Služba Windows Server Time Service nemá grafické uživatelské rozhraní a konfiguruje se buď z příkazového řádku nebo přímou úpravou systémového registru. Podívejme se na druhý způsob:

Je třeba spustit NTP server. Otevřete větev registru:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.

Pro povolení NTP serveru musí být parametr Enabled nastaven na 1. Poté restartujeme časovou službu příkazem net stop w32time && net start w32time.

Po restartování služby NTP je server již aktivní a může obsluhovat klienty. Můžete to ověřit pomocí příkazu w32tm /query /configuration. Tento příkaz zobrazí úplný seznam parametrů služby. Pokud sekce NtpServer obsahuje řádek Enabled:1 , pak je vše v pořádku, časový server běží.

Aby NTP server obsluhoval klienty, musí firewall otevřít UDP port 123 pro příchozí a odchozí provoz.

Základní nastavení NTP serveru

Otevřete větev registru:

HKLM\System\CurrentControlSet\services\W32Time\Parameters.

NoSync - NTP server není synchronizován s žádným externím zdrojem času. Používají se systémové hodiny zabudované do CMOS čipu samotného serveru (tyto hodiny lze zase synchronizovat ze zdroje NMEA například přes RS-232);

NTP – NTP server se synchronizuje s externími časovými servery, které jsou specifikovány v parametru registru NtpServer;

NT5DS - NTP server se synchronizuje podle hierarchie domény;

AllSync - NTP server používá pro synchronizaci všechny dostupné zdroje.

Výchozí hodnota pro počítač, který je součástí domény, je NT5DS, pro samostatný počítač je to NTP.

Parametr NtpServer určuje servery NTP, se kterými bude tento server synchronizovat čas. Ve výchozím nastavení tento parametr obsahuje server Microsoft NTP (time.windows.com, 0×1, v případě potřeby můžete přidat několik dalších serverů NTP zadáním jejich DNS jmen nebo IP adres oddělených mezerou). Na konec každého jména můžete přidat příznak (např. ,0×1), který určuje režim synchronizace s časovým serverem.

Jsou povoleny následující hodnoty režimu:

0×1 - SpecialInterval, použití časového intervalu dotazování;

0×2 – režim UseAsFallbackOnly;

0×4 – SymmetricActive, symetrický aktivní režim;

0×8 – Klient, odesílá požadavek v klientském režimu.

Další důležité nastavení AnnounceFlags se nachází v klíči registru:

HKLM\System\CurrentControlSet\services\W32Time\Config.

Je zodpovědný za to, jak se NTP server ohlásí. Chcete-li deklarovat členský server (nikoli řadič domény) jako spolehlivý zdroj času, je zapotřebí příznak 5.

Pokud je konfigurovaným serverem NTP klient (přijímá čas z přijímače GPS například přes NTP), můžete nakonfigurovat interval mezi aktualizacemi. Tento parametr může být relevantní také pro klientské počítače. Klíč SpecialPollInterval umístěný ve větvi registru je zodpovědný za čas aktualizace:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient.

Udává se v sekundách a ve výchozím nastavení je jeho hodnota 604800, což je 1 týden. Je to hodně, takže Vyplatí se snížit hodnotu SpecialPollInterval na rozumnou hodnotu – 1 hodinu (3600).

Po konfiguraci je třeba aktualizovat konfiguraci služby. To lze provést pomocí příkazu w32tm /config /update.


A několik dalších příkazů pro konfiguraci, sledování a diagnostiku časové služby:

w32tm /monitor - pomocí této volby můžete zjistit, jak se liší systémový čas tohoto počítače od času na doménovém řadiči nebo jiných počítačích. Například: w32tm/monitor/computers:time.nist.gov

w32tm /resync - pomocí tohoto příkazu můžete vynutit synchronizaci počítače s časovým serverem, který používá.

w32tm /stripchart – zobrazuje časový rozdíl mezi aktuálním a vzdáleným počítačem. tým w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly provede 5 porovnání se zadaným zdrojem a výsledek zobrazí v textové podobě.


w32tm /config je hlavní příkaz používaný ke konfiguraci služby NTP. S jeho pomocí můžete nastavit seznam používaných časových serverů, typ synchronizace a mnoho dalšího. Pomocí příkazu můžete například přepsat výchozí hodnoty a nastavit synchronizaci času s externím zdrojem w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update


w32tm /query - zobrazuje aktuální nastavení služby. Například příkaz w32tm /query /source zobrazí aktuální zdroj času a příkaz w32tm /query /configuration zobrazí všechny parametry služby.

net stop w32time - zastaví službu času, pokud běží.

w32tm /unregister - odebere časovou službu z počítače.

w32tm /register – registruje časovou službu v počítači. V tomto případě se celá větev parametrů v registru vytvoří znovu.

net start w32time - spustí službu.

Funkce zaznamenané ve Windows 7 – časová služba se nespustí automaticky při startu Windows. Opraveno v SP1 pro Windows 7.

Nastavení serveru NTP ve Windows

Od Windows 2000 obsahují všechny operační systémy Windows časovou službu W32 Čas. Tato služba je navržena tak, aby synchronizovala čas v rámci organizace. W32Time zodpovídá za provoz klientské i serverové části časové služby a stejný počítač může být současně klientem i serverem NTP (Network Time Protocol).

Ve výchozím nastavení je časová služba systému Windows nakonfigurována takto:

Při instalaci operačního systému Windows spustí klienta NTP a synchronizuje se s externím zdrojem času;
Když přidáte počítač do domény, změní se typ synchronizace. Všechny klientské počítače a členské servery v doméně používají řadič domény k synchronizaci času, který ověřuje jejich pravost;
Když je členský server povýšen na řadič domény, spustí se na něm server NTP, který jako zdroj času používá řadič s rolí emulátoru primárního řadiče domény;
Emulátor primárního řadiče domény umístěný v kořenové doméně doménové struktury je primárním časovým serverem pro celou organizaci. Zároveň je sám také synchronizován s externím zdrojem času.

Toto schéma funguje ve většině případů a nevyžaduje zásah. Struktura časové služby ve Windows však nemusí dodržovat hierarchii domény a jako spolehlivý zdroj času lze označit jakýkoli počítač. Jako příklad popíšu nastavení serveru NTP v systému Windows Server 2008 R2, i když se postup od systému Windows 2000 příliš nezměnil.

Spuštění serveru NTP

Okamžitě bych měl poznamenat, že časová služba v systému Windows Server (od roku 2000 do roku 2012) nemá grafické rozhraní a konfiguruje se buď z příkazového řádku nebo přímou úpravou systémového registru. Osobně preferuji druhý způsob, takže pojďme do registru.

Takže první věc, kterou musíme udělat, je spustit server NTP. Otevřete větev registru
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
Zde povolíte parametr serveru NTP Povoleno je potřeba nastavit hodnotu 1 .

Poté příkazem restartujeme časovou službu net stop w32time && net start w32time

Po restartování služby NTP je server již aktivní a může obsluhovat klienty. Můžete to ověřit pomocí příkazu w32tm /query /configuration. Tento příkaz zobrazí úplný seznam parametrů služby. Pokud oddíl NtpServer obsahuje řetězec Povoleno: 1, pak je vše v pořádku, časový server běží.

Aby NTP server obsluhoval klienty, nezapomeňte na firewallu otevřít UDP port 123 pro příchozí a odchozí provoz.

Základní nastavení NTP serveru

NTP server byl povolen, nyní jej musíme nakonfigurovat. Otevřete větev registru HKLM\System\CurrentControlSet\services\W32Time\Parameters. Zde nás zajímá především parametr Typ, který určuje typ synchronizace. Může nabývat následujících hodnot:

NoSync - Server NTP není synchronizován s žádným externím zdrojem času. Používá hodiny zabudované do CMOS čipu samotného serveru;
NTP - Server NTP je synchronizován s externími časovými servery, které jsou určeny v nastavení registru NtpServer;
NT5DS - NTP server se synchronizuje podle hierarchie domény;
AllSync - NTP server používá pro synchronizaci všechny dostupné zdroje.

Výchozí hodnota pro počítač, který je součástí domény, je NT5DS, pro samostatný počítač - NTP.

A parametr NtpServer, který určuje servery NTP, se kterými bude tento server synchronizovat čas. Ve výchozím nastavení tento parametr obsahuje server Microsoft NTP (time.windows.com, 0x1, v případě potřeby můžete přidat několik dalších serverů NTP zadáním jejich názvů DNS nebo IP adres oddělených mezerou). Můžete vidět například seznam dostupných časových serverů.

Na konec každého jména můžete přidat vlajku (např. ,0x1), který definuje režim synchronizace s časovým serverem. Jsou povoleny následující hodnoty:

0x1– SpecialInterval, použití speciálního intervalu dotazování;
0x2– Režim UseAsFallbackOnly;
0x4– SymmetricActive, symetrický aktivní režim;
0x8– Klient, odeslání požadavku v klientském režimu.

Při použití příznaku SpecialInterval musí být hodnota intervalu nastavena v klíči SpecialPollInterval. Když je nastaven příznak UseAsFallbackOnly, časová služba je informována, že tento server bude použit jako záloha a před synchronizací s ním budou uskutečněna volání na jiné servery v seznamu. NTP servery standardně používají symetrický aktivní režim a v případě problémů se synchronizací lze použít klientský režim. Můžete vidět více o režimech synchronizace, nebo se neobtěžujte a jednoduše si ji nainstalujte všude ,0x1(jak radí Microsoft).

Další důležitý parametr AnnounceFlags umístěný v klíči registru HKLM\System\CurrentControlSet\services\W32Time\Config. Je zodpovědný za to, jak se NTP server ohlásí a může nabývat následujících hodnot:

0x0 ( Není časový server) - server se nepropaguje prostřednictvím NetLogon jako zdroj času. Může reagovat na požadavky NTP, ale sousedé jej nebudou schopni rozpoznat jako zdroj času;
0x1(Always time server) - server se vždy ohlásí, bez ohledu na jeho stav;
0x2(Automatický časový server) - server se ohlásí pouze v případě, že obdrží spolehlivý čas od jiného souseda (NTP nebo NT5DS);
0x4(Vždy spolehlivý časový server) - server se bude vždy deklarovat jako spolehlivý zdroj času;
0x8(Automatický spolehlivý časový server) – řadič domény je automaticky prohlášen za spolehlivý, pokud jde o emulátor PDC kořenové domény doménové struktury. Tento příznak umožňuje hlavnímu PDC doménové struktury prosadit se jako autorizovaný zdroj času pro celou doménovou strukturu, a to i v případě absence komunikace s nadřazenými servery NTP. Žádný jiný řadič nebo členský server (který má výchozí příznak 0x2) se nemůže etablovat jako spolehlivý zdroj času, pokud pro sebe nemůže najít zdroj času.

Význam AnnounceFlags je součet příznaků, které jej tvoří, například:

10=2+8 - NTP server se deklaruje jako spolehlivý zdroj času za předpokladu, že sám přijímá čas ze spolehlivého zdroje nebo je PDC kořenové domény. Příznak 10 je standardně nastaven pro členy domény i pro samostatné servery.

5=1+4 - NTP server se vždy deklaruje jako spolehlivý zdroj času. Chcete-li například deklarovat členský server (nikoli řadič domény) jako spolehlivý zdroj času, je zapotřebí příznak 5.

No, nastavíme interval mezi aktualizacemi. Může za to již výše zmíněný klíč SpecialPollInterval, umístěný ve větvi registru HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. Udává se v sekundách a ve výchozím nastavení je jeho hodnota 604800, což je 1 týden. To je hodně, takže se vyplatí snížit hodnotu SpecialPollInterval na rozumnou hodnotu, řekněme 1 hodinu (3600).

Po konfiguraci je třeba aktualizovat konfiguraci služby. To lze provést pomocí příkazu w32tm /config /update. A několik dalších příkazů pro konfiguraci, sledování a diagnostiku časové služby:

w32tm /monitor - pomocí této volby můžete zjistit, jak se liší systémový čas tohoto počítače od času na doménovém řadiči nebo jiných počítačích. Například: w32tm/monitor/computers:time.nist.gov
w32tm /resync - pomocí tohoto příkazu můžete vynutit synchronizaci počítače s časovým serverem, který používá.
w32tm /stripchart – zobrazuje časový rozdíl mezi aktuálním a vzdáleným počítačem a umí zobrazit výsledek v grafické podobě. Například příkaz w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly provede 5 porovnání se zadaným zdrojem a výsledek zobrazí v textové podobě.

w32tm /config je hlavní příkaz používaný ke konfiguraci služby NTP. S jeho pomocí můžete nastavit seznam používaných časových serverů, typ synchronizace a mnoho dalšího. Pomocí příkazu můžete například přepsat výchozí hodnoty a nastavit synchronizaci času s externím zdrojem w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query - zobrazuje aktuální nastavení služby. Například příkaz w32tm /query /source zobrazí aktuální zdroj času a příkaz w32tm /query /configuration zobrazí všechny parametry služby.

No, jako poslední možnost :)
w32tm /unregister - odebere časovou službu z počítače.
w32tm /register – registruje časovou službu v počítači. V tomto případě se celá větev parametrů v registru vytvoří znovu.




Horní