NTP è un protocollo di rete utilizzato per sincronizzare tutti gli orologi di sistema in una rete. Ciò consente a tutti i sistemi di una rete di avere lo stesso tempo. NTP lo fa contattando una serie di altri server temporali su Internet. NTP utilizza la porta UDP 123 per comunicare con i client e altri server NTP. In questo post, ti mostreremo come configurare il server e il client NTP sul sistema Debian.
Per la dimostrazione, abbiamo usato due macchine Debian con i seguenti dettagli:
Host NTP – Nome host:host ntp, indirizzo IP statico:192.168.72.158
Cliente NTP – Nome host:client, indirizzo IP:192.168.72.159
Nota :I passaggi mostrati qui sono stati testati su Debian 10 (Buster).
Installa e configura il server NTP su una macchina host Debian
Per installare e configurare il server NTP su Debian 10, dovrai eseguire tutti i passaggi elencati di seguito:
Passaggio 1:esegui l'aggiornamento Apt
Innanzitutto, dovrai aggiornare l'elenco dei pacchetti per scaricare l'ultima versione del pacchetto NTP. Apri il Terminale ed esegui il seguente comando per farlo:
$ sudo apt update
Fase 2:installazione di NTP sul server host
Per installare il server NTP sulla macchina host, eseguire questo comando:
$ sudo apt install ntp
Dopo aver eseguito il comando precedente, ti potrebbe essere chiesto se desideri continuare l'installazione fornendo il s/n (sì/no) opzione. Inserisci y per continuare il processo di installazione.
Per verificare se l'NTP è installato e per visualizzare le informazioni sulla versione, eseguire il comando seguente:
$ sntp --version
Fase 3:configurazione del server NTP
Per configurare il server NTP, devi avere due elementi sulla tua macchina host:uno è /etc/ntp.conf file e l'altro è ntpd demone. Per prima cosa, configureremo ntp.conf file e quindi riavvieremo il ntpd demone.
Modifica il /etc/ntp.conf file utilizzando il seguente comando:
$ sudo nano /etc/ntp.conf
Quando il server NTP è installato, è configurato per impostazione predefinita per recuperare l'ora dai seguenti server:
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst pool 2.debian.pool.ntp.org iburst pool 3.debian.pool.ntp.org iburst
Puoi sostituirli con i time server più vicini alla tua posizione. Visita il sito Web ntp.org per trovare i server del pool NTP più vicini alla tua posizione.
Per utilizzare qualsiasi server di pool NTP specifico, dovrai aggiungerlo al tuo ntp.conf file. Aggiungeremo i server dei pool per la regione asiatica che viene mostrata come segue:
In ntp.conf file, sostituire l'elenco di pool predefinito con le seguenti righe:
server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org
Quindi salva e chiudi ntp.conf file.
Fase 4:riavvia il demone NTP
Ora dovresti riavviare il demone NTP. Utilizzare il comando seguente per eseguire questa operazione:
$ sudo service ntp restart
Ora, esegui il comando seguente per verificare se il server NTP è in esecuzione senza problemi:
$ sudo service ntp status
Passaggio 5:consenti NTP tramite Firewall
Se stai utilizzando un firewall, dovrai configurarlo per consentire le connessioni UDP alla porta NTP 123. Esegui il comando seguente per consentire ai client di accedere al server NTP:
$ sudo ufw allow 123/udp
Ora esegui il seguente comando per verificare se la regola è stata aggiunta correttamente:
$ sudo ufw status
Installa e configura il client NTP sulla macchina client Debian
Per configurare una macchina come client NTP, è necessario assicurarsi che l'offset (differenza di tempo tra l'orologio locale e il server NTP) non sia superiore a 1024 secondi. Se l'offset è maggiore di questo valore, la sorgente dell'ora sarà considerata imprecisa. Per questo motivo, proveremo prima a sincronizzare manualmente il client NTP con il server NTP utilizzando ntpdate. Se il valore dell'offset è inferiore a 1024 secondi, configureremo il file ntpd.conf per la sincronizzazione automatica.
Passaggio 1:sincronizza manualmente il client NTP con il server NTP utilizzando ntpdate
Ntpdate viene utilizzato per sincronizzare l'ora del client NTP con il server NTP una sola volta. Per installarlo sul computer client, utilizzare il seguente comando:
$ sudo apt install ntpdate
Dopo aver eseguito il comando precedente, ti potrebbe essere chiesto se desideri continuare l'installazione fornendo il s/n (sì/no) opzione. Inserisci y per continuare il processo di installazione.
Ora usa il comando seguente per sincronizzare manualmente il client NTP con il server NTP:
$ sudo ntpdate <ntp-server-hostname/ip>
Nel nostro scenario, sarebbe:
$ sudo ntpdate 192.168.72.158
L'output di ntpdate il comando mostrerà il valore di offset (differenza di tempo tra l'orologio locale e il server NTP). Nel nostro esempio, il valore di offset è 0,054776 sec, che è molto inferiore. Pertanto, ora possiamo configurare ntp.conf per sincronizzare automaticamente l'ora con il nostro server NTP.
Fase 2:configurazione del file host
Aggiungi la seguente voce del nome host in /etc/hosts file della macchina client. Questo passaggio è necessario per risolvere il server NTP tramite il nome host.
<ntp-server-hostname> <ntp-server-ip>
Assicurati di sostituire ntp-server-hostname e ip-server-ntp rispettivamente con il nome host e l'indirizzo IP del tuo NTP. Nel nostro scenario, sarebbe:
192.168.72.158 ntp-host
Passaggio 3:disabilita il demone systemd timesyncd
Poiché stiamo per configurare NTP, quindi disabilita systemd timesyncd demone. Utilizzare il comando seguente per farlo:
$ sudo timedatectl set-ntp off
Fase 4:sincronizza automaticamente il client NTP con il server NTP utilizzando il file di configurazione NTP
Ora configureremo la nostra macchina client per la sincronizzazione automatica con il server NTP. Per questo motivo installeremo NTP utilizzando il seguente comando sul sistema client:
$ sudo apt install ntp
Dopo aver eseguito il comando precedente, ti potrebbe essere chiesto se desideri continuare l'installazione fornendo il s/n (sì/no) opzione. Inserisci y per continuare il processo di installazione. Al termine dell'installazione, configura ntp.conf file.
Esegui il comando seguente per modificare il file ntp.conf:
$ sudo nano /etc/ntp.conf
Inserisci la seguente riga nel file:
server <ntp-server-hostname/ip> prefer iburst
Nel nostro scenario, sarebbe:
server 192.168.72.158 prefer iburst
Nella riga sopra, preferisci viene utilizzato per contrassegnare il server specificato come server preferito per la sincronizzazione NTP. Dove l'iburst serve per inviare sei pacchetti per la sincronizzazione invece del solito (nel caso in cui il server NTP non sia raggiungibile).
Ora riavvia il demone NTP per applicare le modifiche alla configurazione:
$ sudo service ntp restart
Controlla lo stato di sincronizzazione NTP
Ora per verificare se NTP funziona correttamente, esegui il seguente comando:
$ ntpq -p
Ecco l'output del comando precedente dove remoto è il nome host del server NTP e refid è il server di primo livello a cui si è connesso il nostro server NTP per la sincronizzazione.
Questo è tutto ciò che c'è da fare! Nel post di oggi vi abbiamo mostrato come configurare il server NTP su Debian 10. Poi vi abbiamo spiegato come configurare il client NTP su un'altra macchina Debian e sincronizzarlo con il server NTP. Seguendo tutti i semplici passaggi spiegati sopra, puoi sincronizzare facilmente tutti gli orologi di sistema in una rete.
Potresti visitare il nostro post su Come configurare un server NTP e un client su Ubuntu 20.04 LTS.