NTP je zkratka pro Network Time Protocol.
Používá se k synchronizaci času na vašem systému Linux s centralizovaným serverem NTP.
Místní server NTP v síti lze synchronizovat s externím zdrojem časování, aby byly všechny servery ve vaší organizaci synchronizovány s přesným časem.
I. Nakonfigurujte server NTP
1. Nainstalujte NTP Server
Nejprve nainstalujte balíček NTP na svůj server pomocí příslušného nástroje pro správu balíčků, který je k dispozici ve vaší distribuci Linuxu.
Například na RedHat nebo CentOS použijte yum k instalaci ntp, jak je uvedeno níže:
yum install ntp
2. Nastavení Omezit hodnoty v ntp.conf
Upravte soubor /etc/ntp.conf, abyste se ujistili, že obsahuje následující dva řádky omezení.
# Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery
První řádek omezení umožňuje ostatním klientům dotazovat se na váš časový server. Tato čára omezení má následující parametry
- noquery zabraňuje ukládání stavových dat z ntpd.
- notrap zabraňuje službě zachycování zpráv.
- nomodify zabrání všem dotazům ntpq, které se pokoušejí změnit server.
- nopeer zabraňuje všem paketům, které se pokoušejí vytvořit partnerské přidružení.
- Kod – Kiss-o-death paket má být odeslán, aby se snížilo množství nežádoucích dotazů
Hodnota -6 na druhém řádku umožňuje vynutit překlad DNS na rozlišení adres IPV6. Další informace o seznamu přístupových parametrů naleznete v dokumentaci „man ntp_acc“
3. Povolit pouze konkrétní klienty
Chcete-li povolit synchronizaci s vaším NTP serverem pouze počítačům ve vaší vlastní síti, přidejte do souboru /etc/ntp.conf následující řádek omezení:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Pokud localhost potřebuje mít úplný přístup k dotazům nebo úpravám, přidejte následující řádek do /etc/ntp.conf
restrict 127.0.0.1
4. Přidat místní hodiny jako zálohu
Přidejte místní hodiny do souboru ntp.conf, takže pokud je NTP server odpojen od internetu, NTP server poskytuje čas ze svých místních systémových hodin.
server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10
Ve výše uvedeném řádku se Stratum používá k synchronizaci času se serverem na základě vzdálenosti. Časový server stratum-1 funguje jako primární síťový časový standard. Server stratum-2 je připojen k serveru vrstvy-1 přes síť. Server vrstvy 2 tedy získává svůj čas prostřednictvím požadavků na pakety NTP ze serveru vrstvy 1. Server vrstvy 3 získává svůj čas prostřednictvím požadavků na pakety NTP ze serveru vrstvy 2 a tak dále.
Zařízení vrstvy 0 se také vždy používají jako referenční hodiny.
5. Nastavte parametry protokolu NTP
Zadejte soubor drift a umístění souboru protokolu v souboru ntp.conf
driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp.log
driftfile se používá k zaznamenávání toho, jak daleko jsou vaše hodiny od toho, co by měly být, a pomalu by ntp mělo tuto hodnotu snižovat, jak čas postupuje.
6. Spusťte server NTP
Po nastavení příslušných hodnot v souboru ntp.conf spusťte službu ntp:
service ntpd start
II. Nakonfigurujte klienta NTP pro synchronizaci s NTP serverem
7. Upravte soubor ntp.conf na klientovi NTP
Toto nastavení by mělo být provedeno na vašem NTP klientovi (ne na NTP serveru)
Chcete-li synchronizovat čas místního klientského počítače Linux se serverem NTP, upravte soubor /etc/ntp.conf na straně klienta. Zde je příklad toho, jak vypadají ukázkové položky. V následujícím příkladu určujete více serverů, které budou fungovat jako časový server, což je užitečné, když jeden z časových serverů selže.
server 0.rhel.pool.ntp.org iburst server 1.rhel.pool.ntp.org iburst server 2.rhel.pool.ntp.org iburst server 3.rhel.pool.ntp.org iburst
iburst:Po každém dotazování je odeslána dávka osmi paketů místo jednoho. Když server neodpovídá, pakety jsou odesílány v 16s intervalu. Když server odpoví, pakety jsou odesílány každé 2 s.
Upravte svůj NTP.conf tak, aby odrážel příslušné položky pro váš vlastní NTP server.
server 19.168.1.1 prefer
preferovat:Pokud je zadána tato možnost, je server preferován před ostatními servery. Odpověď z preferovaného serveru bude vyřazena, pokud se výrazně liší od odpovědí jiného serveru.
8. Spusťte démona NTP
Jakmile je ntp.conf nakonfigurován se správnými nastaveními, spusťte démona ntp.
/etc/init.d/ntp start
Uvidíte, že NTP začne pomalu synchronizovat čas vašeho linuxového počítače se serverem NTP.
9. Zkontrolujte stav NTP
Zkontrolujte stav NTP pomocí příkazu ntpq. Pokud se zobrazí jakákoli chyba odmítnutí připojení, časový server neodpovídá nebo NTP démon/port není spuštěn nebo nenaslouchá.
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *elserver1 19.168.1.1 3 u 300 1024 377 1.225 -0.071 4.606
10. Nastavte místní datum a čas
Příkaz ntpdate lze použít k nastavení místního data a času pomocí dotazování serveru NTP. Obvykle to budete muset udělat pouze jednou.
Vaše hodnota jitteru by měla být nízká, jinak zkontrolujte posun od hodin v souboru drift. V závislosti na rozdílu může být také nutné přejít na jiný server NTP. Tento příkaz ručně synchronizuje čas s vaším NTP serverem.
ntpdate –u 19.168.1.1
Po této počáteční synchronizaci bude NTP klient průběžně hovořit se serverem NTP, aby se ujistil, že místní čas odpovídá přesnému času.
Pro získání aktuálního stavu ntpd můžete také použít následující příkaz.
# ntpdc -c sysinfo system peer: thegeekstuff.com system peer mode: client leap indicator: 00 stratum: 4 precision: -23 root distance: 0.00279 s root dispersion: 0.06271 s reference ID: [19.168.1.1] reference time: d70bd07b.f4b5cf2b Wed, Apr 30 2014 15:41:47.955 system flags: auth monitor ntp kernel stats jitter: 0.000000 s stability: 0.000 ppm broadcastdelay: 0.000000 s authdelay: 0.000000 s