Configurazione di un server NTP in Windows

A partire da Windows 2000, tutti i sistemi operativi Windows includono un servizio orario W32 Tempo. Questo servizio è progettato per sincronizzare l'ora all'interno di un'organizzazione. W32Time è responsabile del funzionamento delle parti client e server del servizio orario e lo stesso computer può essere sia un client che un server NTP (Network Time Protocol).

Per impostazione predefinita, il servizio ora di Windows è configurato come segue:

Quando il sistema operativo è installato, Windows avvia un client NTP e si sincronizza con un'origine dell'ora esterna;
Quando aggiungi un computer a un dominio, il tipo di sincronizzazione cambia. Tutto computer client e i server membri nel dominio utilizzano un controller di dominio per sincronizzare l'ora, autenticandoli;
Quando un server membro viene promosso a controller di dominio, viene avviato un server NTP, che utilizza un controller con il ruolo di emulatore PDC come origine dell'ora;
L'emulatore PDC, che si trova nel dominio radice della foresta, è il server dell'ora principale per l'intera organizzazione. Allo stesso tempo, è anche sincronizzato con una sorgente di tempo esterna.

Questo schema funziona nella maggior parte dei casi e non richiede alcun intervento. Tuttavia, la struttura del servizio ora di Windows potrebbe non seguire una gerarchia di domini e qualsiasi computer può essere designato come origine ora affidabile. A titolo di esempio, descriverò Impostazione NTP-server in Windows Server 2008 R2, anche se la procedura non è cambiata molto da Windows 2000.

Avvio di un server NTP

Prendo subito atto che il servizio orario in Windows Server (dal 2000 al 2012) non ha interfaccia grafica ed è configurato sia da riga di comando o tramite modifica diretta registro di sistema. Personalmente, il secondo metodo è più vicino a me, quindi andiamo al registro.

Quindi, la prima cosa che dobbiamo fare è avviare il server NTP. Apri il ramo del registro
HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.
Qui per abilitare il parametro del server NTP Abilitato devi impostare il valore 1 .

Quindi riavviamo il servizio orario con il comando net stop w32time && net start w32time

Dopo aver riavviato il servizio NTP, il server è già attivo e può servire i client. Puoi verificarlo usando il comando w32tm /query /configuration. Questo comando visualizza un elenco completo delle opzioni di servizio. Se la sezione Server Ntp contiene la stringa Abilitato: 1, quindi tutto è in ordine, il time server funziona.

Affinché il server NTP possa servire i client, non dimenticare di aprire la porta UDP 123 sul firewall per il traffico in entrata e in uscita.

Impostazioni di base del server NTP

Il server NTP è stato abilitato, ora è necessario configurarlo. Aprire il ramo del registro HKLM\System\CurrentControlSet\services\W32Time\Parameters. Qui siamo principalmente interessati al parametro genere A che specifica il tipo di sincronizzazione. Può assumere i seguenti valori:

NoSync- Il server NTP non è sincronizzato con alcuna origine dell'ora esterna. Viene utilizzato l'orologio integrato nel chip CMOS del server stesso;
NTP- Il server NTP viene sincronizzato con i server dell'ora esterni, specificati nell'impostazione del registro Server Ntp;
NT5DS- Il server NTP si sincronizza secondo la gerarchia del dominio;
AllSync- Il server NTP utilizza tutte le origini disponibili per la sincronizzazione.

Il valore predefinito per un computer membro di un dominio è NT5DS, per un computer autonomo - NTP.

E parametro Server Ntp, che specifica i server NTP con cui questo server sincronizzerà l'ora. Per impostazione predefinita, questo parametro contiene il server NTP Microsoft (time.windows.com, 0x1), se necessario è possibile aggiungere più server NTP inserendo i loro nomi DNS o indirizzi IP separati da uno spazio. Ad esempio, è possibile visualizzare l'elenco dei server orari disponibili.

Puoi aggiungere un flag alla fine di ogni nome (es. ,0x1) che specifica la modalità di sincronizzazione con il server dell'ora. Sono ammessi i seguenti valori:

0x1– SpecialInterval, utilizzo di un intervallo di polling speciale;
0x2– Usa come modalità solo di fallback;
0x4– SymmetricActive, modalità attiva simmetrica;
0x8– Cliente, invio di una richiesta in modalità client.

Quando si utilizza il flag SpecialInterval, è richiesto il valore dell'intervallo impostato nella chiave SpecialPollInterval. Se il flag UseAsFallbackOnly è impostato, al servizio ora viene comunicato che questo server verrà utilizzato come server di fallback e che gli altri server nell'elenco verranno contattati prima della sincronizzazione con esso. La modalità attiva simmetrica viene utilizzata per impostazione predefinita dai server NTP e la modalità client può essere utilizzata in caso di problemi di sincronizzazione. Puoi vedere di più sulle modalità di sincronizzazione o non scherzare e mettilo ovunque ,0x1(come consigliato da Microsoft).

Un altro parametro importante Annuncia le bandiere che si trova nella chiave di registro HKLM\System\CurrentControlSet\services\W32Time\Config. È responsabile di come il server NTP si dichiara e può assumere i seguenti valori:

