Learning Center
Server

Configurare NTP su un server: Guida passo-passo

6 nov 2025
Hostman Team
Hostman Team

NTP (Network Time Protocol) viene utilizzato per sincronizzare l'ora del sistema con un'ora di riferimento fornita da server specializzati. Questo articolo copre come configurare NTP su vari sistemi operativi e dispositivi, iniziando con una guida completa su come configurare un server NTP su Linux.

Configurare un server NTP su Linux
Copia link

Mostreremo la configurazione della sincronizzazione usando Ubuntu, ma questa guida si applica anche a Debian e alla maggior parte dei sistemi basati su Linux. Abbiamo suddiviso le istruzioni in tre parti: la prima copre l'installazione del server NTP, la seconda spiega come sincronizzare i client NTP e la terza copre le impostazioni avanzate di sincronizzazione.

Per seguire questa guida, avrai bisogno di:

  • Un server cloud con Ubuntu installato.

  • Un utente root o un utente con privilegi sudo.

  • Nano o un altro editor di testo installato.

Installare il server NTP

Questi passaggi ti guideranno nell'installazione e nella preparazione del server NTP per la configurazione.

Aggiorna l'indice dei repository per assicurarti di poter scaricare le versioni più recenti del software. Usa il seguente comando:

sudo apt-get update

  1. Installa il server NTP:

    sudo apt-get install ntp

Conferma l'installazione scegliendo "Y" se richiesto (Y/N). Attendi che il software venga scaricato e installato.

  1. Verifica l'installazione:

    sntp --version

L'output dovrebbe mostrare il numero di versione e l'ora di installazione.

  1. Connettiti al server più vicino.

Il server dovrebbe ricevere l'ora corretta per impostazione predefinita, ma è meglio connettersi a un server locale per maggiore affidabilità. Per fare ciò, modifica il file ntp.conf situato in /etc/ntp.conf. Aprilo con nano (saranno necessari privilegi sudo) inserendo:

sudo nano /etc/ntp.conf

Nel file aperto, vedrai quattro righe che abbiamo evidenziato in arancione come riferimento: Questi sono i pool predefiniti che sostituiremo con pool locali (ad esempio, per gli Stati Uniti, possiamo usare server NTP da questa pagina). Dopo aver sostituito le righe, salva e chiudi ntp.conf premendo Ctrl+O e Ctrl+X.

  1. Riavvia il server:

    sudo service ntp restart

  2. Controlla lo stato del server:

    sudo service ntp status

L'output dovrebbe indicare "Active (running)" su una delle prime righe (Active) e l'ora di avvio del server.

  1. Configura il firewall.

Per consentire l'accesso dei client al server, apri la porta UDP 123 utilizzando UFW con il seguente comando:

sudo ufw allow from any to any port 123 proto udp

L'installazione è terminata e il server è in esecuzione. Ora puoi procedere con la configurazione aggiuntiva.

Configurare la sincronizzazione del client NTP
Copia link

I passaggi seguenti consentiranno ai sistemi client di sincronizzarsi con il nostro server NTP, che fungerà da fonte principale di tempo.

Verifica la connessione
Per verificare la configurazione di rete per NTP, inserisci il seguente comando nel terminale:

sudo apt-get install ntpdate

  1. Specifica l'indirizzo IP e il nome host

Per configurare l'IP e il nome host del server, modifica il file hosts situato in /etc/hosts:

sudo nano /etc/hosts

Aggiungi i dati pertinenti alla terza riga dall'alto (l'indirizzo qui sotto è solo un esempio; sostituiscilo con l'IP reale del tuo server NTP):

192.168.154.142 ntp-server

Premi Ctrl+X per uscire e salva le modifiche premendo Y. In alternativa, se hai un server DNS, puoi eseguire questo passaggio lì.

  1. Verifica la sincronizzazione del client con il server

Per verificare se la sincronizzazione è attiva tra il server e il client, inserisci:

sudo ntpdate ntp-server

L'output mostrerà il ritardo. Una differenza di poche millisecondi è normale, quindi puoi ignorare i valori piccoli.

  1. Disabilita il servizio timesyncd

Questo servizio sincronizza l'ora locale del sistema, ma non ne abbiamo bisogno, poiché i nostri client si sincronizzeranno con il server NTP. Disabilitalo con:

sudo timedatectl set-ntp off

  1. Installa NTP sul sistema client

