Υπάρχουν πολλές υπηρεσίες σε λειτουργικά συστήματα, κανονική λειτουργίαπου εξαρτάται από την ακρίβεια του ρολογιού του συστήματος. Εάν η ακριβής ώρα δεν έχει οριστεί στον διακομιστή, αυτό μπορεί να προκαλέσει διάφορα προβλήματα.

Για παράδειγμα, σε τοπικό δίκτυοΑπαιτείται ο συγχρονισμός των ρολογιών των μηχανημάτων που μοιράζονται αρχεία - διαφορετικά δεν θα είναι δυνατός ο σωστός καθορισμός του χρόνου τροποποίησης των αρχείων. Αυτό, με τη σειρά του, μπορεί να προκαλέσει διενέξεις εκδόσεων ή να αντικατασταθούν σημαντικά δεδομένα.

Εάν ο διακομιστής δεν έχει ορίσει ακριβή χρόνο, θα υπάρξουν προβλήματα με τις εργασίες Cron - δεν είναι σαφές πότε θα εκτελεστούν. Θα είναι πολύ δύσκολο να αναλυθούν τα αρχεία καταγραφής συμβάντων του συστήματος για τη διάγνωση των αιτιών βλαβών και δυσλειτουργιών ...

Μπορείς να συνεχίσεις για πολύ...

Για να αποφύγετε όλα τα προβλήματα που περιγράφηκαν, πρέπει να ρυθμίσετε το συγχρονισμό του ρολογιού του συστήματος. Το Linux χρησιμοποιεί NTP (Network Time Protocol) για αυτό. Σε αυτό το άρθρο, θα μιλήσουμε λεπτομερώς για τον τρόπο εγκατάστασης και διαμόρφωσης του NTP στον διακομιστή. Ας ξεκινήσουμε με μια μικρή θεωρητική εισαγωγή.

Πώς λειτουργεί το πρωτόκολλο NTP;

Το πρωτόκολλο NTP βασίζεται σε μια ιεραρχική δομή διακομιστών ακριβούς χρόνου, στους οποίους διακρίνονται διαφορετικά επίπεδα (αγγλικά στρώματα). Το επίπεδο 0 αναφέρεται στο ρολόι αναφοράς (ατομικό ρολόι ή ρολόι GPS). Στο επίπεδο μηδέν, οι διακομιστές NTP δεν λειτουργούν.

Οι διακομιστές NTP Βαθμίδας 1, οι οποίοι είναι πηγές για διακομιστές Βαθμίδας 2, συγχρονίζονται με το ρολόι αναφοράς. Οι διακομιστές Βαθμίδας 2 συγχρονίζονται με διακομιστές Βαθμίδας 1, αλλά μπορούν επίσης να συγχρονιστούν μεταξύ τους. Οι διακομιστές επιπέδου 3 και κάτω λειτουργούν με τον ίδιο τρόπο. Συνολικά, υποστηρίζονται έως και 256 επίπεδα.

Η ιεραρχική δομή του πρωτοκόλλου NTP χαρακτηρίζεται από ανοχή σφαλμάτων και πλεονασμό. Σε περίπτωση αποτυχίας σύνδεσης με διακομιστές upstream εφεδρικούς διακομιστέςαναλάβει τη διαδικασία συγχρονισμού. Ο πλεονασμός διασφαλίζει ότι οι διακομιστές NTP είναι πάντα διαθέσιμοι. Με το συγχρονισμό με πολλούς διακομιστές, το NTP χρησιμοποιεί δεδομένα από όλες τις πηγές για να υπολογίσει τον ακριβέστερο χρόνο.

Εγκατάσταση και διαμόρφωση διακομιστή NTP

Το πιο διάσημο και διαδεδομένο εργαλείο λογισμικούγια το συγχρονισμό χρόνου είναι ο δαίμονας ntpd. Ανάλογα με τις ρυθμίσεις που καθορίζονται στο αρχείο ρυθμίσεων(αυτό θα συζητηθεί παρακάτω), μπορεί να λειτουργεί τόσο ως διακομιστής όσο και ως πελάτης (δηλαδή, μπορεί να λάβει χρόνο από απομακρυσμένους κεντρικούς υπολογιστές και να τον διανείμει σε άλλους κεντρικούς υπολογιστές). Παρακάτω θα περιγράψουμε λεπτομερώς πώς να εγκαταστήσετε και να ρυθμίσετε αυτόν τον δαίμονα στο OC Ubuntu.

Εγκατάσταση

Το πρόγραμμα NTP περιλαμβάνεται στις διανομές των πιο σύγχρονων συστημάτων Linux και εγκαθίσταται χρησιμοποιώντας έναν τυπικό διαχειριστή πακέτων:

$ sudo apt-get install ntp

Σύνθεση

Αφού ολοκληρωθεί η εγκατάσταση, ανοίξτε το επεξεργαστής κειμένου/etc/ntp.conf αρχείο. Αποθηκεύει όλες τις ρυθμίσεις του προγράμματος. Ας τα εξετάσουμε λεπτομερέστερα.

Επιλογές καταγραφής

Η πρώτη γραμμή του αρχείου config μοιάζει με αυτό:

Driftfile /var/lib/ntp/ntp.drift

Καθορίζει ένα αρχείο για την αποθήκευση πληροφοριών σχετικά με τη συχνότητα της μετατόπισης χρόνου. Αυτό το αρχείο αποθηκεύει την τιμή που προκύπτει από προηγούμενες ρυθμίσεις χρόνου. Εάν οι εξωτερικοί διακομιστές NTP δεν είναι διαθέσιμοι για τον ένα ή τον άλλο λόγο, η τιμή θα ληφθεί από αυτόν.

Αρχείο καταγραφής /var/log/ntp.log

Λίστα διακομιστών για συγχρονισμό

Το αρχείο διαμόρφωσης καθορίζει τη λίστα των διακομιστών NTP με τους οποίους θα εκτελεστεί ο συγχρονισμός. Από προεπιλογή μοιάζει με αυτό:

Διακομιστής 0.ubuntu.pool.ntp.org διακομιστής 1.ubuntu.pool.ntp.org διακομιστής 2.ubuntu.pool.ntp.org διακομιστής 3.ubuntu.pool.ntp.org

Κάθε γραμμή σημαίνει μια ομάδα διακομιστών που θα αναφέρουν τη σωστή ώρα στον διακομιστή μας. Μπορείτε να βελτιώσετε την ακρίβεια συγχρονισμού χρησιμοποιώντας την επιλογή iburst (υποδεικνύει ότι δεν πρέπει να αποστέλλονται ένα, αλλά πολλά πακέτα στον διακομιστή για συγχρονισμό):

Διακομιστής 0.ubuntu.pool.ntp.org διακομιστής iburst 1.ubuntu.pool.ntp.org διακομιστής iburst 2.ubuntu.pool.ntp.org διακομιστής iburst 3.ubuntu.pool.ntp.org iburst