0x0( Non è un server dell'ora) - il server non si pubblicizza tramite NetLogon come origine dell'ora. Può rispondere alle richieste NTP, ma i vicini non saranno in grado di riconoscerlo come fonte di tempo;
0x1(Sempre server orario) - il server si annuncerà sempre indipendentemente dallo stato;
0x2(server orario automatico) - il server si annuncerà solo se riceve un orario affidabile da un altro vicino (NTP o NT5DS);
0x4(Server orario sempre affidabile) - il server si dichiarerà sempre come una fonte di orario affidabile;
0x8(Server orario affidabile automatico): un controller di dominio viene dichiarato automaticamente affidabile se si tratta di un emulatore PDC di dominio radice della foresta. Questo flag consente al PDC principale della foresta di affermarsi come origine dell'ora autorizzata per l'intera foresta, anche se non è connesso ai server NTP a monte. Nessun altro controller o server membro (che ha il flag predefinito 0x2) non può pretendere di essere una fonte affidabile del tempo se non è in grado di trovare una fonte del tempo per se stesso.

Significato Annuncia le bandiereè la somma dei suoi flag costituenti, ad esempio:

10=2+8 - Il server NTP si dichiara una fonte di tempo affidabile, a condizione che riceva l'ora da una fonte affidabile o sia un PDC di dominio radice. Il flag 10 è impostato per impostazione predefinita sia per i membri del dominio che per i server autonomi.

5=1+4 - Il server NTP afferma sempre di essere una fonte di tempo affidabile. Ad esempio, per dichiarare un server membro (non un controller di dominio) come origine ora affidabile, è necessario il flag 5.

Bene, impostiamo l'intervallo tra gli aggiornamenti. La chiave già menzionata sopra ne è responsabile. Intervallo sondaggio speciale, che si trova nella chiave di registro HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient. È in secondi e il valore predefinito è 604800, ovvero 1 settimana. Questo è molto, quindi vale la pena ridurre il valore di SpecialPollInterval a un valore ragionevole, ad esempio 1 ora (3600).

Dopo la configurazione, è necessario aggiornare la configurazione del servizio. Puoi farlo con il comando w32tm /config /update. E ancora qualche comando per configurare, monitorare e diagnosticare il servizio orario:

w32tm /monitor: utilizzando questa opzione, puoi scoprire quanto l'ora di sistema di questo computer differisce dall'ora del controller di dominio o di altri computer. Per esempio: w32tm /monitor /computers:time.nist.gov
w32tm /resync - Con questo comando è possibile forzare la sincronizzazione del computer con il time server utilizzato.
w32tm /stripchart - mostra la differenza di tempo tra l'attuale e computer remoto e può visualizzare il risultato in forma grafica. Ad esempio, il comando w32tm /stripcchart /computer:time.nist.gov /samples:5 /dataonly farà 5 confronti con la fonte specificata e visualizzerà il risultato in forma di testo.

w32tm /config è squadra principale Utilizzato per configurare il servizio NTP. Con il suo aiuto, puoi impostare l'elenco dei server orari utilizzati, il tipo di sincronizzazione e molto altro. Ad esempio, puoi sovrascrivere i valori predefiniti e impostare la sincronizzazione dell'ora con una fonte esterna usando il comando w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update
w32tm /query - Mostra le impostazioni del servizio correnti. Ad esempio, w32tm /query /source mostrerà l'origine dell'ora corrente e w32tm /query /configuration mostrerà tutti i parametri del servizio.

Bene, come ultima risorsa 🙁
w32tm /unregister - Rimuove il servizio orario dal computer.
w32tm /register - Registra il servizio orario sul computer. In questo caso, viene ricreato l'intero ramo del parametro nel registro.

Il server dell'ora esatto è progettato per sincronizzare gli indicatori della frequenza temporale. Il dispositivo genera segnali di frequenza e tempo con elevata precisione e sincronizza questi parametri in siti remoti.

Il server di sincronizzazione dell'ora può funzionare utilizzando vari segnali e protocolli, incluso il comune protocollo NTP e il più diffuso protocollo PTP. Ricevendo segnali dai satelliti dei sistemi di posizionamento globale GPS e GLONASS, il server li trasmette ai dispositivi client e sincronizza i parametri temporali.

Descrizione di SSV-1G

Il server di frequenza e tempo "SSV-1G" è un dispositivo stand-alone alto 1,5 U, installato in un rack per telecomunicazioni da 19", progettato per generare segnali di frequenza e tempo.

A differenza di molti altri prodotti sul mercato, il time server SSV-1G non si basa su server industriali, ma utilizza una propria piattaforma hardware, che ne riduce notevolmente i costi, aumenta l'affidabilità ed elimina la dipendenza dal produttore del sistema operativo e della piattaforma server .

La sincronizzazione del server dell'ora esatta viene eseguita dai segnali dei sistemi di radionavigazione satellitare (SRNS) sia del GLONASS russo che del GPS, il che aumenta la precisione della determinazione del tempo e riduce i rischi della dipendenza dell'operatore dai sistemi di navigazione stranieri.

L'ingresso del segnale 1PPS, l'ingresso E1/2,048 MHz o l'ingresso 5 (10) MHz possono essere utilizzati come sorgenti di clock di backup per l'oscillatore master.

L'ingresso RS232 del modulo COMB può essere utilizzato come fonte di backup della sincronizzazione della scala temporale utilizzando i protocolli TOD, Sirf.

L'SSV-1G è alimentato da due ingressi (Main/Backup) da fonti indipendenti AC 220 V 50Hz / DC 48 V. È disponibile un'opzione di consegna con due ingressi di alimentazione DC 48 V e un convertitore esterno aggiuntivo AC 220 V 50Hz - DC 48 V, che permette di alimentare l'SSV-1G attraverso un ingresso AC 220 V 50 Hz, e attraverso l'altro ingresso DC 48 V. Il consumo di energia dipende dalla configurazione e non supera i 40 W.

La manutenzione del dispositivo è semplificata il più possibile. Il personale operativo può ricevere informazioni e controllare il dispositivo utilizzando il software Maintenance System o utilizzando gli strumenti di controllo integrati nel dispositivo: un indicatore grafico e una tastiera.

Specifiche SSV-1G

Caratteristica Significato
Generale
Tipo di generatore interno Piezoelettrico termostatato ultrapreciso
Ingressi sincronizzazione esterna segnale dell'orologio GLONASS, GPS, Galileo, 1 PPS, Е1/2.048 MHz, 5 MHz, 10 MHz
Ingressi orologio esterno GLONASS, GPS, Galileo, ToD, SIRF
Uscite di sincronizzazione Server NTP, master PTP, 1 PPS, Е1/2.048 MHz, SIRF, IRIG-B, 5 MHz, 10 MHz, loop di corrente
Controllo
Autonomo tastiera e display integrati
Locale Porta USB e software di manutenzione
Rete Software di manutenzione e Ethernet, SNMP v2C (RFC 1158)
interfaccia di rete Ethernet 10/100 Base-T
Protocolli supportati
strato di trasporto TCP, UDP
protocollo IP IP v4
IP v6 (opzionale)
configurazione automatica DHCP (RFC 2131)
Servizio nomi NetBios (NBNS)
NTP (Network Time Protocol) NTP v2 (RFC 1119)
NTP v3 (RFC 1305)
NTP v4 (RFC 5905),
SNTP v3 (RFC 1769)
SNTP v4 (RFC 2030)
PTP (Protocollo tempo di precisione) PTP v2 (IEEE Std 1588-2008)
protocollo SNMP SNMPv2c (RFC 1158)
Protocollo RS-232 SIRF
TOD
Interfaccia 1PPS (1Hz)
livello di uscita 5V (compatibile con TTL)
durata dell'impulso 5 µs (IEEE Std 1344 - 1995)
polarità degli impulsi positivo negativo
resistenza di linea 50 ohm
Segnali di clock a 5 MHz e 10 MHz
forma d'onda nominalmente rettangolare
livello del segnale in uscita con un carico di 50 ohm 1V
Segnale di clock 2.048 MHz (G.703/10)
forma d'onda nominalmente rettangolare
1,5 V
1,9 V
Segnale di clock 2.048 Mbps (G.703/6)
forma d'onda bipolare
livello del segnale in uscita con un carico di 75 ohm (coppia coassiale) 1,5 V
livello del segnale di uscita con un carico di 120 ohm (coppia bilanciata) 1,9 V
Caratteristiche metrologiche
limiti di errore relativo ammissibile in frequenza nella modalità di sincronizzazione tramite segnali GNSS GLONASS/GPS ±5,0×10 -11
limiti della deviazione relativa ammissibile del quadrato medio della componente casuale dell'errore di misura della frequenza del segnale di uscita su un intervallo di tempo di misura di 100 s ±5,0×10 -11
limiti dell'errore assoluto consentito per collegare il fronte di salita dell'impulso di uscita con una frequenza di 1 Hz alla scala temporale UTC nella modalità di sincronizzazione mediante segnali GNSS GLONASS/GPS ±110 ns
limiti dell'errore assoluto consentito per collegare il fronte di salita dell'impulso di uscita con una frequenza di 1 Hz alla scala temporale UTC nella modalità di funzionamento autonomo al giorno ±20 µs
limiti dell'errore assoluto consentito del riferimento della scala temporale rispetto alla scala temporale UTC(SU) tramite protocollo NTP tramite interfaccia Ethernet ±10 µs
Numero di moduli di espansione fino a 8 pezzi
Prestazione
Velocità del server NTP per porta Ethernet 10/100 Base-T, richieste al secondo, non inferiore a 123 000
Alimentazione elettrica
numero di ingressi di alimentazione
2
tensione di alimentazione
(a seconda del tipo di esecuzione)
═ 60 V (da 36 a 72) V
~ 220 V (da 198 a 242) 50 Hz
Consumo di energia non più di 50 W in modalità "funzionante".
non più di 60 W in modalità "riscaldamento".
dimensioni 483×255×65 mm
Il peso non più di 6 kg
Modalità di lavoro ventiquattro ore su ventiquattro
vita media di servizio almeno 20 anni

Vantaggi della sorgente di tempo SSV-1G

    • Ottimo rapporto qualità prezzo

La sorgente SSV-1G ha uno dei migliori rapporti qualità-prezzo nella sua classe di apparecchiature. Ciò si ottiene con due soluzioni tecnologiche.

In primo luogo, l'SSV-1G è costruito sulla base di una piattaforma hardware di propria produzione. Inoltre, il dispositivo SSV-1G non contiene software con licenza di terze parti.

In secondo luogo, invece di costosi oscillatori al rubidio ad alta precisione con una breve durata, vengono utilizzati oscillatori al quarzo con doppio controllo della temperatura, che garantisce un livello di temperatura costante necessario per garantire una modalità di funzionamento stabile. Questa soluzione è simile nella precisione ai generatori di rubidio, ma costa molto meno ed è più affidabile.

    • Informazioni di sicurezza

Tutti i moduli di espansione SSV-1G, incluso il modulo server NTP, hanno un'implementazione hardware costruita sulla base di un rigido automa.

Questa soluzione fornisce le massime prestazioni e di conseguenza:

  1. Elevata precisione di trasmissione del timestamp grazie all'assenza di ritardi interni che influiscono sull'asimmetria del canale di trasmissione e ricezione dei pacchetti NTP.
  2. L'impossibilità di interrompere il funzionamento del server NTP a causa di attacchi DDOS. La velocità del server NTP locale è superiore alla velocità del canale Ethernet.
  3. L'impossibilità di interrompere il funzionamento del server NTP a causa di un accesso non autorizzato alle risorse tramite la porta Ethernet. Il server dell'ora NTP fornisce solo funzionalità e non risponde a nessun altro pacchetto IP.

Design modulare

Lo chassis di base della sorgente SSV-1G è un case da 19 pollici con moduli di controllo installati, un ricevitore di segnale SRNS, un oscillatore al quarzo stabilizzato termicamente con un anello ad aggancio di fase e un backplane per l'installazione di moduli di espansione funzionali.

Il design modulare consente di creare fino a 16 server NTP sulla base di un dispositivo in reti fisicamente separate.

I moduli di espansione vengono installati in base alla configurazione richiesta dei segnali di ingresso/uscita in base alle specifiche determinate al momento dell'ordine.

Quando si modifica la configurazione, non è necessario acquistare un nuovo dispositivo, è sufficiente installare un numero aggiuntivo richiesto di moduli di espansione.

In totale possono essere installati fino a 8 moduli di espansione.

Moduli sorgente di frequenza e tempo SSV-1G

Modulo MLAN

  • Simple Network Time Protocol (RFC 1769, RFC 2030);
  • Protocollo temporale (RFC 868);
  • Protocollo diurno (RFC 867).

Modulo MLANP

Il modulo è progettato per ricevere richieste dai client e generare un pacchetto con l'ora esatta secondo i seguenti protocolli:

  • Network Time Protocol (RFC 1119, RFC 1305, RFC 5905);

Il Precision Time Protocol (PTP) è progettato per una singola connessione client. La modalità di funzionamento è determinata da qualsiasi combinazione dei seguenti parametri:

Protocollo di trasmissione Ethernet, UDP
modalità di indirizzamento Unicast, Multicast, Misti
due passi si No

Quando si utilizza il Network Time Protocol (NTP), è possibile inviare pacchetti all'indirizzo IP specificato (inclusa la trasmissione broadcast), con la frequenza specificata.

Il modulo ha due canali indipendenti con funzionalità identiche e lo stesso set di parametri di configurazione. I canali sono configurati individualmente. La capacità di carico di ciascun canale è di circa 123.000 pacchetti al secondo.

Modulo MGLAN (NTP/PTP)

Il modulo è progettato per ricevere richieste dai client e generare un pacchetto con l'ora esatta secondo i seguenti protocolli:

  • Precision Time Protocol V2 (IEEE Std 1588-2008);
  • Network Time Protocol (RFC 1119, RFC 1305, RFC 5905);
  • Simple Network Time Protocol (RFC 1769, RFC 2030).

Modulo MPPS

Il modulo è progettato per ricevere un segnale PPS (1Hz) e formare un segnale, la cui forma è impostata nella configurazione, ha due canali identici, ognuno dei quali può funzionare in modalità di ricezione o trasmissione.

Modulo "MSYNC 120", "MSYNC 75"

Il modulo è progettato per ricevere e generare segnali a 2.048 MHz (G.703/10) o 2.048 Mbps (G.703/6) e dispone di due canali identici, ciascuno dei quali può funzionare nella modalità di ricezione o trasmissione del segnale.

Modulo MCOMB

Il modulo MCOMB è progettato per ricevere/trasmettere l'esatta ora attuale nel formato specificato tramite l'interfaccia RS-232, nonché per ricevere e generare un impulso di marca temporale da 1 PPS.

Protocolli di interfaccia RS-232 supportati: TOD; Sirf, TimeString, NMEA.

Modulo "M10M"

Il modulo è progettato per ricevere e generare segnali a 5 MHz o 10 MHz e dispone di due canali identici, ciascuno dei quali può funzionare nella modalità di ricezione o trasmissione di un segnale.

Modulo "MTP" (Anello di Corrente)

Il modulo è progettato per generare un impulso timestamp tramite l'interfaccia "Current loop" o "Dry contact" e dispone di due canali indipendenti, galvanicamente isolati.

Modulo MIRIG

Il modulo MIRIG è progettato per generare un segnale secondo la specifica del protocollo IRIG STANDARD 200-04.

Modulo "M422"

Il modulo "M422" è progettato per ricevere/trasmettere l'esatta ora attuale nel formato specificato tramite l'interfaccia RS-422/485, nonché per ricevere e generare un impulso di marca temporale tramite l'interfaccia RS-422/485.

Protocolli di interfaccia RS-422/485 supportati: TOD, Sirf, TimeString, NMEA.

Gestione centralizzata

Il controllo e la gestione del funzionamento dei dispositivi di sincronizzazione installati sulla rete dell'operatore possono essere forniti da una rete specializzata Software"Manutenzione", sviluppato da CJSC "COMSET-service".

Gestione della risoluzione dei problemi

  • raccolta di messaggi su incidenti, malfunzionamenti ed eventi che richiedono attenzione dai dispositivi collegati;
  • ottenere un elenco di incidenti;
  • filtrazione di infortuni con assegnazione di grado di gravità;
  • visualizzazione di incidenti e malfunzionamenti, nonché delle loro caratteristiche;
  • controllo dell'accessibilità del dispositivo di controllo (presenza di un canale di comunicazione tra il dispositivo e il sistema di controllo);
  • generazione di report su incidenti ed eventi.

Gestione della sicurezza

  • protezione dell'accesso al sistema tramite username e password;
  • autorizzazione dell'utente nel sistema di controllo;
  • quattro livelli di diritti utente dall'amministratore (con diritti completi) a un utente con diritti di sola lettura;
  • controllo delle azioni degli operatori sul trattamento dei malfunzionamenti.

Gestione della configurazione

  • aggiunta di un nuovo dispositivo;
  • per ogni dispositivo supportato visualizzazione remota di informazioni sul dispositivo: informazioni sugli ingressi/uscite utilizzati, configurazione del dispositivo, modalità di funzionamento del dispositivo, parametri che determinano il funzionamento del dispositivo;
  • riconoscimento automatico numeri seriali dispositivi (funzione di inventario).

Gestione delle prestazioni

  • visualizzazione delle caratteristiche attuali dei dispositivi in ​​tempo reale.

Output e interfaccia utente

  • i dati sullo stato degli elementi di rete sono visualizzati in forma tabellare con possibilità di stamparli;
  • il sistema ha un comodo interfaccia utente, semplificando la visualizzazione:
    • un elenco di dispositivi, il loro stato attuale e gli elementi informativi sullo stato;
    • elenco utenti, diritti di accesso concessi agli utenti;
    • stato attuale di tutti i moduli del dispositivo;
    • lo stato del ricevitore del segnale satellitare, lo stato della costellazione di satelliti visibile nel punto di installazione;
    • e altro ancora.
  • Il software “Manutenzione” dispone di strumenti avanzati per la visualizzazione e l'analisi delle segnalazioni di guasto con possibilità di segnalazione sonora di vari toni, facilmente personalizzabili dall'utente dell'impianto.

Il time server "SSV-1G" è uno sviluppo proprietario della società di servizi KOMSET. Ha una piattaforma hardware indipendente, un'elevata precisione di temporizzazione, interfaccia intuitiva e due alimentatori: principale e di riserva. Puoi acquistare da noi un server di sincronizzazione dell'ora a Mosca in una versione standard o estesa. È anche possibile fornire il dispositivo in tutta la Russia. È possibile ottenere i prezzi delle apparecchiature presentando una richiesta di offerta commerciale da parte dell'azienda.

Dove viene utilizzato il time server NTP?

La portata dell'attrezzatura è piuttosto ampia. I server NTP sono utilizzati in tutte le strutture in cui è estremamente importante regolare i parametri temporali:

  • Aziende operatori mobili e telecomunicazioni.
  • Provider Internet.
  • Aeroporti, stazioni ferroviarie e degli autobus.
  • Nei sistemi di contabilità automatizzata commerciale.

La sincronizzazione dell'ora è un compito importante, anche se non molte persone ci hanno pensato. Bene, cosa c'è di sbagliato nello scappare sul tempo del server? Sapevi che molti problemi di clock influiscono sui protocolli relativi alla crittografia? Per questo motivo, in Active Directory, una differenza di clock superiore a 5 minuti comporterà problemi di autenticazione Kerberos.

livelli orari. Strati.

Per comprendere un dispositivo NTP, dovresti conoscere il concetto strati o strato. Fonti temporali autorevoli come satelliti GPS, orologi atomici al cesio, onde radio WWVB: tutto questo strato 0. Sono autorevoli sulla base del fatto che hanno un modo per mantenere un cronometraggio estremamente accurato. Ovviamente puoi usare i normali orologi al quarzo, ma sapendo che è facile perdere 15 secondi con loro in un mese, è meglio non usarli come misura del tempo. Strato 0 questo è quando un secondo non è perso in 300.000 anni!

Computer che richiedono tempo direttamente (non sulla rete!). strato 0- questo è strato 1. Poiché ci sono sempre ritardi dovuti alla trasmissione del segnale e ai costi per l'impostazione del tempo, i computer strato 1 non così preciso come strato 0, ma nella vita reale la differenza raggiunge un paio di microsecondi (1 µs = 10 -6 s), che è una deviazione abbastanza accettabile.

Il livello successivo di computer che impiegano tempo sulla rete da strato 1- è... rullo di tamburi... intrigo... strato 2! Anche in questo caso, a causa di vari ritardi (rete sicuramente), strato 2 un po' indietro strato 1 e certamente da strato 0. In pratica, questa differenza va da pochi microsecondi (1 µs = 10 -6 s) a pochi millisecondi (1 ms = 10 -3 s). Molti non vogliono sincronizzarsi ulteriormente con il livello strato 2.

Come risulta dal diagramma, strato 4 prende tempo dai superiori strato 3. strato 5 a strato 4 e così via. strato 16è considerato lo strato più basso e il tempo è considerato lì fuori sincrono.

Per sincronizzare l'ora utilizzando il protocollo NTP, è necessario prima impostare manualmente l'ora. Non sono consentiti più di 1000 secondi di differenza tra l'ora esatta e l'orologio. Se il server dell'ora che stai utilizzando rimane per più di 1000 millisecondi (1 secondo), verrà rimosso dall'elenco e ne verranno utilizzati altri. Questo meccanismo ti consente di filtrare le cattive fonti di tempo.

Cliente del tempo.

Nel file /etc/ntp.conf, le righe Server sono importanti per il client. Possono essercene diversi - fino a 10 pezzi!

Quanto aggiungere? Tieni a mente:

  • Se hai un solo server (una linea di server), se questo server inizia a mentire, lo seguirai ciecamente. Se il suo tempo scade di 5 secondi e gli corri dietro.
  • Se vengono aggiunti 2 server (2 linee di server), NTP li contrassegnerà entrambi come falsi ticker. Se uno di loro mente, allora NTP non può capire chi sta mentendo, poiché non c'è il quorum.
  • Se vengono aggiunti 3 o più server temporali, è possibile calcolare un bugiardo falsi ticker. Se ci sono 5 o 6 server temporali, puoi trovare 2 bugiardi falsi ticker. Se ci sono 7 o 8 server, allora 3 falsi ticker. Se ci sono 9 e 10 server, allora 4 falsi ticker.

Progetto Piscina NTP.

Esiste un tale progetto NTP Pool all'indirizzo di cui pool.ntp.org/zone/ru/ puoi trovare i server orari consigliati per gli utenti russi.

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

Sistemi operativi come Debian e Ubuntu offrono agli utenti i propri time server.

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

Se chiami ntpq -pn sulla tua macchina Linux che utilizza NTP

Reid remoto st t quando poll raggiungere ritardo offset 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

Cosa dicono i nomi delle colonne?

  • a distanza- server remoti con cui sincronizzare l'ora.
  • rifare- strato superiore per questo server.
  • st- livello di falda. Da 0 (non disponibile per noi) a 16 (non desiderabile per noi). Ideale - 2.
  • t- Tipo di connessione. " tu"- unicast o manycast, " b"-broadcast o multicast, " l" orologio di riferimento locale " S" - nodo simmetrico, " UN" - server manycast, " B"-server di trasmissione, " M"- server multicast.
  • quando- l'ora in cui il server ci ha risposto l'ultima volta. Il parametro visualizza il numero in secondi, ma può essere in minuti se il numero lo è m o ore se h.
  • sondaggio- frequenza di polling. Minimo 16 secondi, massimo 32 ore. Il numero deve essere 2 n . Di solito in questo parametro ci sono 64 secondi o 1024.
  • portata- Un ottetto a 8 bit che indica lo stato della comunicazione con il server orario remoto: riuscita o non riuscita. Se i bit sono impostati, allora successo, altrimenti fallimento. Il valore 377 è binario 0000 0000 1111 1111.
  • ritardo- il valore in millisecondi indica il tempo che intercorre tra l'invio e la ricezione di una risposta (tempo di andata e ritorno - RTT).
  • compensare- offset in millisecondi tra te e i time server. Può essere un numero positivo o negativo.
  • nervosismo- un valore assoluto in millisecondi che indica la deviazione standard del tuo offset.

Prima dell'indirizzo IP del server NTP c'è un simbolo: questo è codice di conteggio. tipi codice di conteggio:

  • " " - scartato come non valido. Ad esempio, non c'è connessione con lui o è offline, è di grado troppo alto e non serve persone come te.
  • "X"- scartato dall'algoritmo "intersezione". L'algoritmo di intersezione prepara un elenco di partner candidati che possono diventare origini di sincronizzazione e calcola un intervallo di confidenza per ciascuno di essi.
  • "." - caduto a causa dell'overflow del tavolo.
  • "-" - scartato dall'algoritmo del cluster. L'algoritmo di clustering ordina l'elenco dei candidati in base a codici di livello e distanze di sincronizzazione.
  • "+" - il server è abilitato dall'"algoritmo di combinazione". Questo server è un ottimo candidato se il tuo attuale server dell'ora inizia a fallire.
  • "#" - il server è un ottimo time server alternativo. Il server con # può essere visto solo se hai più di 10 voci del server in /etc/ntp.conf
  • "*" - server dell'ora corrente. Le sue letture vengono utilizzate per sincronizzare i tuoi orologi.
  • "o"- Server di impulsi al secondo (PPS). Questo di solito significa che questo server dell'ora utilizza sorgenti di tempo come satelliti GPS e altri segnali temporali precisi. Se disegnato di, gli altri tipi di codice di conteggio non verranno più visualizzati.

In campo rifare possono essere i seguenti valori:

  • Indirizzo IP - indirizzo del server orario remoto.
  • .ACST.- Server manycast NTP.
  • .ACTS.- Automated Computer Time Service dell'American National Institute of Standards and Technology.
  • .AUTH.- errore di autenticazione.
  • .AUTO.- errore nelle sequenze Autokey.
  • .BCST.- Server di trasmissione NTP.
  • .CHU.- Ricevitore radio a onde corte dalla stazione CHU di Ottawa, Ontario, Canada.
  • .CRYPT.- Errore di protocollo Autokey.
  • .DCFx.- Ricevitore radio LF dalla stazione DCF77 a Mainflingen, Germania.
  • .DENY.- Accesso negato.
  • .GAL.-Ricevitore satellitare europeo Galileo.
  • .VA.- Ricevitore satellitare operativo ambientale geostazionario americano.
  • .GPS.-Ricevitore del sistema di posizionamento globale americano.
  • .HBG.- Ricevitore radio LF dalla stazione HBG di Prangins, Svizzera.
  • .INIT.- Associazione peer inizializzata.
  • .IRIG.- Codice temporale Inter Range Instrumentation Group.
  • .JJY.- Ricevitore radio LF dalla stazione JJY sul monte Otakadoya, vicino a Fukushima o sul monte Hagane sull'isola di Kyushu, in Giappone.
  • .LFx.- Ricevitore radio LF normale.
  • .LOCL. - orologio locale dell'host.
  • .LORC.- Ricevitore radio LF di Long Range Navigation (LORAN-C).
  • .MCST.- Server multicast NTP.
  • .MSF.- Stazione radio di Anthorn vicino ad Anthorn, Cumbria.
  • .NIST.-Istituto nazionale americano di standard e tecnologia.
  • .PPS.- orologio Impulsi al secondo.
  • .PTB.- Physikalisch-Technische Bundesanstalt di Brunswick e Berlino, Germania.
  • .RATE.- Soglia poll NTP superata.
  • .STEP.- cambia il passo NTP. Pregiudizio compensare meno di 1000 millisecondi, ma più di 125 millisecondi.
  • .TDF.- Ricevitore radio LF dalla stazione TéléDiffusion de France di Allouis, Francia.
  • .TIME.- Timeout associazione NTP.
  • .USNO.- Osservatorio navale degli Stati Uniti.
  • .WWV.- Ricevitore radio HF dalla stazione WWV di Fort Collins, Colorado, Stati Uniti.
  • .WWVB.- Ricevitore radio LF dalla stazione WWVB a Fort Collins, Colorado, Stati Uniti.
  • .WWVH.- Ricevitore radio HF della stazione WWVH di Kekaha, sull'isola di Kauai alle Hawaii, Stati Uniti.

In primo luogo, sbarazzarsi del pensiero su come ottenere il tempo da strato 1, dicono di essere più vicini all'ora esatta. Sono più vicini all'ora più precisa del pianeta, solo loro stessi sono sovraccarichi e hanno ritardi RTT elevati per i server regolari. Meglio trovarne uno normale strato 2 e non preoccuparti. Non dimenticare che stiamo parlando di microsecondi e millisecondi, che nella vita ordinaria sono abbastanza.

In secondo luogo, ricorda che la connessione al server dell'ora più vicino non è sempre l'ideale. Più importante non è la vicinanza territoriale, ma il livello di falda. Il progetto NTP Pool pubblica un elenco di server solo a livello strato 1 e strato 2 ed è meglio prendere fino a 10 server temporali da questo elenco, il che andrà bene.

In terzo luogo, se sei un semplice client utente domestico, i server consigliati per te nel tuo sistema operativo saranno un'opzione ideale che non richiede gesti aggiuntivi.

Per gli uffici di grandi dimensioni, l'opzione migliore sarebbe quella di configurare il proprio time server per i computer di lavoro. Questo server riceverà l'ora esatta dai server di riferimento di Internet e la fornirà computer locali. Sui server Debian e Ubuntu, decommenta la riga

Restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap

nel file di configurazione del demone ntpd - /etc/ntp.conf

Gli utenti della rete 192.168/16 saranno in grado di ottenere l'orologio più preciso dal tuo server. Per i server interni basati su Linux che non sono time server e fanno le loro cose, invece di eseguire il demone ntpd in modalità client, è sufficiente specificarlo nel file /etc/cron.daily/syncntpd. Si consiglia di leggere le differenze tra ntpdate e ntp e decidere da soli.
#!/bin/sh
/usr/sbin/ntpdate l'indirizzo IP del tuo server > /dev/null 2>&1
uscita 0

e una volta al giorno, grazie al comando ntpdate, verrà eseguita la sincronizzazione dell'ora. Per evitare malintesi, non essere pigro prima di implementare un time server e sincronizzare tutto e tutto tramite il protocollo NTP: imposta manualmente l'ora corretta su tutti i server e le workstation a tua disposizione. Se il tuo tempo non sincronizzato è troppo diverso da quello corretto, puoi iniziare molti problemi inutili all'inizio.

In quarto luogo, NTP non è collegato in alcun modo in quale paese e quali fusi orari vengono utilizzati e come avviene il passaggio all'ora legale e invernale e se tale transizione viene effettuata in questo paese. Questa responsabilità ricade sul sistema operativo, che è necessario aggiornare se ci sono cambiamenti nell'orologeria nel paese. Sui sistemi Debian e Ubuntu, il pacchetto tzdata è responsabile di questo e dovrebbe essere aggiornato.

Quinto, è meglio non aumentare il tuo server NTP su un sistema molto carico.

Buon pomeriggio, ospiti e lettori abituali. Passando gradualmente dalle basi ad uno studio più approfondito di Linux. Oggi voglio recensire funzionamento del protocollo ntp, così come l'impostazione time server su linux(server ntp). Allora partiamo dalla teoria.

Protocollo NTP

Network Time Protocol (NTP)- un protocollo di rete per sincronizzare l'orologio interno del computer utilizzando reti a latenza variabile (leggi "larghezza" / qualità del canale).

NTP utilizza per il suo lavoro Protocollo UDP e porta 123.

Versione attuale del protocollo - NTP 4. NTP utilizza un sistema gerarchico "livelli orari"(sono anche chiamati Strato). Livello 0 (o Strato 0)- si tratta di solito di dispositivi che sono orologi atomici (molecolari, quantistici), orologi GPS o orologi radio. Questi dispositivi di solito non vengono pubblicati sul World Wide Web, ma sono collegati direttamente Server orari di livello 1 tramite il protocollo RS-232 (contrassegnato con frecce gialle nell'illustrazione). Livello 1 sincronizzato con orologio ad alta precisione livello 0, di solito funzionano come sorgenti per i server livello 2. Livello 2 sincronizzato con una delle macchine livello 1, ed è anche possibile sincronizzarsi con server del tuo livello. Livello 3 funziona in modo simile al secondo. Solitamente i server di livello dal secondo e inferiore sono pubblicati nella rete. Protocollo NTP supporta fino a 256 livelli. Vorrei anche notare che i server di livello 1 e 2, e talvolta 3, non sono sempre aperti al pubblico. A volte, per sincronizzarsi con loro, è necessario inviare una richiesta per posta agli amministratori di dominio.

Perché c'è una restrizione sull'accesso ai server? Con il passaggio a ciascun livello, l'errore relativo al server primario aumenta leggermente, ma aumentando il numero totale di server e quindi .

Assegnazione di un server NTP sulla rete locale

Perché abbiamo bisogno di un server NTP? Ad esempio, ci sono servizi in sistemi operativi, che può dipendere dall'ora sincronizzata. L'esempio più notevole di tali servizi è il protocollo di autenticazione Kerberos. Affinché funzioni, è necessario che sui computer a cui si accede tramite questo protocollo, il tempo di sistema differisca di non più di 5 minuti. Inoltre, l'ora esatta su tutti i computer facilita notevolmente l'analisi dei registri di sicurezza durante le indagini sugli incidenti rete locale.

Modalità operative server/client NTP

Cliente/server

Questa modalità è di gran lunga la più utilizzata su Internet. Lo schema di lavoro è classico. Il client invia una richiesta, a cui il server invia una risposta per un po' di tempo. Il client viene configurato utilizzando la direttiva server nel file di configurazione, che specifica il nome DNS del server dell'ora.

Modalità attiva/passiva simmetrica

Questa modalità viene utilizzata se viene eseguita la sincronizzazione dell'ora tra un numero elevato di computer peer. Oltre al fatto che ogni macchina si sincronizza con un'origine esterna, si sincronizza anche con i suoi peer, fungendo da client e time server per loro. Pertanto, anche se la macchina "perde" la sorgente esterna, sarà comunque in grado di ottenere l'ora esatta dai suoi vicini. I vicini possono lavorare in due modalità: attiva e passiva. Quando opera in modalità attiva, la macchina stessa trasferisce il suo tempo a tutte le macchine vicine elencate nella sezione peers del file di configurazione ntp.conf. Se i neighbor non sono specificati in questa sezione, la macchina è considerata in modalità passiva. L'autenticazione deve essere utilizzata per impedire a un utente malintenzionato di compromettere altre macchine fingendosi una fonte attiva.

Modalità di trasmissione

Questa modalità è consigliata quando un numero limitato di server serve un numero elevato di client. Quando opera in questa modalità, il server trasmette periodicamente i pacchetti utilizzando l'indirizzo di trasmissione della sottorete. Un client configurato per la sincronizzazione in questo modo riceve il pacchetto broadcast del server e si sincronizza con il server. Una caratteristica di questa modalità è che l'ora viene consegnata all'interno della stessa sottorete (limitazione dei pacchetti di trasmissione). Inoltre, l'autenticazione deve essere utilizzata per la protezione contro gli intrusi.

Modalità multicast

Questa modalità è simile alla trasmissione in molti modi. La differenza sta nel fatto che gli indirizzi multicast delle reti di classe D dello spazio degli indirizzi IP vengono utilizzati per consegnare i pacchetti. A client e server viene fornito l'indirizzo del gruppo multicast utilizzato per la sincronizzazione dell'ora. Ciò consente di sincronizzare gruppi di macchine dislocate su sottoreti diverse, a condizione che i router che le collegano supportino il protocollo IGMP e siano configurati per trasmettere traffico multicast.

Modalità Manycast

Questa modalità è nuova per la quarta versione del protocollo NTP. Implica che il client cerchi manycast server tra i suoi vicini di rete, riceva campioni di tempo da ciascuno di essi (usando la crittografia) e, sulla base di questi dati, selezioni i tre "migliori" server manycast con cui il client si sincronizzerà. In caso di guasto di uno dei server, il client aggiorna automaticamente la sua lista.

Per trasmettere campioni di tempo, client e server che operano in modalità manycast utilizzano indirizzi di gruppi multicast (reti di classe D). Client e server che utilizzano lo stesso indirizzo formano la stessa associazione. Il numero di associazioni è determinato dal numero di indirizzi multicast utilizzati.

Il tempo in Linux

Ti dirò brevemente che ora esiste in Linux e come impostarlo. In Linux, come in altri sistemi operativi, ci sono 2 volte. Primo - hardware , a volte chiamato Orologio in tempo reale, abbreviato ( RTC) (sono anche orologi BIOS) sono solitamente associati a un cristallo di quarzo oscillante, che ha una precisione fino a diversi secondi al giorno. La precisione dipende da varie fluttuazioni, come la temperatura ambiente. Secondo orologio - interno orologio software , che funzionano continuamente, anche durante le interruzioni del sistema. Sono soggetti a fluttuazioni associate a un carico di sistema elevato e a latenza degli interrupt. Tuttavia, il sistema in genere legge l'orologio hardware all'avvio e quindi utilizza l'orologio di sistema.

Data e ora del sistema operativo impostato all'avvio in base al valore orologio hardware, così come impostazioni del fuso orario. Le impostazioni del fuso orario sono tratte dal file /etc/ora locale. Questo file è un collegamento (ma più spesso una copia) di uno dei file nella struttura della directory /usr/share/zoneinfo/.

Gli orologi hardware Linux possono memorizzare l'ora nel formato UTC(analogo del GMT), ovvero l'ora territoriale corrente. La raccomandazione generale sull'ora da impostare (?) è la seguente: se il computer ha più sistemi operativi e uno di questi è Windows, è necessario utilizzare l'ora corrente (perché Windows prende l'ora dal BIOS/CMOS e la considera Locale). Se solo operante Sistemi UNIX famiglie, è preferibile memorizzare l'ora nel BIOS in formato UTC.

Dopo l'avvio del sistema operativo, l'orologio del sistema operativo e il BIOS sono completamente indipendenti. Il kernel di sistema sincronizza l'orologio di sistema con l'orologio hardware ogni 11 secondi.

Dopo qualche tempo, potrebbe esserci una differenza di diversi secondi tra gli orologi hardware e software. Quale orologio tiene l'ora corretta? Né l'uno né l'altro finché non ci siamo organizzati sincronizzazione dell'ora.

Nota:

Il kernel Linux memorizza e calcola sempre il tempo come il numero di secondi trascorsi dalla mezzanotte 1 gennaio 1970 dell'anno, indipendentemente dal fatto che l'orologio sia impostato sull'ora locale o sull'ora universale. La conversione all'ora locale viene eseguita durante il processo di query.

Poiché il numero di secondi dal 1 gennaio 1970 UTC è memorizzato come intero con segno a 32 bit (questo è vero per i sistemi Linux/Intel), il tuo orologio smetterà di funzionare intorno al 2038. Linux non ha un problema Y2K, ma ha un problema Y2038. Fortunatamente, a quel punto, tutti i sistemi Linux funzioneranno su sistemi a 64 bit.Un intero a 64 bit conterrà il nostro orologio fino a circa 292271 milionesimo anno.

Server NTP Linux

introduzione

Esistono molte implementazioni per la sincronizzazione dell'ora per il sistema operativo Linux. I più noti sono Xntpd (NTP versione 3), ntpd (NTP versione 4), Crony e ClockSpeed. Nel nostro esempio useremo il server ntp ntpd.

Il demone ntpd è sia un time server che un client, a seconda delle impostazioni del file di configurazione /etc/ntpd.conf (a volte /etc/ntp.conf), il demone può "accettare" l'ora dai server remoti e "distribuire" tempo ad altri host.

Generale circuito di sincronizzazione dell'ora sulla rete locale è il seguente: è necessario disporre di 1 o 2 server con accesso alla rete globale, che riceverà tempo da Internet. Sincronizzare tutti i computer sulla rete locale con i server specificati che ricevono l'ora da Internet.

Installazione di ntpd

In realtà, installazione del demone si riduce all'installazione dei seguenti pacchetti: ntp(pacchetto che include il demone stesso), ntpdate(utilità per la sincronizzazione manuale dell'ora - obsoleta), ntp-doc(documentazione del pacchetto), in alcune distribuzioni sarà necessario installarlo ntp-utils(utility diagnostiche), alcune di esse sono incluse nel pacchetto ntp. Come installare programmi su Linux, ho descritto in. Dopo aver installato il pacchetto, nella maggior parte delle distribuzioni, il demone sarà già configurato come client ntp (per esempio, era così in Debian). Di conseguenza, i file di configurazione principali sono stati creati automaticamente: /etc/ntp.conf e /var/lib/ntp/ntp.drift e il demone è stato lanciato automaticamente.

Prima di configurare il demone per la sincronizzazione con il mondo esterno, suggerirei di impostare la data di sistema corrente su un valore il più vicino possibile al tempo reale. Impostazione della data in Linux prodotto dal comando: data MMDDhhmmCCYY.ss, dove MM - mese, DD - giorno del mese, hh - ore, mm - minuti, CCYY - 4 cifre dell'anno, ss - secondi. Allo stesso tempo, i valori CCYY.ss non è necessario specificare.

Come puoi vedere, il comando specificato imposterà la data e l'ora correnti su 27 dicembre 2010, 20:06:30. comando data senza parametri, visualizza l'ora attuale del sistema. Questo comando ha un sacco di opzioni, che possono essere trovate in man date.

Inoltre, è necessario configurare correttamente l'orologio hardware e il fuso orario. Come accennato in precedenza, il fuso orario viene configurato copiando il file di zona richiesto dalla directory /usr/share/zoneinfo/ archiviare /etc/ora locale:

Ntp-server:~# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Hardware Ho impostato l'orologio su UTC:

# cat /etc/sysconfig/clock | grep UTC # UTC=true indica che l'orologio è impostato su UTC; UTC=vero server ntp2:~# cat /etc/default/rcS | grep UTC UTC=sì

Nel primo esempio, file di configurazione, che definisce l'uso di UTC per RH, il secondo - per le distribuzioni Deb.

Oltre a impostare le impostazioni per utilizzare l'ora UTC, è necessario impostare tempo hardware. (nella maggior parte dei casi questo non è necessario, perché l'ora di sistema impostata è inevitabilmente sincronizzata con l'hardware, dal kernel). Tuttavia, se sei disposto a farlo... comando hwclock legge e imposta l'orologio hardware in base ai parametri passati. Le opzioni disponibili sono descritte nella pagina di manuale del comando. Ecco alcuni esempi di utilizzo di hwclock:

ntp-server# hwclock # legge l'ora dall'orologio hardware ntp-server# hwclock --systohc --utc # imposta l'orologio hardware su # UTC in base all'ora di sistema ntp-server# hwclock --systohc # imposta l'orologio hardware # all'ora locale basata sull'ora di sistema ntp-server# hwclock --set --date "22 Mar 2002 13:17" # imposta l'orologio hardware # sulla stringa specificata

Un'altra opzione per modificare l'ora nell'orologio hardware è l'accesso al BIOS all'avvio del sistema. Poiché l'ora del sistema operativo è indipendente dall'orologio hardware, tutte le modifiche al BIOS verranno prese in considerazione al successivo avvio.

Ora che abbiamo tutto preparato e installato, procediamo al cantiere.

Gestire il demone ntpd

Controllo demone ntpd non è diverso dal controllare qualsiasi altro demone. Avvia o riavvia il servizio ntpd:

#/etc/init.d/ntp start #/etc/init.d/ntp riavvia

Fermare:

#/etc/init.d/ntp stop

#/bin/kill `cat /var/run/ntpd.pid`

Il demone ha le seguenti opzioni di avvio:

P - File PID,
-g - abilita la transizione al grande salto temporale
-c - file di configurazione
-q - forza la sincronizzazione manuale

Configurazione del server ntpd

Innanzitutto ti consiglio di modificare i parametri di avvio del demone nel seguente file di configurazione:

Ntp-server:~# cat /etc/default/ntp NTPD_OPTS="-g"

# cat /etc/sysconfig/ntpd # Parametri per il demone NTP. # Vedi ntpd(8) per maggiori dettagli. .... # Specifica parametri aggiuntivi per ntpd. NTPD_ARGS="-g"

Questa impostazione consentirà di sincronizzare l'orologio anche se c'è una differenza di orario molto grande.

Quindi, come ho detto, le informazioni di configurazione demone ntpdè nel file /etc/ntp.conf. La sintassi del file è standard, come in molte altre configurazioni: le righe vuote e le righe che iniziano con il carattere "#" vengono ignorate. Qui c'è un semplice esempio:

Ntp-server:~# cat /etc/ntp.conf server ntplocal.example.com preferire server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift

Parametro server specifica quali server verranno utilizzati per la sincronizzazione, uno per riga. Se il server viene fornito con un argomento preferire, come ntplocal.example.com, quindi a questo server viene data la preferenza rispetto agli altri. La risposta del server preferito verrà scartata se differisce in modo significativo dalle risposte di altri server, altrimenti verrà utilizzata indipendentemente dalle altre risposte. Discussione preferire in genere utilizzato per server NTP noti per essere molto accurati, come quelli che utilizzano apparecchiature di cronometraggio dedicate.

Parametro file di deriva specifica il file utilizzato per memorizzare l'offset dell'orologio di sistema. Per quanto ho capito, questo file memorizza costantemente un valore, che si forma in base all'analisi delle rettifiche temporali passate, e se le fonti di tempo esterne non sono disponibili, la regolazione dell'ora avviene in base al valore del file deriva. Non deve essere modificato da altri processi. E prima di specificare questo file nella configurazione, è necessario creare il file.

Per impostazione predefinita, il server NTP sarà disponibile per tutti gli host su Internet. Parametro limitare in archivio /etc/ntp.conf ti permette di controllare quali macchine possono accedere al tuo server. Se lo desidera impedire a tutte le macchine di accedere al tuo server NTP, aggiungi la seguente riga al file /etc/ntp.conf:

limita l'impostazione predefinita ignora

Se lo desidera permettere sincronizza il tuo orologio solo con il tuo server macchine sulla tua rete, ma bandire loro configurare il server o essere uguali partecipanti alla sincronizzazione dell'ora, quindi al posto di quella specificata, aggiungi la riga:

restringere 192.168.1.0 mascherare 255.255.255.0 nomodificare notrap

dove 192.168.1.0 è l'indirizzo IP della tua rete e 255.255.255.0 è la sua maschera di rete. /etc/ntp.conf può contenere più direttive di restrizione.

Affinché il demone funzioni correttamente e in modo più accurato, è consigliabile scegliere un server di livello - dallo strato 2 (puoi, ovviamente, lo strato1, ma devi ammazzare il tempo cercando un tale server) e dallo strato 2 selezionato quelli a cui la "distanza" minima. Di solito tali server possono essere forniti dal tuo ISP. Il numero di server selezionati è desiderabile: più di 2-3, più è meglio è, ma entro limiti ragionevoli. Se sei troppo pigro per scegliere i server migliori, puoi prendere un elenco di server aperti di secondo livello da qui: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers.

Selezionare un elenco di server NTP di riferimento

Andiamo all'indirizzo specificato (http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) e selezioniamo un elenco di server iniziali. Da questo elenco selezioniamo i server che soddisfano i nostri requisiti analizzando l'output del comando ntpdate. Quando il comando viene eseguito, viene applicata la seguente sintassi:

ntpdate parametri server_space separati

Affinché la nostra query non apporti modifiche al sistema, dobbiamo utilizzare il parametro -q, che indica l'utilizzo della query senza apportare modifiche. È anche possibile utilizzare l'opzione -d, che indica che il comando verrà eseguito in modalità debug, visualizzando informazioni aggiuntive, senza apportare modifiche reali (con questa opzione, viene visualizzata un sacco di altra spazzatura :), cosa che non facciamo non è necessario al momento). Vedi man 8 ntpdate per altre opzioni. Dal collegamento specificato, ho selezionato tutti i server Open Access situati in Russia (RU) + quello fornito dal provider ed ho eseguito il comando, si è rivelato qualcosa del genere:

ntp-server:~# ntpdate -q ntp2.ntp-servers.net ntp1.vniiftri.ru ntp2.vniiftri.ru ntp4.vniiftri.ru ntp0.ntp-servers.net ntp1.ntp-servers.net ntp.corbina.net Server 88.147.255.85, Stratum 1, offset 0,006494, ritardo 0.09918 Server 62.117.76.142, stratum 1, offset 0,002552, ritardo 0,06920 Server 62.117.76.141, Stratum 1, offset 0.003147, ritardo 0,06918 Server 62.1176.140.140.140.140.140.140.140 Server 62.1140.140.140.140.140.140.140 Server 62.1140.140.140.140.140.140.140.140 Server 62.1140.140.140.140.140.140.140.140 Server 62.1140. Ritardo 0,07350 Server 88.147.254.228, Stratum 1, offset -0.002355, ritardo 0.12030 Server 88.147.254.229, stratum 1, offset -0.000922, ritardo 0.10577 Server 62.117.76.138, Stratum 1, offset 0.00531, ritardo 0,07401 , offset 0.002846, ritardo 0.07188 13 gen 19:14:09 ntpdate: regola il server dell'ora 62.117.76.141 offset 0.003147 sec

Nell'esempio, i nostri server hanno emesso con successo il livello stratum1, che è una buona notizia (ad eccezione del server del provider), offset è la differenza di tempo con questo server in secondi, delay è il ritardo di sincronizzazione in secondi. Di solito, b o Una maggiore precisione si ottiene quando si utilizzano server che hanno una trasmissione di pacchetti a bassa latenza sulla rete. Per scoprirlo, puoi usare . Di conseguenza, scegliendo prima quelli con un tempo di risposta più breve e, tra questi, quelli con meno salti. Io, per non perdere tempo, utilizzerò tutti i server specificati e li inserirò nel file di configurazione. Totale, conoscendo tutto quanto sopra, descriverò il mio file risultante /etc/ntp.conf:

Ntp-server:~# cat /etc/ntp.conf # Server LAN (commentato, non utilizzato - solo un server sulla rete) #server 192.168.0.2 #server 192.168.0.5 # Server Internet server ntp2.ntp-servers. server di rete ntp1.vniiftri.ru server ntp2.vniiftri.ru server ntp4.vniiftri.ru server ntp0.ntp-servers.net server ntp1.ntp-servers.net server ntp3.vniiftri.ru server ntp.corbina.net # File del server driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpstats # restringimento dell'accesso al server: # ignora tutto per impostazione predefinita limit default ignore # localhost senza parametri - tutto è consentito. I parametri vanno solo ai ban. limit 127.0.0.1 # quanto segue descrive i server con cui ci sincronizziamo nella rete locale. # Consentiamo loro tutto tranne le trappole e le richieste a noi limit 192.168.0.2 noquery notrap limit 192.168.0.5 noquery notrap # per LAN consentiamo anche tutto tranne le trappole e le modifiche limit 192.168.0.1 mask 255.255.255.0 nomodify notrap nopeer # consentiamo fonti di tempo esterne accesso: limita ntp2.ntp-servers.net limita ntp1.vniiftri.ru limita ntp2.vniiftri.ru limita ntp4.vniiftri.ru limita ntp0.ntp-servers.net limita ntp1.ntp-servers.net limita ntp3.vniiftri.ru limit ntp.corbina.net # e questo è un hack che imposta il livello di fiducia per il server (strata) a se stesso uguale a 3 # in poche parole, più alto è il livello, più basso è il numero. 0 è l'orologio atomico, #1 è sincronizzato con esso, 2 è con il primo e così via. server 127.127.1.1 fondente 127.127.1.1 strato 3

Per una comprensione e una configurazione più approfondita del server, descriverò alcune opzioni di configurazione di ntpd che non ho menzionato:

  • abilita/disabilita auth/monitor/pll/pps/stats - accendere spegnere modalità di lavoro:
    • aut- comunicare con vicini non menzionati solo in modalità di autenticazione;
    • tenere sotto controllo- consentire il monitoraggio delle richieste;
    • pll- consentire l'impostazione della frequenza di clock locale tramite NTP;
    • statistiche- consentire la raccolta di statistiche;
  • statisticheloopstat- ad ogni modifica dell'orologio locale, scrive una riga nel file loopstat;
  • statistichepeerstat- ogni comunicazione con un vicino è registrata in un log memorizzato in un file peerstat;
  • statistichecronometri- ogni messaggio dal driver dell'orologio locale viene scritto in un registro memorizzato in un file cronometri;
  • dir(nome_catalogo_con_statistiche)- imposta il nome della directory in cui si troveranno i file con le statistiche del server;
  • filegen - definisce l'algoritmo per la generazione dei nomi dei file, che consistono in:
    • prefisso- parte costante del nome del file, impostata in fase di compilazione o tramite appositi comandi di configurazione;
    • Nome del file- aggiunti al prefisso senza barra, due punti sono vietati, possono essere modificati con il tasto file;
    • suffisso- viene generato in base al nome del tipo;
  • limitareindirizzo numerico- imposta la restrizione di accesso: i pacchetti vengono ordinati e mascherati, l'indirizzo di origine viene preso e confrontato in sequenza, il flag viene preso dall'ultimo confronto riuscito accesso:
    • niente bandiere- dare accesso;
    • ignorare- ignora tutti i pacchetti;
    • noquery- ignorare i pacchetti NTP 6 e 7 (richiesta e modifica dello stato);
    • nomodificare- ignorare i pacchetti NTP 6 e 7 (modifica dello stato);
    • limitato- servire solo un numero limitato di clienti di una determinata rete;
    • no- servire l'host, ma non sincronizzarsi con esso;
  • limite del clientelimite- per la bandiera limitato determina il numero massimo di clienti serviti (di default 3);

In totale, abbiamo ntpd-server, che è sincronizzato con il mondo esterno, consente di ottenere l'ora per i client dalla rete locale 192.168.0.1 con una maschera di 255.255.255.0, e può anche essere sincronizzato con il server locale (se si decommentano alcune righe). Abbiamo solo bisogno di configurare i client e imparare a monitorare il nostro server.

Monitoraggio del server ntpd e sincronizzazione

Quando sei tutto pronto. NTP manterrà l'ora sincronizzata. Questo processo può essere osservato utilizzando il comando NTP Query (ntpq):

Ntp-server:~# ntpq -p remote refid st t quando poll raggiungere ritardo offset jitter =============================== = = =======================================================================-n3. tempo1. d6.hsd .PPS. 1 u 34 64 177 70.162 2.375 8.618 +ntp1.vniiftri.r .PPS. 1 u 33 64 177 43.479 -0.020 10.198 *ntp2.vniiftri.r .PPS. 1 u 6 64 177 43.616 -0.192 0.688 +ntp4.vniiftri.r .PPS. 1 u 4 64 177 43,623 0,440 0,546 -n1.time1.d6.hsd .PPS. 1 u 53 64 77 92.865 -11.358 38.346 -ns1.hsdn.org .GPS. 1 u 40 64 177 78.057 -3.292 35.083 -ntp3.vniiftri.r .PPS. 1 u 44 64 77 47.667 2.292 2.611 -scylla-l0.msk.c 192.43.244.18 2 u 62 64 77 41.565 -1.564 28.914

Questo comando con l'opzione -p restituisce allo standard output un elenco di sorgenti temporali con le loro caratteristiche (altre opzioni di comando in man ntpq). Il significato di ciascuna colonna è il seguente:

Il nome del server NTP remoto. Se specifichi l'opzione -n, otterrai gli indirizzi IP del server anziché i nomi.

Indica da dove ogni server sta attualmente ricevendo l'ora. Può essere un hostname o qualcosa come .GPS che indica l'origine del Global Positioning System.

Stratum (livello) è un numero da 1 a 16, che indica l'accuratezza del server. Uno significa massima precisione, 16 significa che il server non è disponibile. Il tuo livello sarà uguale al livello del server remoto meno accurato più 1.

Intervallo tra i sondaggi (in secondi). Il valore cambierà tra i tassi di polling minimi e massimi. All'inizio, l'intervallo sarà piccolo in modo che la sincronizzazione avvenga rapidamente. Dopo che gli orologi sono stati sincronizzati, l'intervallo inizia ad aumentare per ridurre il traffico e il carico sui server orari più diffusi.

Una rappresentazione ottale di un array a 8 bit che rappresenta i risultati degli ultimi otto tentativi di connessione al server. Il bit viene impostato se il server remoto ha risposto.

La quantità di tempo (in secondi) necessaria per ottenere una risposta a una query "che ore sono?".

Il campo più importante. Differenza tra l'ora del server locale e remoto. Durante la sincronizzazione, questo valore dovrebbe diminuire (più vicino a zero), indicando che l'orologio della macchina locale sta diventando più preciso.

La dispersione (Jitter) è una misura delle deviazioni statistiche dal valore di offset (campo di offset) su diverse coppie di richiesta-risposta riuscite. È preferibile un valore di dispersione più piccolo perché consente una sincronizzazione dell'ora più accurata.

Significato dei caratteri prima dei nomi dei server

x - fonte falsa secondo l'algoritmo di intersezione;
. - esclusi dalla graduatoria dei candidati a causa della lunga distanza;
- - rimosso dall'elenco dei candidati dall'algoritmo di clustering;
+ - inseriti nella graduatoria finale dei candidati;
# - selezionato per la sincronizzazione, ma ci sono 6 migliori candidati;
* - selezionato per la sincronizzazione;
o - selezionato per la sincronizzazione, ma viene utilizzato PPS;
spazio: troppo livello, ciclo o errore evidente;

servizio ntpd"intelligente" e di per sé elimina le fonti del tempo che sono troppo fuori dai limiti della ragione. Qualche tempo dopo l'avvio, ntpd sceglierà le origini dati più affidabili e si sincronizzerà con esse. L'elenco dei server NTP di riferimento da noi forniti viene regolarmente rivisto dal servizio.

Puoi verificare la possibilità di sincronizzazione in locale sul server con il comando:

Ntp-server:~# ntpdate -q localhost server 127.0.0.1, strato 2, offset -0.000053, ritardo 0.02573 server::1, strato 2, offset -0.000048, ritardo 0.02571 14 gennaio 14:49:57 ntpdate: regola il server dell'ora ::1 offset -0,000048 sec

Dall'output del comando, si può vedere che il nostro server è già diventato un livello di strato 2. Ci vuole del tempo per raggiungere questo livello. Forse nei primi 10-15 minuti il ​​livello del server sarà più alto.

Il corretto funzionamento del server ntp può essere giudicato anche dai log del demone ntpd:

Ntp-server:~# cat /var/log/ntpstats/ntp 13 gen 20:13:16 ntpd: Ascolto sull'interfaccia n. 5 eth0, fe80::a00:27ff:fec1:8059#123 Abilitato 13 gen 20:13: 16 ntpd: Listening on interface #6 eth0, 192.168.0.8#123 Enabled 14 Jan 14:31:00 ntpd: sincronizzato con 62.117.76.142, stratum 1 14 Jan 14:31:10 ntpd: time reset +10.291312 s 14 Jan 14 :31:10 ntpd: modifica dello stato di sincronizzazione dell'ora del kernel 0001 14 gen 14:34:31 ntpd: sincronizzato con 88.147.255.85, strato 1 14 gen 14:36:04 ntpd: sincronizzato con 62.117.76.141, strato 1 14 15 gennaio: 04:36 ntpd: sincronizzato con 62.117.76.142, strato 1 14 gen 15:10:58 ntpd: sincronizzato con 62.117.76.140, strato 1 14 gen 15:17:54 ntpd: nessun server raggiungibile 14 gen 15:31:49 ntpd : sincronizzato a 62.117.76.140, stratum 1 14 Jan 15:32:14 ntpd: time reset +13.139105 s

Configurazione di netfilter (iptables) per il server NTP

Dopo aver configurato il server, sarebbe bello proteggerlo. Sappiamo che il server gira sulla porta 123/udp, mentre le richieste vengono inviate anche dalla porta 123/udp. Dopo aver letto l'articolo, e dopo aver letto quelli pratici, puoi creare delle regole di filtraggio del traffico di rete:

Ntp ~ # iptables-save # regole iptables generiche per DNS *filter:INPUT DROP :FORWARD DROP :OUTPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -m conntrack --ctstate INVALID -j DROP # consente l'accesso LAN al server NTP: -A INPUT -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 123 -m conntrack - - ctstate NUOVO -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT -p icmp -j ACCEPT -A OUTPUT -p udp -m udp --sport 32768:61000 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 32768:61000 -j ACCEPT -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT # consente l'accesso al server NTP per effettuare richieste in uscita -A OUTPUT -p udp -m udp --sport 123 --dport 123 -m conntrack --ctstate NUOVO -j ACCEPT COMMIT

Questo è un tipico esempio! Per impostare le regole di iptables per le tue attività e la configurazione di rete, devi capire come funziona netfilter in Linux leggendo gli articoli sopra.

Configurazione delle macchine client

Per sincronizzare l'ora su macchine UNIX rete locale, si consiglia di utilizzare l'utility ntpdate, eseguendola più volte al giorno, ad esempio ogni ora. Per fare ciò, è necessario aggiungere la seguente riga:

0 * * * * /usr/sbin/ntpdate -s

L'opzione -s dirige l'output del comando. Se le macchine client hanno un paio di megabyte di RAM in più, puoi avviare il demone ntpd, proprio come sul server con la seguente configurazione:

server restringe predefinito ignora restringe noquery notrap limit 127.0.0.1 nomodify notrap

Penso che tutto sia chiaro in questa configurazione: la sorgente dell'ora (server) è un server ntpd locale, nega l'accesso a tutti, consente solo il server ntpd locale.

Inoltre, sui client, è necessario specificare correttamente in quale formato memorizzare l'ora e selezionare il fuso orario corretto, .

Per configurare il client NTP di Windows, è necessario eseguire i seguenti comandi nella console:

C:\>ora di rete /setsntp: Il comando è stato completato correttamente. C:\>net stop w32time Il servizio Ora di Windows è in arresto. Il servizio Ora di Windows è stato interrotto correttamente. C:\>net start w32time È in corso l'avvio del servizio Ora di Windows. Il servizio Ora di Windows è stato avviato correttamente. C:\>ora netta /querysntp Il valore SNTP corrente è: Il comando è stato completato correttamente.

Conclusione

Bene, come tutto! Il volume dell'articolo si è rivelato enorme ... Non me lo aspettavo nemmeno io. Permettetemi di riassumere un po'. In questo articolo, spero che ci sia diventato chiaro cos'è e come funziona il server NTP. Imparato come configurare un server e client su UNIX e Macchine Windows. In poche parole, la struttura della sincronizzazione dell'ora nella rete locale è la seguente: nella rete locale sono presenti 1.2 o più server dell'ora esatti, sincronizzano la propria ora con fonti esterne nella rete globale. Le impostazioni del server e del client si basano su /etc/ntp.conf (file di configurazione del demone ntpd principale), /etc/localtime (file del fuso orario corrente), /etc/sysconfig/ntp (per RH) e /etc/default /ntp (per Deb) - file dei parametri di avvio del demone. Per il server ntp locale, i server esterni sono specificati nel file di configurazione per ricevere l'ora e l'accesso è consentito per questi server con il parametro limit, così come per i computer sulla rete locale, per i client è specificata l'origine dell'ora - server locali su rete locale e l'accesso è negato anche a tutti, ad eccezione dell'origine dell'ora nella rete locale. Tutto. Grazie a tutti per l'attenzione! Sarò felice di commentare!

  • (archivio articoli) descrive come collegare il GPS al server per organizzare il server dell'ora esatta di livello Stratum1.
  • descrive come configurare l'autorizzazione sul server ntp.

Esistono molti servizi nei sistemi operativi il cui normale funzionamento dipende dalla precisione dell'orologio di sistema. Se l'ora esatta non è impostata sul server, ciò può causare vari problemi.

Ad esempio, su una rete locale, è necessario sincronizzare gli orologi delle macchine che condividono i file, altrimenti non sarà possibile impostare correttamente l'ora di modifica dei file. Questo, a sua volta, può causare conflitti di versione o la sovrascrittura di dati importanti.

Se il server non ha un'ora esatta impostata, ci saranno problemi con i lavori Cron: non è chiaro quando verranno eseguiti. Sarà molto difficile analizzare i registri eventi del sistema per diagnosticare le cause di guasti e malfunzionamenti ...

Puoi andare avanti a lungo...

Per evitare tutti i problemi descritti, è necessario impostare la sincronizzazione dell'orologio di sistema. Linux usa NTP (Network Time Protocol) per questo. In questo articolo parleremo in dettaglio di come installare e configurare NTP sul server. Cominciamo con una piccola introduzione teorica.

Come funziona il protocollo NTP?

Il protocollo NTP si basa su una struttura gerarchica di server temporali esatti, in cui si distinguono diversi livelli (strati inglesi). Il livello 0 si riferisce all'orologio di riferimento (orologio atomico o orologio GPS). Al livello zero, i server NTP non funzionano.

I server NTP di livello 1, che sono origini per i server di livello 2, si sincronizzano con l'orologio di riferimento I server di livello 2 si sincronizzano con i server di livello 1, ma possono anche sincronizzarsi tra loro. I server di livello 3 e inferiori funzionano allo stesso modo. In totale, sono supportati fino a 256 livelli.

La struttura gerarchica del protocollo NTP è caratterizzata da tolleranza agli errori e ridondanza. In caso di errori di connessione con i server upstream, i server di backup si occupano del processo di sincronizzazione. La ridondanza garantisce che i server NTP siano sempre disponibili. Grazie alla sincronizzazione con più server, NTP utilizza i dati di tutte le origini per calcolare l'ora più precisa.

Installazione e configurazione di un server NTP

Lo strumento di sincronizzazione dell'ora più conosciuto e più utilizzato è il demone ntpd. A seconda delle impostazioni specificate nel file di configurazione (questo sarà discusso di seguito), può agire sia come server che come client (cioè può sia ricevere tempo da host remoti che distribuirlo ad altri host). Di seguito descriveremo in dettaglio come installare e configurare questo demone in OC Ubuntu.

Installazione

Il programma NTP è incluso nelle distribuzioni dei più moderni sistemi Linux e viene installato utilizzando un gestore di pacchetti standard:

$ sudo apt-get install ntp

Ambientazione

Al termine dell'installazione, apri in editor di testo/etc/ntp.conf. Memorizza tutte le impostazioni del programma. Consideriamoli più in dettaglio.

Opzioni di registrazione

La prima riga del file di configurazione è simile a questa:

File di deriva /var/lib/ntp/ntp.drift

Specifica un file per la memorizzazione di informazioni sulla frequenza dell'offset di tempo. Questo file memorizza il valore risultante dalle precedenti regolazioni dell'ora. Se i server NTP esterni non sono disponibili per un motivo o per l'altro, il valore verrà preso da esso.

File di registro /var/log/ntp.log

Elenco dei server per la sincronizzazione

Il file di configurazione specifica l'elenco dei server NTP con cui verrà eseguita la sincronizzazione. Di default si presenta così:

Server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org

Ogni riga indica un gruppo di server che segnaleranno l'ora corretta al nostro server. Puoi migliorare la precisione della sincronizzazione utilizzando l'opzione iburst (indica che non uno, ma più pacchetti devono essere inviati al server per la sincronizzazione):

Server 0.ubuntu.pool.ntp.org server iburst 1.ubuntu.pool.ntp.org server iburst 2.ubuntu.pool.ntp.org server iburst 3.ubuntu.pool.ntp.org iburst

Puoi anche specificare il tuo server preferito con l'opzione prefer:

Server 0.ubuntu.pool.ntp.org preferisco iburst

I server NTP sono sparsi in tutto il mondo (qui, ad esempio, è riportato un elenco di server NTP pubblici disponibili). Per garantire un'impostazione più accurata dell'orologio di sistema, si consiglia di eseguire la sincronizzazione solo con i server ntp della regione in cui si trova geograficamente il nostro server. Per fare ciò, nel file di configurazione /etc/ntp.conf, specificare il sottodominio regionale per pool.ntp.org negli indirizzi del server:

  • Asia - asia.pool.ntp.org;
  • Europa - europe.pool.ntp org;
  • Africa — africa.pool.ntp.org;
  • Nord America - nord-america.pool.ntp.org;
  • Sud America - sud-america.pool.ntp.org;
  • Oceania - oceania.pool.ntp.org.

Puoi anche specificare i sottodomini per i singoli paesi (per maggiori dettagli, consulta ). C'è anche un sottodominio per la Russia - ru.pool.ntp.org

Server del tempo di backup

Un server NTP che è disconnesso da Internet per qualsiasi motivo può trasmettere i dati dell'orologio di sistema per la sincronizzazione. Per fare ciò, aggiungi la seguente riga al file di configurazione:

Server 127.127.1.0

Restrizioni

Di recente, i casi di utilizzo di server NTP per amplificare il traffico negli attacchi DDoS sono diventati più frequenti (per maggiori dettagli, vedere, ad esempio,). Per evitare che il nostro server diventi vittima di abusi, sarebbe utile impostare restrizioni di accesso per i client esterni. Per impostazione predefinita, nel file /etc/ntp.conf sono impostate le seguenti restrizioni:

Limita −4 predefinito kod notrap nomodify nopeer noquery limita −6 predefinito kod notrap nomodify nopeer noquery

Le opzioni nomodify, notrap, nopeer e noquery impediscono ai client di terze parti di modificare qualsiasi cosa sul server. Il parametro kod (questa abbreviazione significa bacio della morte) fornisce una protezione aggiuntiva: un client che invia troppe richieste riceverà prima un cosiddetto pacchetto kod (avviso di negazione del servizio) e quindi verrà disconnesso dal server.

Affinché le macchine della rete locale si sincronizzino con il server NTP, aggiungere la seguente riga al file di configurazione:

Restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Per l'host locale, puoi impostare l'accesso al server NTP senza restrizioni:

Limita 127.127.1.0

Controllo della sincronizzazione

Dopo che tutte le modifiche necessarie sono state apportate al file di configurazione e salvate, riavviare il server NTP:

$ riavvio del servizio ntp

Quindi esegui il seguente comando:

$ ntpq -pn

Il suo output sarà presentato sotto forma di tabella:

Reid remoto st t quando poll raggiungere ritardo offset 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.11.1111111.11.111111111.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

La tabella indica i seguenti parametri:

  • remoto — indirizzo esatto del server dell'ora (questa colonna mostra i server dall'elenco nel file di configurazione);
  • refid - server a monte (quello da cui riceve la sincronizzazione il server delle colonne precedenti);
  • st — livello (stratum) del server;
  • t — tipo peer (u-unicast, m- multicast);
  • quando è l'ora dell'ultima sincronizzazione;
  • poll è il tempo in secondi impiegato dal demone NTP per sincronizzarsi con il peer.
  • raggiungere — stato di disponibilità del server; dopo otto tentativi di sincronizzazione riusciti, il valore di questo parametro diventa pari a 377;
  • ritardo — tempo di ritardo della risposta dal server;
  • offset è la differenza di tempo tra il nostro server e il server di sincronizzazione; un valore positivo di questo parametro significa che il nostro orologio è veloce, un valore negativo significa che è indietro;
  • jitter è l'offset di tempo sul server remoto.

