NTP (acronimo di Network Time Protocol) viene utilizzato per sincronizzare l'orologio di sistema del sistema client con l'orologio del server. Aiuta le applicazioni di rete ad avere un'ora precisa. In questo articolo, spiegheremo come configurare il server NTP e sincronizzare un orologio della macchina client NTP. Useremo Ubuntu 20.04 LTS per eseguire i comandi e spiegare la procedura.
Prerequisiti
- Due macchine Ubuntu (per host NTP e client NTP)
- Utente Sudo su entrambe le macchine Ubuntu
Configura il server NTP
Per installare e configurare il server NTP sulla macchina host, attenersi alla seguente procedura:
Fase 1:installazione di NTP sul server host
Per installare il server NTP, aggiornare prima i repository locali sul sistema. Apri il Terminale della riga di comando nel sistema host ed emetti il seguente comando al suo interno:
$ sudo apt update
Quindi fornisci la password sudo.
Ora installa NTP sul sistema host. Digita il seguente comando in Terminale e premi Invio:
$ sudo apt install ntp
Quando viene richiesta la conferma, premi y , dopodiché il sistema avvierà l'installazione di NTP.
Una volta completata, puoi verificare l'installazione dal seguente comando:
$ sntp --version
Fase 2:configura il server NTP
Per impostazione predefinita, NTP è configurato per estrarre l'ora dai server Internet. Tuttavia, puoi configurarlo manualmente per estrarre il tempo dai pool più vicini in base alla tua posizione geografica.
Modifica il file di configurazione NTP come segue:
$ sudo nano /etc/ntp.conf
Nel file di configurazione, vedrai un elenco di pool utilizzati da NTP per impostazione predefinita.
Per aggiungere i pool più vicini alla tua posizione, visita il sito Web support.ntp.org e seleziona la tua posizione.
Ad esempio, se selezioni Europa, vedrai un elenco di pool come mostrato nello screenshot qui sotto.
Nel file di configurazione, rimuovi l'elenco predefinito dei pool e inserisci l'elenco dei pool che hai copiato da support.ntp.org sito web. Nel nostro sistema abbiamo aggiunto i pool per la regione Europa.
Al termine, premi Ctrl+x . Ora ti verrà chiesto se desideri salvare le modifiche, premi y .
Fase 3:riavvia il servizio NTP
Dopo aver apportato le modifiche a /etc/ntp.conf file, riavviare il servizio NTP utilizzando il comando seguente:
$ sudo service ntp restart
Fase 4:Consenti NTP nel firewall
Se un firewall è in esecuzione sull'host NTP, sarà necessario aggiungere una regola che consenta a NTP di attraversarlo. Emetti il seguente comando in Terminale per aggiungere una regola al firewall:
$ sudo ufw allow ntp
Per verificare se la regola è stata aggiunta correttamente, digita il seguente comando in Terminale e premi Invio:
$ sudo ufw status
Ora il server NTP è stato configurato sulla macchina host. Passiamo ora alla configurazione del client NTP.
Sincronizza l'orologio della macchina client NTP con il server NTP
Ora configureremo la macchina client NTP per sincronizzare l'orologio con il server NTP.
Passaggio 1:installa ntpdate sul computer client
Il comando Ntpdate viene utilizzato per la sincronizzazione una tantum con il server NTP. Aprire il Terminale nel computer client ed eseguire il seguente comando per installare ntpdate:
$ sudo apt install ntpdate
Quindi inserisci la password sudo.
Quando viene richiesta la conferma, inserisci y , dopodiché il sistema avvierà l'installazione di ntpdate.
Passaggio 2:sincronizza manualmente il client NTP con il server NTP utilizzando ntpdate
In questo passaggio, sincronizzeremo manualmente il client NTP con il server NTP per verificare se l'ora è precisa e la differenza non supera i 1024 secondi. Per fare ciò, immetti il seguente comando nel Terminale sostituendo
$ sudo ntpdate <server-IP>
NEL nostro caso, l'indirizzo IP del server NTP è 192.168.72.157 , quindi il comando sarebbe:
$ sudo ntpdate 192.168.72.157
Dall'output sopra, puoi vedere che la differenza di tempo è di soli 0,008231 secondi.
Passaggio 3:disabilita il servizio timesyncd systemd
Disabilita il servizio timesyncd di sistema poiché sincronizzeremo l'ora di sistema con il server NTP. Eseguire il comando seguente per farlo:
$ sudo timedatectl set-ntp off
Fase 4:installa NTP sul computer client
Come hai visto, l'output del comando ntpdate che la differenza di fuso orario è molto inferiore, quindi ora possiamo configurare ntp.conf sulla macchina client per sincronizzarlo automaticamente con il server NTP.
Innanzitutto, dovrai installare NTP sul computer client. Immettere il seguente comando nel Terminale:
$ sudo apt install ntp
Quando viene richiesta la conferma, inserisci y , dopodiché il sistema avvierà l'installazione di NTP. Una volta completato, puoi configurare NTP come descritto nel passaggio successivo.
Passaggio 5:Configura ntp.conf nella macchina client per sincronizzarlo automaticamente con il server NTP
In questo passaggio, configureremo npt.conf per sincronizzare automaticamente la macchina client con il server NTP.
Nella macchina client, modifica il file ntp.conf come segue:
$ sudo nano /etc/ntp.conf
Aggiungi la riga seguente nel file di configurazione sostituendo
server <NTP-server-hostname> prefer iburst
Al termine, premi Ctrl+x . Ora ti verrà chiesto se desideri salvare le modifiche, premi y .
Dopo aver apportato modifiche a /etc/ntp.conf file, riavviare il servizio NTP utilizzando il comando seguente:
$ sudo service ntp restart
Ora la macchina client è stata collegata al sistema host per la sincronizzazione dell'ora.
Visualizza lo stato di sincronizzazione NTP
Per visualizzare lo stato di sincronizzazione corrente di NTP, immetti il seguente comando in Terminale:
$ ntpq -p
Nell'output, puoi vedere "ubuntu" come il time server connesso insieme ad alcune altre informazioni.
Questo è tutto quello che c'è da fare! In questo articolo, hai imparato come configurare il server NTP sulla macchina Ubuntu e quindi sincronizzare un orologio della macchina client NTP. Ora puoi configurare facilmente il server NTP e connettere più computer client con esso per la sincronizzazione dell'ora.