Ora sistemului Debian. Ora incorectă pe Ubuntu sau Debian - probleme cu sincronizarea timpului NTP

Acasă / hard disk-uri

Ora exactă pe un computer servește nu numai pentru ca o persoană să verifice data și ora, ci și îndeplinește multe alte sarcini importante. De exemplu, încercați să vă setați timpul înapoi cu câteva ore sau să reveniți în timp specificând anul 19xx în setări. Acum accesați google.com cu data respectivă. Cel mai probabil vei fi un fiasco complet.

Într-un mediu corporativ, timpul configurat incorect poate provoca o mulțime de alte erori: de la incapacitatea unui utilizator de a se autentifica în sistem până la... să nu vorbim despre lucruri triste.

Există mai multe moduri de a seta data și ora. Ține minte asta acest proces afectează setările sistemului și, prin urmare, necesită privilegii de utilizator root.

Metoda nr. 1

Acesta este cel mai simplu mod. Cel mai de preferat pentru începători. Configurarea se realizează printr-un expert în mod pseudo-grafic.

Dpkg-reconfigurează tzdata

Metoda nr. 2

Aproape identică cu metoda nr. 1. Simplu și convenabil, dar de data aceasta doar în modul text. Tot ce trebuie să faceți este să urmați instrucțiunile vrăjitorului

Metoda nr. 3

Unul dintre utilitățile de sistem

Timedatectl set-timezone<название зоны>

Vedeți zonele disponibile

Timedatectl list-timezones

Metoda nr. 4

Folosind utilitarul ntpdate. Implicit această utilitate neinstalat.

Apt install ntp ntpdate

Adăugați un server ntp la fișierul de configurare /etc/ntp.conf, căutați linii care încep cu pool. Mai multe detalii despre sintaxa acestui fișier man ntp.conf

Să oprim serviciul de timp de rețea pentru a actualiza

Service ntp stop

Primirea datelor de la serverul ntp

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

Pornirea serviciului înapoi

Service ntp start

Metoda nr. 5

Setare manuală. Scrieți fusul orar necesar în fișierul /etc/timezone, de exemplu Europa/Moscova

Echo Europe/Moscova > /etc/timezone

Suprascriem datele fusului orar.

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

Primirea datelor de la serverul ntp

|

Timpul precis este un aspect foarte important al funcționării corecte a multora programe moderne. Din cauza orei incorecte, pot apărea erori pe server și datele pot fi deteriorate (de exemplu, la actualizarea bazei de date sau la înregistrare).

În Debian 9, sincronizarea orei este încorporată și activată implicit; este gestionat de serverul standard ntpd furnizat de pachetul ntp. Acest manual vă va prezenta comenzi de bază pentru gestionarea timpului, vă va învăța cum să verificați starea ntpd și să instalați alte servicii de timp în rețea.

Cerințe

Pentru a funcționa, veți avea nevoie de un server Debian 9 și de un utilizator cu acces la sudo (manualul trebuie completat în sesiunea acestui utilizator). Veți găsi toate instrucțiunile de configurare necesare.

Comenzi de bază pentru managementul timpului

data este comanda principală pentru determinarea orei pe server. Orice utilizator îl poate folosi pentru a afla data și ora:

data
Marți, 4 septembrie 17:51:49 UTC 2018

De obicei, în mod implicit, serverele folosesc fusul orar UTC (Coordinated Universal Time) - aceasta este ora universală coordonată. UTC setează în mod constant ora pe servere și minimizează erorile dacă serverele de infrastructură sunt situate în fusuri orare diferite.

Pentru a schimba fusul orar, utilizați comanda timedatectl.

Solicitați o listă de curele disponibile:

timedatectl list-timezones

Puteți muta lista în jos folosind bara de spațiu și în sus folosind b. Selectați fusul orar, notați-l și apăsați q pentru a închide lista.

Acum setați fusul orar folosind timedatectl set-timezone. Utilizați următoarea comandă, specificând fusul orar necesar:

sudo timedatectl set-timezone America/New_York

Notă: înlocuiți America/New_York cu fusul orar necesar.

Asigurați-vă că cureaua s-a schimbat:

data
Marți, 4 septembrie, 13:52:57 EDT 2018

Abrevierea fusului orar va reflecta noua valoare.

starea ntpd

În mod implicit, Debian 9 utilizează serverul standard ntpd pentru a sincroniza ora cu un grup de servere externe. Puteți verifica starea acestuia folosind systemctl:

sudo systemctl status ntp
ntp.service - LSB: Porniți demonul NTP
Încărcat: încărcat (/etc/init.d/ntp; generat; prestabilit furnizor: activat)
Activ: activ (în funcțiune) din marți 2018-09-04 15:07:03 EDT; acum 30 de minute
Documente: man:systemd-sysv-generator(8)
Proces: 876 ExecStart=/etc/init.d/ntp start (cod=exit, status=0/SUCCESS)
Sarcini: 2 (limită: 4915)
CGroup: /system.slice/ntp.service
└─904 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:109
. . .

