GNU/Linux >> Linux Esercitazione >  >> Linux

Usa NTP per sincronizzare l'ora

Puoi facilmente mantenere la data e l'ora del tuo sistema accurate utilizzando il protocollo NTP (NetworkTime Protocol).

Avere un orologio preciso sul tuo server assicura che i timestamp nelle email inviate dal tuo computer siano corretti. Un orologio preciso è particolarmente utile quando devi guardare i registri da una particolare ora del giorno.

Se di tanto in tanto non imposti tu stesso l'orologio del sistema, l'ora si allontanerà lentamente da un'impostazione perfettamente precisa. Ecco quando NTP è utile.

Cos'è NTP?

NTP ti consente di sincronizzare automaticamente l'ora del tuo sistema con un server remoto. L'NTP può essere utilizzato per aggiornare l'orologio su una macchina con un server remoto. Ciò mantiene l'ora della tua macchina precisa sincronizzandosi con server noti per avere tempi precisi. NTP mantiene sincronizzati anche gli orologi su più macchine, rendendo così più facile abbinare le voci di registro per un evento su più server.

È facile configurare un server NTP per regolare regolarmente l'orologio della tua macchina. È anche possibile renderlo un po' più complicato se hai bisogno che il tuo orologio sia preciso al millisecondo invece che solo al secondo.

Installa

La prima cosa da fare è installare il server NTP. Prendi il pacchetto correndo:

Sistemi operativi Ubuntu / Debian:

sudo aptitude update
sudo aptitude install ntp

CentOS:

sudo yum install ntp

Dopo aver installato NTP, puoi assicurarti che il servizio venga eseguito all'avvio eseguendo il comando seguente:

sudo /sbin/chkconfig ntpd on

Fedora / RHEL:

sudo yum install ntp

Dopo aver installato NTP, puoi assicurarti che il servizio venga eseguito all'avvio eseguendo il comando seguente:

sudo chkconfig ntpd on

Avvia il servizio

Per assicurarti che il servizio NTP si avvii dopo averlo installato, esegui il comando seguente:

Sistemi operativi Ubuntu/Debian/CentOS/RHEL :

sudo /etc/init.d/ntp start

Fedora :

sudo /etc/init.d/ntpd start

Come di consueto per i servizi Linux®, puoi interrompere o riavviare il servizio NTP eseguendo il comando precedente con stop o restart come argomento invece di start .

Avvio rapido

La maggior parte delle persone vuole solo far funzionare NTP e non ha bisogno di sincronizzare il proprio orologio per individuare una precisione a livello di millisecondi. In questo caso, non devi fare nient'altro. Quando hai installato NTP, ti ha configurato con i server predefiniti con cui sincronizzare, quindi NTP sincronizza automaticamente l'orologio. Congratulazioni per il lavoro ben fatto!

Il file .ntpconf

Se si desidera utilizzare NTP per sincronizzare molte delle proprie macchine, o se si desidera scegliere server NTP diversi da quelli predefiniti, è possibile trovare il file di configurazione NTP in /etc/ntp.conf .

È possibile modificare alcune impostazioni, ma le uniche impostazioni di interesse per la maggior parte degli utenti includono le voci del server. Usa le impostazioni predefinite per la tua distribuzione Linux specifica.

Con più di una voce del server, il tuo server NTP interroga tutti i server e seleziona un'ora in cui la maggior parte dei server interrogati è d'accordo. Poiché NTP utilizza tre o più server, il tuo orologio è più preciso che se ne utilizzasse solo uno.

L'aggiunta dell'opzione iBurst dopo l'indirizzo del server velocizza leggermente la sincronizzazione NTPtime. Anche se questo è utile, non è essenziale.

L'opzione dinamica dice a NTP che può riprovare un server configurato in un secondo momento se non è disponibile a un certo punto. L'opzione dinamica è utile quando NTP funziona su una macchina che non ha sempre accesso a Internet. Non è necessario su una macchina con una connessione dedicata.

Sicurezza NTP

Proteggiti dagli attacchi ai server NTP aggiungendo disable monitor al tuo /etc/ntp.conf file. La disabilitazione del monitoraggio previene le query remote indesiderate che utilizzano comandi di versioni precedenti di NTP, come monlist .

Sincronizzazione di più server

