NTP (Network Time Protocol) è un protocollo di rete responsabile della sincronizzazione degli orologi dei computer su una rete. Ha sia il server che i programmi client che risiedono sui sistemi in rete. Ciascun server deve disporre di un software client NTP per sincronizzare il proprio orologio con il server dell'ora di rete e, nella maggior parte dei casi, risiede per impostazione predefinita nel sistema operativo del dispositivo.
Caratteristiche significative del server NTP
Ecco alcune caratteristiche di base di NTP:
- NTP richiede un orologio di riferimento che fornisca un'ora standard poiché tutti gli orologi di sistema hanno un'ora corretta, ma potrebbero presentare piccole variazioni, ma NTP calcola l'ora corretta utilizzando alcuni calcoli standard.
- Dipende dall'ora UTC (Universal Time Clock) come ora di riferimento
- NTP è un protocollo a tolleranza d'errore che sincronizzerà l'ora risolvendo diverse sorgenti temporali e riducendo al minimo l'errore accumulato. Eliminerà qualsiasi fonte di tempo imprecisa temporanea o permanente.
- È altamente scalabile; puoi aggiungere quante più sorgenti di tempo puoi poiché ogni nodo comunicherà in modo bidirezionale o unidirezionale e trasmetterà il tempo formando una struttura ad albero con l'orologio di riferimento in cima.
- È estremamente preciso in quanto sceglie la migliore tra le sorgenti di tempo disponibili con un margine di errore inferiore a un nanosecondo.
- Funziona anche quando la rete è temporaneamente inattiva poiché calcola il tempo passato per stimare l'ora corrente e il margine di errore.
In questa guida, ti mostreremo come installare il server NTP e il suo programma client su Ubuntu.
Requisiti
- Un server Ubuntu in esecuzione
- Un utente (root o non root) con privilegi sudo
Installazione del server NTP su Ubuntu
Prima di tutto, ti mostreremo la procedura passo passo per installare il Server NTP su Ubuntu.
Passaggio 1:aggiornamento del repository di sistema
Per impostazione predefinita, il pacchetto del server NTP è disponibile nel repository di pacchetti predefinito di Ubuntu, ma prima di installarlo, aggiorniamo il repository di pacchetti utilizzando il comando seguente.
$ sudo apt update -y
Fase 2:installa il server NTP
Ora puoi installare il server NTP usando il comando seguente
$ sudo apt install ntp
Digita "Y" nella richiesta di conferma e premi Invio per continuare il processo di installazione.
Fase 3:conferma l'installazione del server NTP
Ora controlla lo stato di installazione del tuo server NTP usando il comando seguente
$ sntp --version
Fase 4:Configura il server NTP
Dopo una corretta installazione, ora è il momento di configurarlo in modo che possa sincronizzare l'ora dal server NTP pubblico. Per farlo, devi modificare il file ntp.conf usando il comando seguente.
$ sudo nano /etc/ntp.conf
Ora devi sostituire le righe seguenti
pool 0.ubuntu.pool.ntp.org iburst pool 1.ubuntu.pool.ntp.org iburst pool 2.ubuntu.pool.ntp.org iburst pool 3.ubuntu.pool.ntp.org iburst
con il server del pool NTP desiderato per questo tutorial sto usando l'Europa. Puoi vedere l'elenco di NTP Pool Server qui
pool 0.europe.pool.ntp.org iburst pool 1.europe.pool.ntp.org iburst pool 2.europe.pool.ntp.org iburst pool 3.europe.pool.ntp.org iburst
Dopo aver sostituito la riga sopra, salvare ed uscire dal file di configurazione. Ora per applicare queste impostazioni, dobbiamo riavviare il servizio NTP usando il comando seguente
$ sudo systemctl restart ntp
Ora, dopo il riavvio, puoi controllare lo stato del servizio NTP usando il comando seguente
$ sudo systemctl status ntp
Installazione del client NTP su Ubuntu
In questa sezione, ti mostreremo la procedura passo passo per installare il client NTP in modo che possiamo sincronizzarci con il nostro server NTP.
Passaggio 1:installa Ntpdate
Ntpdate è un programma che consente al sistema di sincronizzare l'ora e la data collegandosi a un server NTP. quindi installeremo Ntpdate usando il comando seguente
$ sudo apt install ntpdate
Passaggio 2:aggiungi l'IP del server NTP nel file host
Il client NTP deve risolvere il server NTP in base al nome host, quindi per questo è necessario aggiungere l'indirizzo IP e il nome host del server NTP nel file /etc/hosts.
Per modificare il file /etc/hosts usando il comando seguente
$ sudo nano /etc/hosts
Ora aggiungi l'IP del tuo server con il nome host nel file /etc/hosts come questo
Fase 3:verifica la sincronizzazione dell'ora del client
Ora testeremo il nostro sistema client se è sincronizzato con l'ora del server NTP, esegui il comando.
$ sudo ntpdate ntp-server-host
Fase 4:installazione del client NTP
Successivamente, è necessario installare un servizio NTP sul sistema client. Per ottenere ciò, usa il comando seguente.
$ sudo apt install ntp
Fase 5:configurazione del client NTP
L'obiettivo in questo passaggio è utilizzare il server NTP configurato in precedenza per fungere da nostro server NTP. Affinché ciò avvenga, dobbiamo modificare il file /etc/ntp.conf.
$ sudo nano /etc/ntp.conf
aggiungerà l'impostazione del nostro server in questo modo
Salva ed esci dal file di configurazione.
Per rendere effettive le modifiche, riavvia il servizio NTP utilizzando il comando seguente
$ sudo systemctl restart ntp
Fase 6:verifica della coda di sincronizzazione dell'ora NPT
Ora client e server NTP non sincronizzati, puoi visualizzare i dettagli della sincronizzazione eseguendo il comando.
$ ntpq -p
l'output sarà come
A questo punto, hai configurato correttamente il server NTP su Ubuntu e hai anche impostato il client NTP da sincronizzare dal server NTP.