Μπορείτε επίσης να καθορίσετε τον προτιμώμενο διακομιστή σας με την επιλογή προτιμώ:

Διακομιστής 0.ubuntu.pool.ntp.org προτιμώ iburst

Οι διακομιστές NTP είναι διάσπαρτοι σε όλο τον κόσμο (εδώ, για παράδειγμα, είναι μια λίστα με τους διαθέσιμους δημόσιους διακομιστές NTP). Για να διασφαλιστεί η ακριβέστερη ρύθμιση του ρολογιού του συστήματος, συνιστάται ο συγχρονισμός μόνο με διακομιστές ntp της περιοχής στην οποία βρίσκεται γεωγραφικά ο διακομιστής μας. Για να το κάνετε αυτό, στο αρχείο διαμόρφωσης /etc/ntp.conf, καθορίστε τον τοπικό υποτομέα για το pool.ntp.org στις διευθύνσεις διακομιστή:

  • Ασία - asia.pool.ntp.org;
  • Ευρώπη - europe.pool.ntp org;
  • Αφρική — africa.pool.ntp.org;
  • Βόρεια Αμερική - north-america.pool.ntp.org;
  • Νότια Αμερική - south-america.pool.ntp.org;
  • Ωκεανία - oceania.pool.ntp.org.

Μπορείτε επίσης να καθορίσετε υποτομείς για μεμονωμένες χώρες (για περισσότερες λεπτομέρειες, βλ. ). Υπάρχει επίσης ένας υποτομέας για τη Ρωσία - ru.pool.ntp.org

Διακομιστής χρόνου δημιουργίας αντιγράφων ασφαλείας

Ένας διακομιστής NTP που είναι αποσυνδεδεμένος από το Διαδίκτυο για οποιονδήποτε λόγο μπορεί να μεταδώσει τα δεδομένα του ρολογιού του συστήματος για συγχρονισμό. Για να το κάνετε αυτό, προσθέστε την ακόλουθη γραμμή στο αρχείο ρυθμίσεων:

Διακομιστής 127.127.1.0

Περιορισμοί

Πρόσφατα, οι περιπτώσεις χρήσης διακομιστών NTP για την ενίσχυση της κυκλοφορίας σε επιθέσεις DDoS έχουν γίνει πιο συχνές (για περισσότερες λεπτομέρειες, βλ., για παράδειγμα,). Για να αποτρέψουμε τον διακομιστή μας να γίνει θύμα κατάχρησης, θα ήταν χρήσιμο να ορίσουμε περιορισμούς πρόσβασης για εξωτερικούς πελάτες. Από προεπιλογή, οι ακόλουθοι περιορισμοί ορίζονται στο αρχείο /etc/ntp.conf:

Περιορισμός −4 προεπιλεγμένου κωδικού notrap nomodify nopeer noquery περιορισμός −6 προεπιλεγμένου kod notrap nomodify nopeer noquery

Οι επιλογές nomodify, notrap, nopeer και noquery εμποδίζουν τους πελάτες τρίτων να τροποποιήσουν οτιδήποτε στον διακομιστή. Η παράμετρος kod (αυτή η συντομογραφία σημαίνει φιλί θανάτου - "φιλί θανάτου") παρέχει πρόσθετη προστασία: Ένας πελάτης που στέλνει πάρα πολλά αιτήματα θα λάβει πρώτα ένα λεγόμενο πακέτο kod (προειδοποίηση άρνησης υπηρεσίας) και στη συνέχεια θα αποσυνδεθεί από τον διακομιστή.

Για να συγχρονίζονται μηχανήματα από το τοπικό δίκτυο με τον διακομιστή NTP, προσθέστε την ακόλουθη γραμμή στο αρχείο διαμόρφωσης:

Περιορισμός 192.168.1.0 mask 255.255.255.0 nomodify notrap

Για τον τοπικό κεντρικό υπολογιστή, μπορείτε να ορίσετε την πρόσβαση στον διακομιστή NTP χωρίς περιορισμούς:

Περιορισμός 127.127.1.0

Έλεγχος συγχρονισμού

Αφού γίνουν όλες οι απαραίτητες αλλαγές στο αρχείο διαμόρφωσης και αποθηκευτούν, επανεκκινήστε τον διακομιστή NTP:

$ επανεκκίνηση υπηρεσίας ntp

Στη συνέχεια εκτελέστε την ακόλουθη εντολή:

$ ntpq -pn

Τα αποτελέσματά του θα παρουσιαστούν με τη μορφή πίνακα:

Remote refid st t όταν η καθυστέρηση προσέγγισης της δημοσκόπησης μετατόπιση jitter ======================================== =================================== *62.76.96.4 130.173.91.58 2 u 207 256 37 10.985 - 215.79 256.992 +85.21.78.91 89.175.22.41 2 U 193 256 37 32.623 -207.70 259.121 +31.131.249.27 89.175.22.41 2 U 19621 -216.90 257.037 +85.21.11.11111.11.111111.11.1111111111.1AND 207.41 259.863 +91.189.94.4 193.79.237.14 2 u 192 256 37 50.573 -206.62 259.542

Ο πίνακας δείχνει τις ακόλουθες παραμέτρους:

  • απομακρυσμένη — διεύθυνση διακομιστή ακριβούς ώρας (αυτή η στήλη εμφανίζει διακομιστές από τη λίστα στο αρχείο διαμόρφωσης).
  • refid - upstream server (αυτός από τον οποίο λαμβάνει συγχρονισμό ο διακομιστής από τις προηγούμενες στήλες).
  • st — επίπεδο (στρώμα) του διακομιστή.
  • t — ομότιμος τύπος (u- unicast, m- multicast).
  • πότε είναι η ώρα του τελευταίου συγχρονισμού?
  • poll είναι ο χρόνος σε δευτερόλεπτα που χρειάζεται για να συγχρονιστεί ο δαίμονας NTP με τον ομότιμο.
  • προσέγγιση — κατάσταση διαθεσιμότητας διακομιστή. Μετά από οκτώ επιτυχημένες προσπάθειες συγχρονισμού, η τιμή αυτής της παραμέτρου γίνεται ίση με 377.
  • καθυστέρηση — χρόνος καθυστέρησης απόκρισης από τον διακομιστή.
  • Η μετατόπιση είναι η διαφορά ώρας μεταξύ του διακομιστή μας και του διακομιστή συγχρονισμού. μια θετική τιμή αυτής της παραμέτρου σημαίνει ότι το ρολόι μας είναι γρήγορο, μια αρνητική τιμή σημαίνει ότι είναι πίσω.
  • Το jitter είναι η χρονική μετατόπιση στον απομακρυσμένο διακομιστή.

Οι ακόλουθοι χαρακτήρες μπορούν να καθοριστούν στα αριστερά της διεύθυνσης διακομιστή:

  • * διακομιστής επιλεγμένος για συγχρονισμό.
  • + έναν διακομιστή κατάλληλο για ενημέρωση (με τον οποίο μπορείτε να συγχρονίσετε).
  • — δεν συνιστάται ο συγχρονισμός με τον διακομιστή.
  • Ο διακομιστής x δεν είναι διαθέσιμος.

Μπορείτε να ελέγξετε εάν ένας διακομιστής από τη λίστα είναι κατάλληλος για συγχρονισμό χρησιμοποιώντας την εντολή:

Ntpdate -q διακομιστής хх.ххх.ххх.ххх, στρώμα 2, μετατόπιση −0,127936, καθυστέρηση 0,02600 7 Ιουλίου 14:30:23 ntpdate: προσαρμογή ώρας διακομιστή χх.ххх.ххх.ххх μετατόπιση −0,17

Από την παραπάνω έξοδο, φαίνεται ότι ο διακομιστής είναι κατάλληλος για συγχρονισμό, το επίπεδο του είναι 2, η μετατόπιση είναι 0,127936 ms και η καθυστέρηση είναι 0,026 ms.

Μπορείτε επίσης να μάθετε πώς πήγε ο συγχρονισμός (επιτυχώς ή με σφάλματα) από τα αρχεία καταγραφής:

7 Ιουλίου 15:17:17 ntpd: συγχρονίστηκε με 91.198.10.4, στρώμα = 2 7 Ιουλίου 15:17:17 ntpd: ο συγχρονισμός ώρας πυρήνα είναι απενεργοποιημένος 0041 7 Ιουλίου 15:17:21 ntpd: ενεργοποίηση ώρας πυρήνα

Ρύθμιση τοπικής ημερομηνίας και ώρας

Η εντολή ntpdate μπορεί να χρησιμοποιηθεί για να ορίσετε την τοπική ημερομηνία και ώρα στο διακομιστή στέλνοντας ένα αίτημα στον διακομιστή NTP.

Εισαγωγή.

Το σύστημα Linux, όπως και τα περισσότερα άλλα σύγχρονα λειτουργικά συστήματα, έχει στην πραγματικότητα δύο ρολόγια. Το πρώτο ρολόι είναι ένα ρολόι υλικού, που μερικές φορές ονομάζεται Ρολόι πραγματικού χρόνου, συντομογραφία (RTC) ή ρολόι BIOS, που συνήθως σχετίζεται με έναν ταλαντούμενο κρύσταλλο χαλαζία, ο οποίος έχει ακρίβεια έως και αρκετά δευτερόλεπτα την ημέρα. Η ακρίβεια εξαρτάται από διάφορες διακυμάνσεις, όπως η θερμοκρασία περιβάλλοντος. Το δεύτερο ρολόι είναι ένα εσωτερικό ρολόι λογισμικού που λειτουργεί συνεχώς, ακόμη και κατά τη διάρκεια διαλειμμάτων στο σύστημα. Υπόκεινται σε διακυμάνσεις που σχετίζονται με υψηλό φορτίο συστήματος και καθυστέρηση διακοπής. Ωστόσο, το σύστημα συνήθως διαβάζει το ρολόι υλικού κατά την εκκίνηση και στη συνέχεια χρησιμοποιεί το ρολόι συστήματος. Η εντολή ημερομηνίας δεν ρυθμίζει το ρολόι υλικού, αλλά το ρολόι του συστήματος.

Εάν χρησιμοποιείται NTP, μπορείτε να ρυθμίσετε το ρολόι υλικού κατά την πρώτη εγκατάσταση του συστήματος και να μην ανησυχείτε ποτέ ξανά.

Το τσιπ ρολογιού πραγματικού χρόνου (RTC) που χρησιμοποιείται σε μητρικές πλακέτες, δεν είναι ιδιαίτερα ακριβής και συνήθως καθυστερεί ή προηγείται κατά ένα ορισμένο χρονικό διάστημα κάθε μέρα.

Μπορείτε να συγχρονίσετε το ρολόι υλικού με το ρολόι συστήματος χρησιμοποιώντας την εντολή hwclock με την επιλογή -w ή --systohc και να συγχρονίσετε το ρολόι του συστήματος με το ρολόι υλικού με την εντολή hwclock με την επιλογή -s ή --hctosys.

Σύνθεση.

Αρχικά, στο αρχείο /etc/ntp.conf, προσθέστε τη γραμμή:

Η ώρα θα συγχρονιστεί από τον καθορισμένο διακομιστή. Εάν το πρώτο δεν είναι διαθέσιμο, λαμβάνονται τα επόμενα στη λίστα. Πρώτα συνταγογραφήθηκε τοπικός διακομιστής NTP.

Η επόμενη στιγμή, ορίζει την τοπική ή καθολική ώρα που θα χρησιμοποιηθεί.

#cat /etc//etc/sysconfig/clock

Δεν έχουμε:

Κυβερνάμε ΖΩΝΗ - στο "Ευρώπη/Μόσχα"

Παίρνουμε:

UTC=αληθέςΤο ρολόι του συστήματος δεν χρησιμοποιεί καθολική αναπαράσταση ώρας

ARC=αληθήςΧρησιμοποιείται η κανονική εποχή UNIX.

Η ζώνη ώρας στο Linux ορίζεται μέσω ενός συμβολικού συνδέσμου από το /etc/localtime σε ένα αρχείο στον κατάλογο /usr/lib/zoneinfo (ή /usr/share/zoneinfo), ο οποίος υποδεικνύει σε ποια ζώνη ώρας βρίσκεστε.

Εικόνα. Περιεχόμενα /usr/share/zoneinfo

Εκτελούμε εντολές.

rm -rf /etc/localtime

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Όλα λειτουργούν!

Εάν ο δαίμονας ntpd εκτελείται, εμφανίζεται το ακόλουθο μήνυμα κατά την προσπάθεια συγχρονισμού με τον διακομιστή ntp.

Αυτή η εντολή δείχνει σε ποιους διακομιστές να συνδεθείτε.

Πρόσθεση:

Ρύθμιση του ρολογιού υλικού

Για να ρυθμίσετε το ρολόι υλικού, ρυθμίστε πρώτα την ώρα του συστήματος και μετά την ώρα του υλικού χρησιμοποιώντας το πρόγραμμα "/sbin/clock -w" (ή "/sbin/clock -wu" εάν χρησιμοποιείτε καθολική ώρα). Για να μάθετε την ώρα υλικού, τρέξτε το ρολόι χωρίς παραμέτρους. Εάν το ρολόι υλικού έχει ρυθμιστεί στην τοπική ώρα και θέλετε να δείτε την παγκόσμια ώρα, πληκτρολογήστε "/sbin/clock -u"

Ρύθμιση του ρολογιού του συστήματος