Se hai più di una macchina da sincronizzare, è meglio designarne una come server NTP principale. Configura il server master per la connessione a un server NTP esterno, quindi fai in modo che le altre macchine si sincronizzino con il master. Questa configurazione riduce il numero di connessioni in uscita e garantisce che tutte le tue macchine abbiano l'ora impostata sullo stesso valore. Questa configurazione richiede modifiche alle impostazioni del server in ntp.conf file su ogni macchina.

Configura tutti i server esterni che desideri utilizzare sulla macchina principale. Ad esempio, se si desidera utilizzare i server del pool NTP, è possibile impostare i valori del server nel master ntp.conf file a:

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

Punta il ntp.conf al tuo server principale su ogni altra macchina che ha bisogno di sincronizzare l'ora. Ad esempio, se il tuo server principale èmain.example.com , modificheresti ntp.conf file sulle macchine secondarie in modo che le voci del server siano le seguenti:

server main.example.com iburst

Dopo aver impostato i parametri del server e assicurato che le voci di iptables non blocchino le connessioni al server NTP principale, riavvia i servizi NTP su ogni macchina per sincronizzarli.

Regolazione di iptables

NTP utilizza la porta UDP 123 per condurre la propria attività, collegandosi a un altro server NTP o accettando connessioni in entrata. Se hai iptables che filtra il traffico in entrata sul server NTP principale nel tuo cluster, devi aprire la porta 123 al traffico UDP per consentire agli altri server di connettersi ad esso. Puoi aprire la porta 123 per il traffico UDP con i seguenti argomenti iptables:

-I INPUT -p udp --dport 123 -j ACCEPT
-I OUTPUT -p udp --sport 123 -j ACCEPT

Scelta di un server NTP

Quando si sincronizzano una o più macchine tramite NTP, si desidera che almeno una di esse imposti l'ora da un server esterno affidabile. Molti server pubblici sono sincronizzati direttamente da un orologio atomico (garantendo un'ora assolutamente precisa) o sincronizzati da un altro server che si sincronizza con un orologio atomico.

Elenchi di server NTP pubblici

La migliore fonte per gli elenchi di server NTP pubblici è NTP ServersWebHome nel sito mainNTP. Il sito ha una descrizione dei server disponibili e la barra laterale ha collegamenti a tre livelli di server NTP:primario, secondario e pool.

La decisione da quale tipo di server eseguire la sincronizzazione dipende dalla precisione con cui hai bisogno che siano i tuoi server.

Server del pool NTP

Per la maggior parte degli utenti, i server del pool sono la scelta migliore. I pool server sono macchine che si sono offerte volontariamente per rendere disponibile al pubblico il proprio server NTP. In genere si sincronizzano da un server NTP secondario, quindi il loro tempo è preciso, ma non necessariamente preciso al millisecondo più vicino.

La maggior parte degli utenti non ha bisogno del tempo della propria macchina preciso al millisecondo più vicino; vogliono solo sapere che ore sono. Usa i poolserver a meno che tu non abbia bisogno di una precisione millimetrica.

Usare i server del pool NTP è facile come impostare le voci del server nel tuo ntp.conf file a:

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

Per assicurarti di connetterti solo ai server del pool nel tuo paese o regione, visita la pagina dei server del pool per indirizzi più specifici. Per la maggior parte delle persone, le voci di cui sopra sono più che sufficienti. Questi indirizzi ruotano in un vasto elenco di server NTP volontari in tutto il mondo, quindi il carico su una macchina non diventa mai troppo grande.

Se vuoi contribuire al pool NTP dopo aver configurato il tuo server NTP, ottieni i dettagli su come farlo dal sito web del pool.

Server primari e secondari

Gli altri due livelli di server NTP sono server primari e secondari. Il server principale riceve l'ora direttamente da un orologio atomico (o dai satelliti GPS, che utilizzano orologi atomici). Gli orologi atomici sono costosi, quindi non ci sono molti server primari. Non devi utilizzare il server primario a meno che tu non stia cercando un'estrema precisione scientifica.

Un server secondario di solito riceve l'ora da un server primario. Se desideri una precisione fino al millisecondo, avere tre server secondari nel tuo ntp.conf funziona bene.