Installa NTP sul client con questo comando:

sudo apt-get install ntp

  1. Imposta il tuo server NTP come riferimento principale

Per assicurarti che i client si sincronizzino specificamente con il tuo server, apri il file ntp.conf e aggiungi la seguente riga:

server NTP-server-host prefer iburst

La direttiva prefer segna il server come preferito, e iburst consente di fare più richieste al server per una maggiore precisione nella sincronizzazione. Salva le modifiche premendo Ctrl+X e conferma con Y.

  1. Riavvia il server

Riavvia il server NTP con questo semplice comando:

sudo service ntp restart

  1. Controlla la coda di sincronizzazione

Infine, controlla lo stato della sincronizzazione inserendo:

ntpq -ps

Questo comando mostrerà l'elenco dei server nella coda di sincronizzazione, incluso il tuo server NTP come fonte designata.

Opzioni avanzate di sincronizzazione
Copia link

Ora che abbiamo configurato il server NTP e sincronizzato le macchine client, torniamo al file ntp.conf (che si trova in /etc/ntp.conf). Questo file contiene configurazioni aggiuntive per garantire una sincronizzazione robusta con fonti esterne.

Server preferito

Segna il server o il gruppo di server più affidabile con la direttiva prefer che abbiamo utilizzato in precedenza. Ad esempio:

server 1.north-america.pool.ntp.org prefer

La direttiva server indica un server specifico, mentre pool può essere utilizzato per specificare un gruppo di server. Non dimenticare la riga server 127.127.1.0 alla fine della lista dei pool, che utilizza l'ora del sistema se la connessione viene persa.

Impostazioni di sicurezza

Assicurati che le seguenti righe siano presenti nel ntp.conf:

restrict default kod notrap nomodify nopeer noquery

La comando default applica questi parametri come valori predefiniti per tutte le comandi restrict:

  • kod (Kiss-o’-Death) limita la velocità delle richieste.

  • notrap blocca l'accettazione dei comandi di controllo.

  • nomodify limita i comandi che potrebbero alterare lo stato del server.

  • nopeer impedisce la sincronizzazione con host esterni.

  • noquery blocca le richieste di query.

Per IPv4, usa -4 prima di default, e per IPv6, usa -6.

Ecco un esempio di utilizzo di alcuni di questi comandi. La seguente riga consente la sincronizzazione dei nodi in una rete specifica, limitando però questi nodi dal ricevere comandi di controllo o modificare lo stato:

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

Le righe seguenti sono necessarie affinché il server possa comunicare con se stesso:

restrict 127.0.0.1

restrict ::1

Non dimenticare di riavviare il server dopo aver effettuato queste modifiche.

Verifica del funzionamento di NTP
Copia link

Per verificare se NTP funziona correttamente, usa il comando ntpq -p. Con una configurazione corretta, l'output dovrebbe mostrare una tabella con colonne simili a questa: Nella prima colonna, vedrai l'indirizzo del server di sincronizzazione, seguito dal server principale, dal livello di strato (colonna st) e dalla colonna di tipo (t). Le tre colonne successive mostrano i dettagli sull'ultimo tempo di sincronizzazione, sull'intervallo di sincronizzazione e sulla fiabilità (dove 377 indica otto tentativi di sincronizzazione riusciti con quel server). Le ultime due colonne mostrano la differenza di tempo tra il server sincronizzato e il server di riferimento, così come il ritardo.

Fai attenzione ai simboli nella prima colonna prima dell'indirizzo IP:

  • Un simbolo "+" indica un server affidabile per la sincronizzazione.

  • Un "-" significa il contrario, e

  • Un "*" indica il server attualmente scelto per la sincronizzazione.

Ogni tanto potrebbe apparire una "x", il che significa che il server non è disponibile.

Verifica che il server distribuisca l'ora corretta
Copia link

Per assicurarti che il server distribuisca l'ora corretta, esegui il comando ntpdate da un altro sistema, specificando l'indirizzo IP del server NTP che vuoi verificare. L'output dovrebbe somigliare a questo:

adjust time server (indirizzo IP qui) offset 0.012319 sec

Il numero rappresenta il ritardo. Un ritardo di circa 0,01 secondi (12 millisecondi) è perfettamente accettabile.

Ora che abbiamo completato la configurazione su Linux, vediamo come configurare il protocollo NTP su Windows.