I seguenti caratteri possono essere specificati a sinistra dell'indirizzo del server:

  • * server selezionato per la sincronizzazione;
  • + un server adatto all'aggiornamento (con cui sincronizzarsi);
  • — non è consigliabile eseguire la sincronizzazione con il server;
  • x server non è disponibile.

È possibile verificare se un server dell'elenco è adatto per la sincronizzazione utilizzando il comando:

Ntpdate -q server хх.ххх.ххх.ххх, strato 2, offset -0,127936, ritardo 0,02600 7 lug 14:30:23 ntpdate: regola l'ora del server хх.ххх.ххх.ххх offset -0,127936 sec

Dall'output di cui sopra, si può vedere che il server è adatto per la sincronizzazione, il suo livello è 2, l'offset è 0,127936 ms e il ritardo è 0,026 ms.

Puoi anche scoprire come è andata la sincronizzazione (con successo o con errori) dai log:

7 lug 15:17:17 ntpd: sincronizzato con 91.198.10.4, stratum=2 7 lug 15:17:17 ntpd: sincronizzazione dell'ora del kernel disabilitata 0041 7 lug 15:17:21 ntpd: sincronizzazione dell'ora del kernel abilitata 0001

Impostazione della data e dell'ora locali

Il comando ntpdate può essere utilizzato per impostare la data e l'ora locali sul server inviando una richiesta al server NTP.