Puoi vedere quali server pubblici sono disponibili in entrambi i livelli selezionando uno degli elenchi da NTP ServersWebHome. Prima di selezionare e utilizzare un server, controllare i dettagli per quel server come segue:

  • ISO: La colonna ISO elenca il paese di origine di quel particolare server.
  • Politica di accesso: Il campo AccessPolicy ti dice qual è la policy di accesso per quel server. Accesso aperto significa che il server può essere utilizzato dal pubblico, soggetto a eventuali requisiti di notifica del server.
  • Notifica: Il campo Notifica per i server secondari elenca le preferenze dell'amministratore del server in merito all'eventuale necessità di ricevere una notifica prima della sincronizzazione con il loro server NTP. Gli amministratori che vogliono essere avvisati di solito cercano di gestire il traffico verso il loro server, quindi assicurati e rispetta i loro desideri in merito alla notifica. Tieni presente che i server primari sono sempre considerati come richiedenti una notifica prima dell'uso.
  • Area di servizio: Se hai selezionato un server primario o secondario che desideri utilizzare, fai clic sul nome host nell'elenco per visualizzare ulteriori dettagli per quel server. Tra i dettagli elencati c'è la ServiceArea campo che descrive il gruppo geografico o demografico che intendono servire. Se quel campo è Pubblico , non è necessario trovarsi in una regione particolare per utilizzare il server. Se elencano un'area di servizio più specifica, assicurati di rispettare i desideri dell'amministratore del server al riguardo.

Test con ntpdate

Prima di utilizzare un server NTP esterno per sincronizzare il tuo tempo, dovresti assicurarti di poterti effettivamente connettere al server dalla tua macchina. Fortunatamente, c'è uno strumento incluso con il server NTP chiamato ntpdate .

Il ntpdate comando sincronizza l'orologio con un server NTP. È simile a quello che fa regolarmente il server NTP. Il ntpd programma è un pacchetto separato sui sistemi operativi Ubuntu® e Debian®. Le altre distribuzioni installano ntpdate al momento dell'installazione di ntpd. Per utilizzare ntpdate , il sistema operativo Ubuntu e gli utenti Debian devono prima installarlo.

sudo aptitude install ntpdate

Imposta l'orologio in modo che si sincronizzi agli orari specificati utilizzando cron per eseguirentpdate . Altrimenti, esegui il server NTP perché utilizza meno larghezza di banda e mantiene il tempo in modo più accurato monitorando la deriva dell'orologio nel tempo e regolando di conseguenza. Usa ntpdate solo a scopo di test.

Il ntpdate il comando non viene eseguito quando il server NTP è in esecuzione. Se sei su ntpdate e ricevi una risposta del tipo "il socket NTP è in uso", questo significa che il tuo server NTP è in esecuzione. Interrompilo con il comando appropriato per la tua distribuzione:

Sistemi operativi Ubuntu/Debian

sudo /etc/init.d/ntp stop

CentOS/Fedora/RHEL

sudo /etc/init.d/ntpd stop

Ora puoi eseguire ntpdate con il server con cui vuoi sincronizzare come argomento. Ad esempio, per dire a ntpdate per provare a sincronizzare con “pool.ntp.org”, eseguire il seguente comando:

sudo ntpdate pool.ntp.org

Al termine del test, ricorda di riavviare NTP:

Sistemi operativi Ubuntu/Debian

sudo /etc/init.d/ntp start

CentOS/Fedora/RHEL

sudo /etc/init.d/ntpd start

Riepilogo

Fortunatamente, la sincronizzazione dell'ora NTP è abbastanza facile da eseguire. Dopo aver impostato i server dell'ora e avviato il servizio NTP, fa il suo lavoro in background in silenzio.

Se NTP ha problemi, li registra nel registro di sistema, che dovresti comunque controllare regolarmente.

Per maggiori dettagli sulla configurazione di un server NTP e sulle opzioni disponibili, visitare il sito della documentazione NTP. Se vuoi saperne di più su come funziona NTP, vai al sito Web principale di NTP e tutto sarà rivelato.


Linux
  1. Sincronizzazione dell'ora Linux

  2. Sincronizza l'ora del server Linux con il server dell'ora di rete

  3. Linux – La sincronizzazione dell'ora Ntp richiede molto tempo?

  4. Quando utilizzare un server dedicato

  5. Tempo di aggiornamento:ntpdate[3108]:il socket NTP è in uso, in uscita

Come sincronizzare correttamente l'ora con il server NTP in CentOS 7

Server NTP e best practice

Come utilizzare Rsync per copiare/sincronizzare file tra server

Come impostare la sincronizzazione dell'ora con NTP su Ubuntu 18.04

Ubuntu 19.04:Configura il server NTP

Centos 7 :Configura il server NTP