Linia activă (în rulare) indică faptul că serverul rulează corect. Puteți obține mai multe informații folosind comanda ntpq:

ntpq -p
telecomandă refid st t când sondaj atinge întârziere 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.binar.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 este instrumentul de interogare ntpd. Indicatorul –p colectează informații despre serverele NTP la care este conectat ntpd. Ieșirea dvs. va fi ușor diferită, dar va include serverele standard Debian și alte câteva servere. ntpd poate dura câteva minute pentru a stabili o conexiune.

Trecerea de la ntpd la systemd-timesyncd

Pentru a înlocui ntpd, puteți utiliza demonul timesyncd încorporat în systemd. timesyncd este o alternativă simplă la ntpd, integrată cu systemd. Cu toate acestea, atunci când migrați, rețineți că timesyncd nu acționează ca un server de timp și utilizează metode mai puțin sofisticate pentru sincronizarea orei sistemului. Dacă utilizați sisteme complexe distribuite în timp real, este mai bine să rămâneți cu ntpd.

Pentru a comuta la timesyncd, mai întâi eliminați ntpd.

sudo apt purge ntp

Apoi rulați timesyncd:

sudo systemctl start systemd-timesyncd

Verificați starea acestuia:

sudo systemctl status systemd-timesyncd
systemd-timesyncd.service - Sincronizarea timpului în rețea
Încărcat: încărcat (/lib/systemd/system/systemd-timesyncd.service; activat; prestabilit furnizor: activat)
Drop-in: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Activ: activ (în rulare) din marți 2018-09-04 16:14:23 EDT; acum 1s
Documente: man:systemd-timesyncd.service(8)
PID principal: 3399 (systemd-timesyn)
Stare: „Sincronizat cu serverul de timp 198.60.22.240:123 (0.debian.pool.ntp.org).”
Sarcini: 2 (limită: 4915)
CGroup: /system.slice/systemd-timesyncd.service
└─3399 /lib/systemd/systemd-timesyncd

Pentru a obține informații despre percepția actuală a timpului de către systemd, tastați:

timedatectl
Ora locală: marți 04-09-2018 16:15:34 EDT
Ora universală: marți 2018-09-04 20:15:34 UTC
Ora RTC: Mar 2018-09-04 20:15:33
Fus orar: America/New_York (EDT, -0400)
Ora de rețea activată: da

Sincronizat NTP: da
RTC în TZ local: nr

Comanda va afișa ora locală, ora universală (care poate fi aceeași cu ora locală dacă nu ați trecut de la fusul orar UTC) și informații despre starea orei rețelei. Ora de rețea activată: da indică faptul că serviciul timesyncd este activat, iar NTP sincronizat: da indică faptul că ora a fost sincronizată cu succes.

Concluzie

Acum știi cum să gestionezi timpul sistemului servere Debian 9.

Este important să păstrați timpul mai mult sau mai puțin precis pe server. Pentru a fi convenabil să citiți jurnalele, astfel încât serverul dvs. să nu trimită altora scrisori din trecut sau din viitor, astfel încât... nu contează - este doar important și atât.
Datorită diferitelor erori, erori în hardware, cicluri de alimentare, timpul de pe server poate întârzia sau accelera în raport cu timpul atomic. De obicei - nu mai mult de o secundă pe zi, în practică - o secundă pe lună, sau chiar mai puțin. Dar hardware-ul care funcționează prost poate pierde timpul mult mai mult (în general, fluctuațiile puternice în timp sunt un motiv pentru a vă gândi la starea de sănătate a hardware-ului).
Există două moduri populare de a sincroniza ora în Linux - ntpdate folosind cron sau rularea constantă a ntpd. Sunteți liber să alegeți oricare dintre ele, voi scrie despre ambele. Dar în numele meu, recomand în continuare folosirea ntpdate conform coroanei, mai ales dacă nu este foarte esențial pentru tine să păstrezi constant timpul pe server cu o eroare mai mică de 0,1s.
A existat o problemă cu ntpd când o vulnerabilitate din acesta a făcut posibilă utilizarea serverelor ntpd pentru a efectua un atac de amplificare udp (când un pachet mic trimis către serverul dvs. vă permitea să generați un pachet udp mare către serverul atacat al altcuiva) - http ://habrahabr.ru /post/209438/
Desigur, acea vulnerabilitate a fost remediată (și au scris cum să scape de ea fără actualizări ntpd), dar unde este garanția că nu mai există probleme similare? Și, din nou, ntpd încă funcționează peste udp și sunt posibile atacuri de tip similar, deși fără o creștere mare a traficului (dar acest lucru vă va permite să ascundeți atacatorul, expunând serverul dvs. la un abuz). Apropo, am dat peste faptul că ntpd, încorporat în modulul ipmi al serverului, era susceptibil la acest atac și s-a distrat să-mi enerveze vecinii din țară =)
Prin urmare, dacă nu sunteți pregătit să citiți în mod constant buletinele informative de securitate, să urmăriți actualizările și așa mai departe, tot nu ar trebui să instalați ntpd.
Deci, prima metodă: rulați ntpdate o dată pe zi conform coroanei.
Îndepărtăm ntpd, dacă există:

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

