• Nesprávný čas na Ubuntu nebo Debianu – problémy se synchronizací času NTP. Nesprávný čas na Ubuntu nebo Debianu – problémy se synchronizací času NTP Instalace a konfigurace NTP klienta na Ubuntu nebo Debianu

    Je důležité udržovat na serveru více či méně přesný čas. Aby bylo pohodlné číst protokoly, aby váš server neposílal ostatním dopisy z minulosti nebo z budoucnosti, takže... na tom nezáleží - je to jen důležité a to je vše.
    Kvůli různým závadám, hardwarovým chybám, cyklům napájení se může čas na serveru zpožďovat nebo spěchat vzhledem k atomovému času. Obvykle - ne více než sekundu za den, v praxi - sekundu za měsíc, nebo dokonce méně. Špatně fungující hardware ale dokáže ztrácet čas mnohem více (obecně platí, že silné výkyvy v čase jsou důvodem k zamyšlení nad zdravím hardwaru).
    V Linuxu jsou dva oblíbené způsoby synchronizace času – ntpdate pomocí cronu, nebo neustále spuštěné ntpd. Můžete si vybrat kteroukoli z nich, budu psát o obou. Ale za sebe stále doporučuji používat ntpdate podle koruny, zvláště pokud pro vás není příliš kritické neustále udržovat čas na serveru s chybou menší než 0,1 s.
    Vyskytl se problém s ntpd, když zranitelnost v něm umožnila použít ntpd servery k provedení udp amplifikačního útoku (když vám malý paket odeslaný na váš server umožnil vygenerovat velký udp paket směrem k napadenému serveru někoho jiného) - http ://habrahabr.ru /post/209438/
    Ta zranitelnost byla samozřejmě opravena (a psali, jak z ní uniknout bez aktualizací ntpd), ale kde je záruka, že žádné podobné problémy nezůstaly? A opět, ntpd stále funguje přes udp a útoky podobného typu jsou možné, i když bez velkého nárůstu provozu (ale to vám umožní skrýt útočníka a vystavit váš server zneužití). Mimochodem, narazil jsem na skutečnost, že ntpd, zabudovaný do modulu ipmi serveru, byl náchylný k tomuto útoku a bavilo mě otravovat mé sousedy v zemi =)
    Pokud tedy nejste připraveni neustále číst bezpečnostní e-maily, sledovat aktualizace a tak dále, neměli byste ntpd instalovat.
    Takže, první metoda: spustit ntpdate jednou denně podle koruny.
    Odstraníme ntpd, pokud existuje:

    root@server:~# apt-get remove --purge ntpd

    Nastavit ntpdate:

    root@server:~# apt-get instalace ntpdate

    A vytvořte soubor /etc/cron.d/ntpdate s následujícím obsahem:

    0 6 * * * root ntpdate ntp.ubuntu.com 1>/dev/null 2>&1

    Nyní každý den v 6:00 (sami si nastavte čas a frekvenci) budou hodiny aktualizovány.

    Druhá metoda: nptd.
    Musíme to dát opačně:

    root@server:~# apt-get install ntpd

    A napište do config /etc/ntpd.conf víceméně správná konfigurace:

    zakázat autorizaci
    deaktivovat statistiky
    server 0.ubuntu.pool.ntp.org
    server 1.ubuntu.pool.ntp.org
    server 2.ubuntu.pool.ntp.org
    server 3.ubuntu.pool.ntp.org

    Poté jej restartujeme:

    root@server:~# /etc/init.d/ntp restartujte

    To je vše, nyní jsou naše hodinky upraveny v reálném čase a synchronizovány s poolem ntp serverů.

    Přesný čas na počítači slouží nejen k tomu, aby si člověk ověřil datum a čas, ale plní i mnoho dalších důležitých úkolů. Zkuste například nastavit čas o několik hodin zpět nebo se vrátit v čase zadáním roku 19xx v nastavení. Nyní přejděte na google.com s tímto datem. S největší pravděpodobností budete úplné fiasko.

    Ve firemním prostředí může nesprávně nastavený čas způsobit spoustu dalších chyb: od neschopnosti uživatele autentizovat se v systému až po... nemluvme o smutných věcech.

    Datum a čas lze nastavit několika způsoby. Upozorňujeme, že tento proces ovlivňuje nastavení systému, a proto vyžaduje oprávnění uživatele root.

    Metoda č. 1

    Toto je nejjednodušší způsob. Nejvýhodnější pro začátečníky. Konfigurace se provádí pomocí průvodce v pseudografickém režimu.

    Dpkg-překonfigurujte tzdata

    Metoda č. 2

    Téměř totožné s metodou č. 1. Jednoduché a pohodlné, ale tentokrát pouze v textovém režimu. Vše, co musíte udělat, je postupovat podle pokynů průvodce

    Metoda č. 3

    Jedna z utilit systemd

    Timedatectl nastavit časové pásmo<название зоны>

    Zobrazit dostupné zóny

    Seznam časových pásem Timedatectl

    Metoda č. 4

    Pomocí nástroje ntpdate. Ve výchozím nastavení není tento nástroj nainstalován.

    Apt nainstalovat ntp ntpdate

    Přidejte ntp server do konfiguračního souboru /etc/ntp.conf a vyhledejte řádky začínající na pool. Další podrobnosti o syntaxi tohoto souboru man ntp.conf

    Zastavme službu síťového času pro aktualizaci

    Služba ntp stop

    Příjem dat z ntp serveru

    Ntpdate -s<адрес ntp-сервера>

    Spuštění služby zpět

    Spuštění služby ntp

    Metoda č. 5

    Ruční nastavení. Do souboru /etc/timezone zapište požadované časové pásmo, například Europe/Moscow

    Echo Europe/Moscow > /etc/timezone

    Přepíšeme údaje o časovém pásmu.

    Ln -sf /usr/share/zoneinfo/Europe/Moskva /etc/localtime

    Příjem dat z ntp serveru

    Na svých webových serverech používám operační systém Debian GNU/Linux. Když byla v létě 2017 vydána verze 9 Stretch, byl jsem rád, že pro ni bylo v repozitářích k dispozici PHP 7. Což, jak víte, funguje rychleji než PHP 5.

    V tomto článku ukážu, že nastavení času na Debianu 9 se také zlepšilo; nemusíte stahovat ani instalovat nic dalšího, zejména démona ntp nebo utilitu ntpdate. Vše je perfektně nakonfigurováno a funguje na standardní sadě softwaru Debian 9 díky aktualizované verzi systemd, která má samostatnou službu zodpovědnou za synchronizaci systémového času pomocí protokolu NTP.

    Jak nastavit čas na Debianu 9

    Nejprve se musíte rozhodnout pro své časové pásmo a nastavit ho, u mě to vypadá takto:

    # timedatectl nastavit časové pásmo Evropa/Volgograd

    Poté musíte soubor upravit /etc/systemd/timesyncd.conf, označující v něm servery pro synchronizaci času, například takto:

    # Tento soubor je součástí systemd. # # systemd je svobodný software; můžete jej redistribuovat a/nebo upravovat # za podmínek GNU Lesser General Public License, jak je publikována # Free Software Foundation; buď verze 2.1 licence, nebo # (podle vašeho uvážení) jakákoli pozdější verze. # # Záznamy v tomto souboru ukazují výchozí čas kompilace. # Nastavení můžete změnit úpravou tohoto souboru. # Výchozí nastavení lze obnovit jednoduchým smazáním tohoto souboru. # # Podrobnosti viz timesyncd.conf(5). NTP=ru.pool.ntp.org FallbackNTP=pool.ntp.org

    Zde v možnosti NTP= jsou určeny prioritní servery pro synchronizaci času. Pokud dojde k selhání při přístupu k nim, servery uvedené v Záložní NTP=.

    Po provedení změn v konfiguračním souboru je třeba restartovat službu synchronizace času:

    # systemctl restart systemd-timesyncd

    Stav nastavení času lze zkontrolovat pomocí následujícího příkazu:

    # stav timedatectl

    Výsledek níže ukazuje, že hodiny na mém serveru jsou správně nakonfigurovány a jsou synchronizovány pomocí protokolu NTP.

    Místní čas: Út 2018-12-18 16:36:33 +04 Univerzální čas: Út 2018-12-18 12:36:33 UTC Čas RTC: Út 2018-12-18 12:36:33 Časové pásmo: Evropa/ Volgograd (+04, +0400) Čas sítě zapnutý: ano NTP synchronizováno: ano RTC v místním TZ: ne

    Tady,
    Místní čas- toto je místní čas;
    Univerzální čas- Čas UTC (Coordinated Universal Time). Toto je výchozí bod pro všechna časová pásma;
    RTC čas- čas v hardwarových hodinách serveru (počítače);
    Časové pásmo- vaše časové pásmo;
    Čas sítě zapnutý- indikuje, zda je povolen ntp klient zahrnutý v systemd;
    NTP synchronizováno- hlásí, zda je čas synchronizován s ntp serverem;
    RTC v místním TZ- ukazuje, jaký čas je uložen v hardwarových hodinách: místní nebo celosvětový. přičemž Ano znamená místní čas, Ne- celosvětově;

    Informace pro začátečníky

    Někdy jsem dotázán, kde zadávat (provádět) příkazy, které dávám?

    Všechny příkazy uvedené v tomto článku musí být spuštěny v konzole serveru jako privilegovaný uživatel (root). Podepsat # (octothorp, lattice, sharp, hash) právě říká toto.

    Program používám jako konzolového klienta pro vzdálené připojení k serverům

    |

    Přesné načasování je velmi důležitým aspektem správného fungování mnoha moderních programů. V důsledku nesprávného času může dojít k chybám na serveru a poškození dat (například při aktualizaci databáze nebo protokolování).

    V Debianu 9 je synchronizace času vestavěna a standardně povolena; je zpracován standardním serverem ntpd poskytovaným balíčkem ntp. Tato příručka vás seznámí se základními příkazy pro správu času, naučí vás kontrolovat stav ntpd a instalovat další síťové časové služby.

    Požadavky

    K práci budete potřebovat server Debian 9 a uživatele s přístupem k sudo (manuál je nutné vyplnit v relaci tohoto uživatele). Najdete zde všechny potřebné pokyny k nastavení.

    Základní příkazy pro správu času

    date je hlavním příkazem pro určení času na serveru. Každý uživatel jej může použít ke zjištění data a času:

    datum
    Út 4. září 17:51:49 UTC 2018

    Servery obvykle ve výchozím nastavení používají časové pásmo UTC (Coordinated Universal Time) – toto je koordinovaný světový čas. UTC konzistentně nastavuje čas na serverech a minimalizuje chyby, pokud jsou servery infrastruktury umístěny v různých časových pásmech.

    Chcete-li změnit časové pásmo, použijte příkaz timedatectl.

    Vyžádejte si seznam dostupných pásů:

    timedatectl seznam-časových pásem

    V seznamu se můžete pohybovat dolů pomocí mezerníku a nahoru pomocí b. Vyberte své časové pásmo, zapište si ho a stisknutím q zavřete seznam.

    Nyní nastavte časové pásmo pomocí timedatectl set-timezone. Použijte následující příkaz a zadejte požadované časové pásmo:

    sudo timedatectl set-timezone America/New_York

    Poznámka: Nahraďte America/New_York požadovaným časovým pásmem.

    Ujistěte se, že se pás změnil:

    datum
    Út 4. září 13:52:57 EDT 2018

    Zkratka časového pásma bude odrážet novou hodnotu.

    stav ntpd

    Ve výchozím nastavení používá Debian 9 standardní server ntpd k synchronizaci času s fondem externích serverů. Jeho stav můžete zkontrolovat pomocí systemctl:

    sudo systemctl status ntp
    ntp.service - LSB: Spusťte démona NTP
    Načteno: načteno (/etc/init.d/ntp; vygenerováno; přednastaveno dodavatelem: povoleno)
    Aktivní: aktivní (běží) od Út 2018-09-04 15:07:03 EDT; před 30 min
    Dokumenty: man:systemd-sysv-generator(8)
    Proces: 876 ExecStart=/etc/init.d/ntp start (kód=ukončeno, stav=0/ÚSPĚCH)
    Úkoly: 2 (limit: 4915)
    CGroup: /system.slice/ntp.service
    └─904 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109
    . . .

    Aktivní (běžící) řádek označuje, že server běží správně. Další informace můžete získat pomocí příkazu ntpq:

    ntpq -p
    remote refid st t když poll reach delay offset jitter
    ==============================================================================
    0.debian.pool.n .POOL. 16 p – 64 0 0,000 0,000 0,000
    1.debian.pool.n .POOL. 16 p – 64 0 0,000 0,000 0,000
    2.debian.pool.n .POOL. 16 p – 64 0 0,000 0,000 0,000
    3.debian.pool.n .POOL. 16 p – 64 0 0,000 0,000 0,000
    -eterna.binary.n 204.9.54.119 2 u 240 256 377 35.392 0.142 0.211
    -static-96-244-9 192.168.10.254 2 u 60 256 377 10.242 1.297 2.412
    +minime.fdf.net 83.157.230.212 3 u 99 256 377 24.042 0.128 0.250
    *t1.time.bf1.yah 98.139.133.62 2 u 31 256 377 11.112 0.621 0.186
    +x.ns.gin.ntt.ne 249.224.99.213 2 u 108 256 377 1,290 -0,073 0,132
    -ord1.m-d.net 142.66.101.13 2 u 473 512 377 19.930 -1.764 0.293

    ntpq je dotazovací nástroj ntpd. Příznak –p shromažďuje informace o serverech NTP, ke kterým je připojeno ntpd. Váš výstup se bude mírně lišit, ale bude zahrnovat standardní servery Debian pool a několik dalších serverů. Navázání spojení může ntpd trvat několik minut.

    Přechod z ntpd na systemd-timesyncd

    Chcete-li nahradit ntpd, můžete použít vestavěného démona timesyncd systému systemd. timesyncd je jednoduchá alternativa k ntpd, integrovaná s systemd. Při migraci si však uvědomte, že timesyncd nepůsobí jako časový server a pro synchronizaci systémového času používá méně sofistikované metody. Pokud používáte složité distribuované systémy v reálném čase, je lepší zůstat u ntpd.

    Chcete-li přepnout na timesyncd, nejprve odstraňte ntpd.

    sudo apt purge ntp

    Poté spusťte timesyncd:

    sudo systemctl start systemd-timesyncd

    Zkontrolujte jeho stav:

    stav sudo systemctl systemd-timesyncd
    systemd-timesyncd.service - Synchronizace času v síti
    Načteno: načteno (/lib/systemd/system/systemd-timesyncd.service; povoleno; přednastaveno dodavatelem: povoleno)
    Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
    └─disable-with-time-daemon.conf
    Aktivní: aktivní (běží) od Út 2018-09-04 16:14:23 EDT; před 1s
    Dokumenty: man:systemd-timesyncd.service(8)
    Hlavní PID: 3399 (systemd-timesyn)
    Stav: "Synchronizováno s časovým serverem 198.60.22.240:123 (0.debian.pool.ntp.org)."
    Úkoly: 2 (limit: 4915)
    CGroup: /system.slice/systemd-timesyncd.service
    └─3399 /lib/systemd/systemd-timesyncd

    Chcete-li získat informace o aktuálním vnímání času systemd, zadejte:

    timedatectl
    Místní čas: Út 2018-09-04 16:15:34 EDT
    Univerzální čas: Út 2018-09-04 20:15:34 UTC
    Čas RTC: Út 2018-09-04 20:15:33
    Časové pásmo: Amerika/New_York (EDT, -0400)
    Čas sítě zapnutý: ano

    NTP synchronizováno: ano
    RTC v místním TZ: ne

    Příkaz zobrazí místní čas, univerzální čas (který může být stejný jako místní čas, pokud jste nepřepnuli z časového pásma UTC) a informace o stavu času v síti. Čas sítě zapnutý: yes označuje, že je povolena služba timesyncd, a synchronizace NTP: yes označuje, že čas byl úspěšně synchronizován.

    Závěr

    Nyní víte, jak spravovat systémový čas serveru Debian 9.

    Přesný čas na počítači je hezká věc.. ale podle mého pozorování se to mnoho lidí ani nepokouší používat.. v lepším případě ruční nastavení.. :(
    Linux má skvělou službu ntp, ale mnoho lidí ji neumí nastavit; k tomu si musíte přečíst určité množství dokumentace, abyste pochopili, „jak to funguje“ (c)
    Pokusím se stručně vysvětlit, jak tuto službu nastavit a používat především pro ty, kteří tomu nechtějí nebo nemohou věnovat mnoho času.
    K čemu to je?
    Se správně nakonfigurovanou službou na serveru budete moci lokálně synchronizovat hodiny na všech počítačích v lokální síti, jak OS Linux, tak Windows.
    Pěkné je, že není potřeba neustále přistupovat k internetu, když ho server má, tak provede časovou korekci, zbytek z něj dostane synchronizaci lokálně.
    Také velmi často na starých počítačích jsou baterie na základních deskách již vybité a čas běží, když se počítač spustí, čas se automaticky upraví.
    Co je potřeba nainstalovat?
    Standardní repozitář Debianu má balíčky: ntp a ntpdate
    apt-get install ntp ntpdate
    V zásadě po instalaci začne server fungovat okamžitě.
    ale nebudeš se s tím moct synchronizovat..
    Chcete-li to provést, musíte něco opravit v /etc/ntp.conf..
    Níže je konfigurace a komentáře k ní, můžete provést své vlastní opravy:
    #=============================================================================
    # /etc/ntp.conf, konfigurace pro ntpd; viz ntp.conf(5) pro nápovědu driftfile /var/lib/ntp/ntp.drift statsdir /var/log/ntpstats/ statistiky loopstats peerstats clockstats filegen loopstats soubor loopstats type day povolit filegen peerstats soubor peerstats type day povolit filegen clockstats soubor clockstats typ day enable server 0.debian.pool.ntp.org server 1.debian.pool.ntp.org server 2.debian.pool.ntp.org server 3.debian.pool.ntp.org server 2.ru.pool. server ntp.org 1.ru.pool.ntp.org server 3.europe.pool.ntp.org server 2.europe.pool.ntp.org omezit -4 výchozí kod notrap nomodify nopeer noquery omezit 127.0.0.1 # omezení naší sítě 192.168.0.0 maska ​​255.255.255.0 nomodify notrap omezit 192.168.255.0 mask 255.255.255.240 nomodify notrap # a to je kouzelná věc, která nastavuje úroveň důvěryhodnosti serveru (strata) na sebe rovnou 3, tedy vyšší hodnotu úroveň, tím nižší číslo. 0 jsou atomové hodiny, #1 je s nimi synchronizováno, 2 je s prvními a tak dále. server 127.127.1.1 fudge 127.127.1.1 vrstva 3 ========================================= ===============================================

    Například na počítačích se systémem Windows XP můžete nyní zadat svůj server nebo jeho ipdaare v nastavení data a času a provést synchronizaci.
    s Windows 98, 200 je to obtížnější... potřebujete speciální program, jako je D4,
    což je v podstatě řešitelné...
    S Linuxem - téměř všechny verze, které znám, mají takovou službu.. Nemyslím si, že tam je konfigurace příliš odlišná.. :)