Για να ρυθμίσετε το ρολόι του συστήματος στο Linux, χρησιμοποιήστε το πρόγραμμα ημερομηνίας. Για παράδειγμα, ορίζοντας την τρέχουσα ώρα (σύστημα!) και ημερομηνία στις 31 Ιουλίου, 23:16, πληκτρολογήστε "ημερομηνία 07312316" (σημειώστε ότι η ώρα αναφέρεται σε 24ωρη σημείωση) Εάν θέλετε να αλλάξετε το έτος, πληκτρολογήστε "ημερομηνία 073123161998». Για να ορίσετε τα δευτερόλεπτα, πληκτρολογήστε "ημερομηνία 07312316.30" ή "ημερομηνία 073123161998.30". Για να λάβετε την ώρα του συστήματος, εκτελέστε την ημερομηνία χωρίς ορίσματα.

Πηγές που χρησιμοποιήθηκαν.

Μερικές φορές το ρολόι σε έναν υπολογιστή Ubuntu σβήνει, αργά ή γρήγορα. Αν και αυτή η κατάσταση δεν είναι κρίσιμη, είναι πολύ δυσάρεστη και μπορεί να έχει καταστροφικές συνέπειες, που κυμαίνονται από σύγχυση στα αρχεία καταγραφής λόγω της ασάφειας του χρόνου έως αργοπορία σε μια συνάντηση επειδή εμπιστευτήκατε λάθος ώρες. Επίσης, η ακριβής ώρα είναι σημαντική για τη σωστή λειτουργία ορισμένων προγραμμάτων, όπως το Tor anonymizer.

Ευτυχώς, αυτό δεν συμβαίνει τόσο συχνά και συνήθως σχετίζεται με τέτοιες μη τυπικές ενέργειες όπως η φόρτωση λειτουργικών συστημάτων με χρήση διαφορετικών αλγορίθμων για την αποθήκευση χρόνου μηχανής ή η επαναφορά της μνήμης του BIOS. Αλλά αυτό δεν σημαίνει ότι δεν χρειάζεται να κάνετε τίποτα, μπορείτε ρυθμίστε τον συγχρονισμό τοπικής ώρας μέσω του Διαδικτύου, αυτό εξακολουθεί να είναι πολύ βολικό εάν χτυπάτε συχνά το ρολόι και είστε πολύ τεμπέλης να το ρυθμίζετε κάθε φορά. Το Ubuntu χρησιμοποιεί την υπηρεσία NTP και τον δαίμονα ntpd για να το κάνει αυτό. Πρόκειται για αυτά που θα συζητηθούν σε αυτό το άρθρο.

Πρώτα, λίγα λόγια για το πώς να δείτε την ώρα από το τερματικό στο Ubuntu. Για να μάθετε την τρέχουσα ώρα, εκτελέστε την εντολή:

Για προβολή δεδομένων σε μορφή UTC, πληκτρολογήστε:

Ας μάθουμε πόσο υστερεί ο χρόνος του Ubuntu μας από την αναφορά:

sudo ntpdate -q ntp.ubuntu.com

Επιπλέον, υπάρχει πολλή θεωρία, αν ήρθατε εδώ μόνο για οδηγίες εγκατάστασης, μη διστάσετε να μετακινηθείτε προς τα κάτω. Το UTC σημαίνει Συντονισμένη Παγκόσμια Ώρα, δηλαδή Συντονισμένη Παγκόσμια Ώρα. Αυτό το πρότυπο GMT είναι το ίδιο για ολόκληρο τον κόσμο και με αυτή τη μορφή η ώρα του συστήματος αποθηκεύεται στο Linux, συμπεριλαμβανομένου του Ubuntu, και η διόρθωση ζώνης ώρας έχει ήδη προστεθεί τοπικά για κάθε χρήστη. Εδώ έγκειται η αιτία των χρονικών αποτυχιών. χρησιμοποιώντας Windowsκαι Unix.

Όπως είπα, το Ubuntu αποθηκεύει την ώρα σε μορφή UTC, ενώ τα Windows χρησιμοποιούν την τοπική μορφή για αυτό ήδη με την προσθήκη της ζώνης ώρας. Κάθε φορά που ο υπολογιστής απενεργοποιείται ή επανεκκινείται, το λειτουργικό σύστημα αποθηκεύει την τιμή του χρονοδιακόπτη του στο χρονόμετρο BIOS και το διαβάζει από εκεί κατά την εκκίνηση.

Και αποδεικνύεται ότι το λειτουργικό σύστημα της Microsoft εξοικονομεί τοπική ώρα και το Ubuntu πιστεύει ότι είναι UTC... καταλαβαίνετε ήδη τι συμβαίνει; Σωστά, όσο περισσότερες τέτοιες επανεκκινήσεις, τόσο περισσότερο θα διαφέρει ο χρόνος από τον πραγματικό. Αλλά έχω ήδη ξεφύγει από το θέμα. Πώς να ρυθμίσετε αλγόριθμους συγχρονισμού και στα δύο συστήματα, δεν θα πω εδώ, ο στόχος μου σήμερα είναι ο συγχρονισμός χρόνου στο Ubuntu.

Εγκατάσταση NTP στο Ubuntu

Το βοηθητικό πρόγραμμα συγχρονισμού ώρας ntpdate συνοδεύεται από το ubuntu και ξεκινά αυτόματα κατά την εκκίνηση. Εάν θέλετε να συγχρονίσετε το χρόνο για να εκτελεστεί τώρα στο τερματικό:

ntpdate -s ntp.ubuntu.com

Η υπηρεσία ntpd δεν περιλαμβάνεται στο τυπικό πακέτο, καθήκον της είναι να παρακολουθεί συνεχώς το ρολόι του συστήματος και να διορθώνει τυχόν αποκλίσεις. Για να εγκαταστήσετε το ntpd, πληκτρολογήστε:

sudo apt-get install ntp

Για να ξεκινήσετε τον δαίμονα, πληκτρολογήστε:

έναρξη υπηρεσίας sudo ntp

Και για να προσθέσετε στην αυτόματη φόρτωση:

sudo rc-update προσθέστε προεπιλογές ntp

Μπορείτε να διαμορφώσετε τους διακομιστές με τους οποίους το Ubuntu θα κάνει έλεγχο στο αρχείο /etc/ntp.conf. Η μορφή εισαγωγής είναι η διεύθυνση διακομιστή, για παράδειγμα η τυπική διαμόρφωση είναι:

# Χρησιμοποιήστε διακομιστές από το NTP Pool Project. Εγκρίθηκε από το Τεχνικό Συμβούλιο του Ubuntu
# στις 08-02-2011 (LP: #104525). Δείτε http://www.pool.ntp.org/join.html για
# περισσότερες πληροφορίες.
server0.ubuntu.pool.ntp.org
server1.ubuntu.pool.ntp.org
server2.ubuntu.pool.ntp.org
server3.ubuntu.pool.ntp.org

Αφού επεξεργαστείτε τη διαμόρφωση, μην ξεχάσετε να επανεκκινήσετε την υπηρεσία:

επανεκκίνηση της υπηρεσίας sudo ntp

Λύση προβλημάτων

Η υπηρεσία συγχρονισμού χρησιμοποιεί τη θύρα 123 για να συνδεθεί με τον διακομιστή, επομένως, εάν χρησιμοποιείτε τείχος προστασίας, η πρόσβαση σε αυτές τις θύρες ενδέχεται να αποκλειστεί, πρέπει να επιτρέψετε την πρόσβαση προσθέτοντας τους ακόλουθους κανόνες:

iptables -A έξοδος -p udp -s 192.168.1.1 --sport 1024:65535 -d 0/0 --dport 123 -m πολιτεία --κράτοςΝΕΟ,ΚΑΤΑΣΚΕΥΑΣΜΕΝΟ -j ΑΠΟΔΟΧΗ

iptables -A input -p udp -s 0/0 --sport 123 -d 192.168.1.1 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Τώρα το ρολόι στον υπολογιστή σας θα λειτουργεί πάντα σωστά.


Ο συγχρονισμός χρόνου είναι μια σημαντική εργασία, αν και πολλοί άνθρωποι δεν το έχουν σκεφτεί. Λοιπόν, τι είναι λάθος με το να ξεφεύγεις στον χρόνο του διακομιστή; Γνωρίζατε ότι πολλά ζητήματα ρολογιού επηρεάζουν τα πρωτόκολλα που σχετίζονται με την κρυπτογραφία; Για το λόγο αυτό, στο Ενεργό αρχείοΟι διαφορές ρολογιού μεγαλύτερες από 5 λεπτά θα έχουν ως αποτέλεσμα προβλήματα ελέγχου ταυτότητας Kerberos.

ωριαία επίπεδα. Στράτα.

Για να κατανοήσετε μια συσκευή NTP, θα πρέπει να γνωρίζετε την ιδέα στρώματαή στρώμα. Έγκυρες πηγές χρόνου όπως δορυφόροι GPS, ατομικά ρολόγια καισίου, ραδιοκύματα WWVB - όλα αυτά στρώμα 0. Είναι έγκυροι με το σκεπτικό ότι έχουν κάποιο τρόπο να διατηρούν πολύ ακριβή χρονομέτρηση. Μπορείτε, φυσικά, να χρησιμοποιήσετε συνηθισμένα ρολόγια χαλαζία, αλλά γνωρίζοντας ότι είναι εύκολο να χάσετε 15 δευτερόλεπτα μαζί τους σε ένα μήνα, είναι καλύτερα να μην τα χρησιμοποιείτε ως μέτρο χρόνου. Στρώμα 0αυτό είναι όταν ένα δευτερόλεπτο δεν χάνεται σε 300.000 χρόνια!

Υπολογιστές από τους οποίους απαιτείται χρόνος απευθείας (όχι μέσω δικτύου!). στρώμα 0- αυτό είναι στρώμα 1. Δεδομένου ότι υπάρχουν πάντα καθυστερήσεις λόγω μετάδοσης σήματος και κόστους για τη ρύθμιση του χρόνου, υπολογιστές στρώμα 1όχι τόσο ακριβής όσο στρώμα 0, αλλά στην πραγματική ζωή η διαφορά φτάνει τα δύο μικροδευτερόλεπτα (1 μs = 10 -6 s), που είναι αρκετά αποδεκτή απόκλιση.

Το επόμενο επίπεδο υπολογιστών που παίρνουν χρόνο μέσω του δικτύου από στρώμα 1- είναι... τύμπανο... ίντριγκα... στρώμα 2! Και πάλι, λόγω διαφόρων καθυστερήσεων (δίκτυο σίγουρα), στρώμα 2λίγο πίσω στρώμα 1και σίγουρα από στρώμα 0. Στην πράξη, αυτή η διαφορά κυμαίνεται από μερικά μικροδευτερόλεπτα (1 μs = 10 -6 s) έως μερικά χιλιοστά του δευτερολέπτου (1 ms = 10 -3 s). Πολλοί δεν θέλουν να συγχρονίζονται με το επίπεδο στρώμα 2.

Όπως φαίνεται από το διάγραμμα, στρώμα 4παίρνει χρόνο από τους ανωτέρους στρώμα 3. στρώμα 5στο στρώμα 4και ούτω καθεξής. στρώμα 16θεωρείται το χαμηλότερο στρώμα και ο χρόνος θεωρείται εκεί εκτός συγχρονισμού.

Για να συγχρονίσετε την ώρα χρησιμοποιώντας το πρωτόκολλο NTP, πρέπει πρώτα να ρυθμίσετε χειροκίνητα την ώρα σας. Δεν επιτρέπονται περισσότερα από 1000 δευτερόλεπτα διαφορά μεταξύ της ακριβούς ώρας και του ρολογιού σας. Εάν ο διακομιστής ώρας που χρησιμοποιείτε βρίσκεται για περισσότερα από 1000 χιλιοστά του δευτερολέπτου (1 δευτερόλεπτο), τότε θα διαγραφεί και θα χρησιμοποιηθούν άλλοι. Αυτός ο μηχανισμός σάς επιτρέπει να φιλτράρετε κακές πηγές χρόνου.

Χρόνος πελάτης.

Στο αρχείο /etc/ntp.conf, οι γραμμές διακομιστή είναι σημαντικές για τον πελάτη. Μπορεί να υπάρχουν πολλά - έως και 10 κομμάτια!

Πόσο να προσθέσω; Θυμήσου:

  • Εάν έχετε μόνο έναν διακομιστή (μία γραμμή διακομιστή), τότε εάν αυτός ο διακομιστής αρχίσει να λέει ψέματα, τότε θα τον ακολουθήσετε στα τυφλά. Αν ο χρόνος του τελειώσει κατά 5 δευτερόλεπτα και τρέξεις από πίσω του.
  • Εάν προστεθούν 2 διακομιστές (2 γραμμές διακομιστή), τότε το NTP θα επισημάνει και τους δύο ως ψεύτικα tickers. Αν κάποιος από αυτούς λέει ψέματα, τότε η NTP δεν μπορεί να καταλάβει ποιος λέει ψέματα, αφού δεν υπάρχει απαρτία.
  • Εάν προστεθούν 3 ή περισσότεροι διακομιστές χρόνου, τότε μπορεί να υπολογιστεί ένας ψεύτης ψεύτικα tickers. Εάν υπάρχουν 5 ή 6 διακομιστές χρόνου, τότε μπορείτε να βρείτε 2 ψεύτες ψεύτικα tickers. Εάν υπάρχουν 7 ή 8 διακομιστές, τότε 3 ψεύτικα tickers. Εάν υπάρχουν 9 και 10 διακομιστές, τότε 4 ψεύτικα tickers.

Έργο NTP Pool.

Υπάρχει ένα τέτοιο έργο NTP Pool στη διεύθυνση του οποίου pool.ntp.org/zone/ru/ μπορείτε να βρείτε διακομιστές χρόνου που προτείνονται για Ρώσους χρήστες.

server0.ru.pool.ntp.org
server1.ru.pool.ntp.org
server2.ru.pool.ntp.org
server3.ru.pool.ntp.org

Λειτουργικά συστήματα όπως το Debian και το Ubuntu προσφέρουν στους χρήστες τους δικούς τους διακομιστές χρόνου.

server0.debian.pool.ntp.org
server1.debian.pool.ntp.org
server2.debian.pool.ntp.org
server3.debian.pool.ntp.org

server0.ubuntu.pool.ntp.org
server1.ubuntu.pool.ntp.org
server2.ubuntu.pool.ntp.org
server3.ubuntu.pool.ntp.org

Εάν καλέσετε ntpq -pn στον υπολογιστή σας Linux που χρησιμοποιεί NTP

Remote refid st t όταν η καθυστέρηση προσέγγισης της δημοσκόπησης μετατόπιση jitter ======================================== =================================== +93.180.6.3 77.37.134.150 2 u 62 1024 377 53.658 - 0.877 1.174 +85.21.78.23 193.190.230.65 2 u 1027 1024 377 54.651 0.167 1.531 *62.173.138.130 89.109.251.24 2 u 940 1024 377 52.796 -0.143 1.001 +91.206.16.3 194.190.168.1 2 u 258 1024 377 93.882 -0.680 2.196 - 91.189.94.4 193.79.237.14 2 u 596 1024 377 100.219 1.562 1.482

Τι λένε τα ονόματα των στηλών;

  • μακρινός- απομακρυσμένοι διακομιστές με τους οποίους συγχρονίζετε το χρόνο.
  • refid- ανώτερο στρώμα για αυτόν τον διακομιστή.
  • αγ- επίπεδο στρώματος. Από 0 (δεν είναι διαθέσιμο σε εμάς) έως 16 (δεν είναι επιθυμητό για εμάς). Ιδανικό - 2.
  • t- Τύπος σύνδεσης. " u"- unicast ή manycast," σι"-μετάδοση ή πολλαπλή εκπομπή", μεγάλο"τοπικό ρολόι αναφοράς", μικρό" - συμμετρικός κόμβος, " ΕΝΑ" - διακομιστής manycast, " σι"-διακομιστής εκπομπής, " Μ"- διακομιστής πολλαπλής διανομής.
  • πότε- η ώρα που μας απάντησε τελευταία φορά ο διακομιστής. Η παράμετρος εμφανίζει τον αριθμό σε δευτερόλεπτα, αλλά μπορεί να είναι σε λεπτά εάν ο αριθμός είναι Μή ώρες αν η.
  • ψηφοφορία- συχνότητα ψηφοφορίας. Ελάχιστο 16 δευτερόλεπτα, μέγιστο 32 ώρες. Ο αριθμός πρέπει να είναι 2 n . Συνήθως σε αυτήν την παράμετρο υπάρχουν είτε 64 δευτερόλεπτα είτε 1024.
  • φθάνω- Οκτάδα 8 bit που υποδεικνύει την κατάσταση επικοινωνίας με τον απομακρυσμένο διακομιστή ώρας: επιτυχία ή αποτυχία. Εάν τα bit έχουν οριστεί, τότε επιτυχία, διαφορετικά, αποτυχία. Η τιμή 377 είναι δυαδική 0000 0000 1111 1111.
  • καθυστέρηση- η τιμή σε χιλιοστά του δευτερολέπτου δείχνει το χρόνο μεταξύ αποστολής και λήψης απάντησης (χρόνος μετ' επιστροφής - RTT).
  • αντισταθμίζεται- μετατόπιση σε χιλιοστά του δευτερολέπτου μεταξύ εσάς και των διακομιστών χρόνου. Μπορεί να είναι θετικός ή αρνητικός αριθμός.
  • τρέμουλο- μια απόλυτη τιμή σε χιλιοστά του δευτερολέπτου που υποδεικνύει την τυπική απόκλιση της μετατόπισής σας.

Πριν από τη διεύθυνση IP του διακομιστή NTP υπάρχει ένα σύμβολο - αυτό είναι κωδικός καταμέτρησης. Είδη κωδικός καταμέτρησης:

  • " " - απορρίφθηκε ως μη έγκυρο. Για παράδειγμα, δεν υπάρχει καμία σχέση μαζί του ή είναι εκτός σύνδεσης, είναι πολύ υψηλός σε βαθμίδα και δεν εξυπηρετεί ανθρώπους σαν εσάς.
  • "Χ"- απορρίπτεται από τον αλγόριθμο "τομής". Ο αλγόριθμος τομής προετοιμάζει μια λίστα υποψηφίων συνεργατών που μπορούν να γίνουν πηγές συγχρονισμού και υπολογίζει ένα διάστημα εμπιστοσύνης για καθένα από αυτά.
  • "." - έπεσε λόγω υπερχείλισης τραπεζιού.
  • "-" - απορρίφθηκε από τον αλγόριθμο συμπλέγματος. Ο αλγόριθμος ομαδοποίησης ταξινομεί τη λίστα των υποψηφίων κατά κωδικούς επιπέδων και αποστάσεις συγχρονισμού.
  • "+" - ο διακομιστής ενεργοποιείται από τον "αλγόριθμο συνδυασμού". Αυτός ο διακομιστής είναι ένας εξαιρετικός υποψήφιος εάν ο τρέχων διακομιστής ώρας αρχίσει να σας αποτυγχάνει.
  • "#" - ο διακομιστής είναι ένας εξαιρετικός εναλλακτικός διακομιστής ώρας. Ο διακομιστής με # μπορεί να φανεί μόνο εάν έχετε περισσότερες από 10 καταχωρήσεις διακομιστή στο /etc/ntp.conf
  • "*" - διακομιστής τρέχουσας ώρας. Οι ενδείξεις του χρησιμοποιούνται για τον συγχρονισμό των ρολογιών σας.
  • "ο"- Διακομιστής παλμού ανά δευτερόλεπτο (PPS). Αυτό συνήθως σημαίνει ότι αυτός ο διακομιστής ώρας χρησιμοποιεί πηγές χρόνου, όπως δορυφόρους GPS και άλλα ακριβή σήματα ώρας. Αν τραβηχτεί σχετικά με, τότε άλλοι τύποι κωδικών καταμέτρησης δεν θα εμφανίζονται πλέον.

Στο χωράφι refidμπορεί να είναι οι ακόλουθες τιμές:

  • Διεύθυνση IP - διεύθυνση του απομακρυσμένου διακομιστή ώρας.
  • .ACST.- Διακομιστής NTP manycast.
  • .ΠΡΑΞΕΙΣ.-Αυτοματοποιημένος Υπολογιστής Time Serviceαπό το Αμερικανικό Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας.
  • .AUTH.- σφάλμα ελέγχου ταυτότητας.
  • .AUTO. - σφάλμα στις ακολουθίες Autokey.
  • Διακομιστής εκπομπής .BCST.- NTP.
  • .CHU.- Ραδιοφωνικός δέκτης βραχέων κυμάτων από το σταθμό CHU στην Οττάβα, Οντάριο, Καναδάς.
  • .CRYPT - Σφάλμα πρωτοκόλλου αυτόματου κλειδιού.
  • .DCFx.- Δέκτης ραδιοφώνου LF από το σταθμό DCF77 στο Mainflingen, Γερμανία.
  • .DENY.- Δεν επιτρέπεται η πρόσβαση.
  • .GAL.-Ευρωπαϊκό δορυφορικό δέκτη Galileo.
  • .GOES.- Αμερικανικός γεωστατικός επιχειρησιακός περιβαλλοντικός δορυφορικός δέκτης.
  • .GPS.-American Global Positioning System.
  • .HBG.- Δέκτης ραδιοφώνου LF από σταθμό HBG στο Prangins, Ελβετία.
  • .INIT.- Αρχικοποιήθηκε ο συσχετισμός ομοτίμων.
  • Κωδικός ώρας .IRIG.- Inter Range Instrumentation Group.
  • .JJY.- Δέκτης ραδιοφώνου LF από το σταθμό JJY στο όρος Otakadoya, κοντά στη Φουκουσίμα ή στο όρος Χαγκάνε στο νησί Kyushu, Ιαπωνία.
  • .LFx.- Κανονικός ραδιοφωνικός δέκτης LF.
  • .LOCL. - τοπικό ρολόι του οικοδεσπότη.
  • .LORC.- Δέκτης ραδιοφώνου LF από το Long Range Navigation (LORAN-C).
  • .MCST.- NTP multicast server.
  • .MSF.- Ραδιοφωνικός σταθμός Anthorn κοντά στο Anthorn, Cumbria.
  • .NIST.-American National Institute of Standards and Technology.
  • .PPS.- ρολόι Παλμός ανά δευτερόλεπτο.
  • .PTB.- Physikalisch-Technische Bundesanstalt από το Brunswick και το Βερολίνο, Γερμανία.
  • .RATE.- Υπέρβαση του ορίου δημοσκόπησης NTP.
  • .STEP.- αλλάξτε το βήμα NTP. Προκατάληψη αντισταθμίζεταιλιγότερο από 1000 χιλιοστά του δευτερολέπτου, αλλά περισσότερο από 125 χιλιοστά του δευτερολέπτου.
  • .TDF.- Δέκτης ραδιοφώνου LF από το σταθμό TéléDiffusion de France στο Allouis, Γαλλία.
  • .TIME.- Χρονικό όριο συσχέτισης NTP.
  • .USNO.- Ναυτικό Παρατηρητήριο Ηνωμένων Πολιτειών.
  • .WWV.- Ραδιοφωνικός δέκτης HF από το σταθμό WWV στο Fort Collins, Κολοράντο, Ηνωμένες Πολιτείες.
  • .WWVB.- Δέκτης ραδιοφώνου LF από το σταθμό WWVB στο Fort Collins, Κολοράντο, Ηνωμένες Πολιτείες.
  • .WWVH.- Ραδιοφωνικός δέκτης HF από το σταθμό WWVH στο Kekaha, στο νησί Kauai στη Χαβάη, Ηνωμένες Πολιτείες.

Πρώτον, απαλλαγείτε από τη σκέψη πώς να πάρετε χρόνο από στρώμα 1, λένε ότι είναι πιο κοντά στην ακριβή ώρα. Είναι πιο κοντά στην πιο ακριβή ώρα στον πλανήτη, μόνο που οι ίδιοι είναι υπερφορτωμένοι και έχουν υψηλές καθυστερήσεις RTT για τους κανονικούς διακομιστές. Καλύτερα να βρεις ένα κανονικό στρώμα 2και μην ανησυχείς για αυτό. Μην ξεχνάτε ότι μιλάμε για μικροδευτερόλεπτα και χιλιοστά του δευτερολέπτου, που στη συνηθισμένη ζωή είναι αρκετά.

Δεύτερον, να θυμάστε ότι η σύνδεση στον πλησιέστερο διακομιστή ώρας δεν είναι πάντα ιδανική. Το πιο σημαντικό δεν είναι η εδαφική εγγύτητα, αλλά το επίπεδο του στρώματος. Το έργο NTP Pool δημοσιεύει μια λίστα διακομιστών μόνο σε επίπεδο στρώμα 1και στρώμα 2και είναι καλύτερο να πάρεις έως και 10 διακομιστές χρόνου από αυτήν τη λίστα, κάτι που θα είναι μια χαρά.

Τρίτον, εάν είστε απλός χρήστης οικιακού πελάτη, τότε οι διακομιστές που σας προτείνονται στο δικό σας λειτουργικό σύστημαθα είναι μια ιδανική επιλογή που δεν απαιτεί επιπλέον χειρονομίες.

Για μεγάλα γραφεία, η καλύτερη επιλογή θα ήταν να ρυθμίσετε τον δικό σας διακομιστή ώρας για υπολογιστές εργασίας. Αυτός ο διακομιστήςθα λάβει την ακριβή ώρα από τους διακομιστές ώρας Internet και θα την παρέχει τοπικούς υπολογιστές. Σε διακομιστές Debian και Ubuntu, απλώς αφαιρέστε το σχόλιο της γραμμής

Περιορισμός 192.168.0.0 mask 255.255.0.0 nomodify notrap

στο αρχείο διαμόρφωσης ntpd daemon - /etc/ntp.conf

Οι χρήστες από το δίκτυο 192.168/16 θα μπορούν να λάβουν το πιο ακριβές ρολόι από τον διακομιστή σας. Για εσωτερικούς διακομιστές σε λειτουργία Βασισμένο σε Linux, που δεν είναι διακομιστές χρόνου και κάνουν τα δικά τους, αντί να εκτελείται ο δαίμονας ntpd σε λειτουργία πελάτη, αρκεί να ορίσετε στο αρχείο /etc/cron.daily/syncntpd. Συνιστάται να διαβάσετε τις διαφορές μεταξύ ntpdate και ntp και να αποφασίσετε μόνοι σας.
#!/bin/sh
/usr/sbin/ntpdate τη διεύθυνση IP του διακομιστή σας > /dev/null 2>&1
έξοδος 0

και μια φορά την ημέρα, χάρη στην εντολή ntpdate, θα γίνεται συγχρονισμός χρόνου. Για να αποφύγετε παρεξηγήσεις, μην τεμπελιάζετε πριν εφαρμόσετε έναν διακομιστή ώρας και συγχρονίσετε τα πάντα και τα πάντα μέσω του πρωτοκόλλου NTP - ρυθμίστε χειροκίνητα τη σωστή ώρα σε όλους τους διακομιστές και τους σταθμούς εργασίας που έχετε στη διάθεσή σας. Εάν ο μη συγχρονισμένος χρόνος σας είναι πολύ διαφορετικός από τον σωστό, τότε μπορείτε να ξεκινήσετε πολλά περιττά προβλήματα στην αρχή.

Τέταρτον, το NTP δεν σχετίζεται με κανέναν τρόπο σε ποια χώρα και ποιες ζώνες ώρας χρησιμοποιούνται και πώς γίνεται η μετάβαση στη θερινή και χειμερινή ώρα και εάν γίνεται μια τέτοια μετάβαση σε αυτήν τη χώρα. Αυτή η ευθύνη ανήκει στο λειτουργικό σύστημα, το οποίο πρέπει να ενημερώσετε εάν υπάρξουν αλλαγές στην ωρολογοποιία στη χώρα. Στα συστήματα Debian και Ubuntu, το πακέτο tzdata είναι υπεύθυνο για αυτό και θα πρέπει να είναι ενημερωμένο.

Πέμπτον, είναι καλύτερα να μην ανεβάσετε τον διακομιστή NTP σας σε ένα σύστημα με μεγάλη φόρτωση.

Το πρωτόκολλο ώρας δικτύου είναι ένα πρωτόκολλο δικτύου για το συγχρονισμό του εσωτερικού ρολογιού ενός υπολογιστή χρησιμοποιώντας δίκτυα μεταβλητής καθυστέρησης που βασίζονται σε μεταγωγή πακέτων.

Αν και παραδοσιακά το NTP χρησιμοποιεί UDP για τη λειτουργία του, είναι επίσης ικανό να λειτουργεί μέσω TCP. Το σύστημα NTP είναι εξαιρετικά ανθεκτικό στις αλλαγές στον λανθάνοντα χρόνο των μέσων.

Ο χρόνος αντιπροσωπεύεται στο σύστημα NTP ως ένας αριθμός 64 bit που αποτελείται από έναν μετρητή δευτερολέπτων 32 bit και έναν κλασματικό δευτερόλεπτο μετρητή 32 bit, επιτρέποντας τη μετάδοση χρόνου στην περιοχή από 2-32 δευτερόλεπτα, με θεωρητική ακρίβεια 2. -32 δευτερόλεπτα. Εφόσον η χρονική κλίμακα στο NTP επαναλαμβάνεται κάθε 232 δευτερόλεπτα (136 χρόνια), ο παραλήπτης πρέπει να γνωρίζει τουλάχιστον κατά προσέγγιση την τρέχουσα ώρα (με ακρίβεια 68 ετών). Λάβετε επίσης υπόψη ότι η ώρα μετριέται από τα μεσάνυχτα της 1ης Ιανουαρίου 1900 και όχι από το 1970, επομένως πρέπει να αφαιρεθούν σχεδόν 70 χρόνια (συμπεριλαμβανομένων των δίσεκτων ετών) από την ώρα NTP για να ευθυγραμμιστεί σωστά η ώρα με τα συστήματα Windows ή Unix .

Πως δουλεύει

Οι διακομιστές NTP λειτουργούν σε ένα ιεραρχικό δίκτυο, κάθε επίπεδο της ιεραρχίας ονομάζεται βαθμίδα (στρώμα). Η βαθμίδα 0 αντιπροσωπεύεται από το ρολόι αναφοράς. Λαμβάνεται ως πρότυπο Σήμα GPS(Global Positioning System) ή ACTS (Automated Computer Time Service). Στο μηδενικό επίπεδο, οι διακομιστές NTP δεν λειτουργούν.

Οι διακομιστές NTP επιπέδου 1 λαμβάνουν δεδομένα ώρας από ένα ρολόι αναφοράς. Οι διακομιστές NTP επιπέδου 2 συγχρονίζονται με διακομιστές επιπέδου 1. Μπορούν να υπάρχουν έως και 15 επίπεδα συνολικά.

Οι διακομιστές NTP και οι πελάτες NTP λαμβάνουν τα δεδομένα χρόνου τους από διακομιστές Tier 1, αν και στην πράξη οι πελάτες NTP θα ήταν καλύτερα να μην το κάνουν αυτό, καθώς χιλιάδες αιτήματα μεμονωμένων πελατών θα ήταν πάρα πολλά για τους διακομιστές Tier 1. Είναι καλύτερο να ρυθμίσετε ένα τοπικό NTP διακομιστή που θα χρησιμοποιήσουν οι πελάτες σας για να λάβουν πληροφορίες σχετικά με την ώρα.

Η ιεραρχική δομή του πρωτοκόλλου NTP είναι ανεκτική σε σφάλματα και περιττή. Ας δούμε ένα παράδειγμα της δουλειάς του. Δύο διακομιστές NTP Tier 2 συγχρονίζονται με έξι διαφορετικούς διακομιστές Tier 1, ο καθένας σε μια ανεξάρτητη σύνδεση. Οι εσωτερικοί κεντρικοί υπολογιστές συγχρονίζονται με εσωτερικούς διακομιστές NTP. Οι δύο διακομιστές NTP Tier 2 συντονίζουν το χρόνο μεταξύ τους. Εάν η σύνδεση με τον διακομιστή Βαθμίδας 1 ή έναν από τους διακομιστές Βαθμίδας 2 αποτύχει, ο πλεονάζων διακομιστής Βαθμίδας 2 αναλαμβάνει τη διαδικασία συγχρονισμού.

Ομοίως, οι κεντρικοί υπολογιστές και οι συσκευές Tier 3 μπορούν να χρησιμοποιήσουν οποιονδήποτε από τους διακομιστές Tier 2. Το πιο σημαντικό, η ύπαρξη ενός πλεονάζοντος δικτύου διακομιστών NTP διασφαλίζει ότι οι διακομιστές ώρας είναι πάντα διαθέσιμοι. Με το συγχρονισμό με πολλαπλούς διακομιστές χρόνου, το NTP χρησιμοποιεί δεδομένα από όλες τις πηγές για να υπολογίσει τον ακριβέστερο χρόνο.

Αξίζει να σημειωθεί ότι το πρωτόκολλο NTP δεν ρυθμίζει την ώρα στην πιο καθαρή του μορφή. Διορθώνει το τοπικό ρολόι χρησιμοποιώντας τη μετατόπιση ώρας, τη διαφορά μεταξύ της ώρας στον διακομιστή NTP και του τοπικού ρολογιού. Οι διακομιστές NTP και οι πελάτες προσαρμόζουν τα ρολόγια τους συγχρονίζοντας με τρέχουσα ώρασταδιακά ή ταυτόχρονα.