Setați ntpdate:

root@server:~# apt-get install ntpdate

Și creați un fișier /etc/cron.d/ntpdate cu următorul conținut:

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

Acum în fiecare zi la ora 6 dimineața (setați singur ora și frecvența) ceasul va fi actualizat.

A doua metodă: nptd.
Trebuie să o punem invers:

root@server:~# apt-get install ntpd

Și scrieți în configurație /etc/ntpd.conf configurație mai mult sau mai puțin corectă:

dezactivați auth
dezactivați statisticile
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

Apoi îl repornim:

root@server:~# /etc/init.d/ntp reporniți

Gata, acum ceasul nostru este reglat în timp real și sincronizat cu un pool de servere ntp.

Eu folosesc sala de operație sistem Debian GNU/Linux pe servere pentru găzduirea site-urilor web. Când versiunea 9 a Stretch a fost lansată în vara anului 2017, m-am bucurat că PHP 7 era disponibil imediat pentru el în depozite, care, după cum știți, funcționează mai rapid decât PHP 5.

În acest articol voi arăta că setarea orei pe Debian 9 a devenit, de asemenea, mai bună, nu trebuie să descărcați sau să instalați nimic suplimentar, în special demonul ntp sau utilitarul ntpdate. Totul este configurat perfect și funcționează set standard Software-ul Debian 9 datorită versiunii actualizate systemd, care are un serviciu separat responsabil de sincronizarea orei sistemului folosind protocolul NTP.

Cum să setați ora pe Debian 9

Mai întâi trebuie să vă decideți fusul orar și să îl setați, pentru mine arată astfel:

# timedatectl set-timezone Europe/Volgograd

Apoi trebuie să editați fișierul /etc/systemd/timesyncd.conf, indicând în el serverele pentru sincronizarea orei, de exemplu astfel:

# Acest fișier face parte din systemd. # # systemd este software gratuit; îl puteți redistribui și/sau modifica # conform condițiilor Licenței Publice Generale Inferioare GNU publicate de # Free Software Foundation; fie versiunea 2.1 a Licenței, fie # (la opțiunea dvs.) orice versiune ulterioară. # # Intrările din acest fișier arată valorile implicite ale timpului de compilare. # Puteți modifica setările editând acest fișier. # Valorile implicite pot fi restaurate prin simpla ștergere a acestui fișier. # # Consultați timesyncd.conf(5) pentru detalii.

NTP=ru.pool.ntp.org FallbackNTP=pool.ntp.org Aici in optiune NTP= sunt specificate servere prioritare pentru sincronizarea orei. Dacă există o eroare la accesarea acestora, serverele specificate în.

FallbackNTP=

După ce faceți modificări în fișierul de configurare, trebuie să reporniți serviciul de sincronizare a orei:

# systemctl reporniți systemd-timesyncd

Starea setării orei poate fi verificată cu următoarea comandă:

stare # timedatectl

Rezultatul de mai jos indică faptul că ceasul de pe serverul meu este configurat corect și este sincronizat folosind protocolul NTP.

Ora locală: Mar 2018-12-18 16:36:33 +04 Ora universală: Mar 2018-12-18 12:36:33 UTC Ora RTC: Mar 2018-12-18 12:36:33 Fus orar: Europe/ Volgograd (+04, +0400) Ora rețelei activată: da NTP sincronizat: da RTC în TZ local: nu
Aici, Ora locală
- aceasta este ora locala;- Ora UTC (Timp Universal Coordonat). Acesta este punctul de plecare pentru toate fusurile orare;
Ora RTC- timpul în ceasul hardware al serverului (calculatorului);
Fus orar- fusul dvs. orar;
Ora de rețea activată- indică dacă clientul ntp inclus în systemd este activat;
NTP sincronizat- raportează dacă ora este sincronizată cu serverul ntp;
RTC în TZ local- arată ce oră este stocată în ceasul hardware: local sau mondial. În același timp, Daînseamnă ora locală, nu- la nivel mondial;

Informații pentru începători

Uneori sunt întrebat unde să introduc (execut) comenzile pe care le dau?

Toate comenzile date în acest articol trebuie să fie executate în consola serverului ca utilizator privilegiat (rădăcină). Semn # (octothorp, lattice, sharp, hash) spune doar asta.

Ca client de consolă pentru conexiune la distanță la servere folosesc programul

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații