Ricerca nel sito web

Come installare e configurare server e client NTP su Debian


Il Network Time Protocol (NTP) offre alle aziende la capacità unica di sincronizzare gli orologi di tutti i sistemi all'interno dell'azienda. La sincronizzazione dell'ora è importante per molte ragioni, dai timestamp dell'applicazione alla sicurezza alle voci di registro corrette.

Quando i sistemi di un’organizzazione mantengono orari diversi, diventa molto difficile, dal punto di vista della risoluzione dei problemi, determinare quando e in quali condizioni potrebbe verificarsi un particolare evento.

NTP fornisce un modo semplice per garantire che tutti i sistemi mantengano l'ora corretta, il che a sua volta può semplificare notevolmente il carico sugli amministratori/supporto tecnico.

NTP funziona sulla premessa della sincronizzazione con orologi di riferimento, noti anche come server "stratum 0". Tutti gli altri server NTP diventano quindi un server di strati di livello inferiore in base alla distanza da un server di riferimento.

L'inizio della catena NTP è un server strato 1 che è sempre direttamente collegato a un orologio di riferimento strato 0. Da qui, i server di livello inferiore sono collegati tramite una connessione di rete a un server di livello superiore.

Fare riferimento allo schema seguente per un concetto più chiaro.

Sebbene sia possibile configurare un server strato 0 o strato 1, è costoso farlo e pertanto questa guida si concentrerà sulla configurazione del server di strati inferiori.

Tecmint ha una configurazione host di base di NTP al seguente collegamento:

  1. Come sincronizzare l'ora con il server NTP

Ciò che differirà in questa guida è che, invece di avere tutti gli host sulla rete che eseguono query ai server NTP pubblici, uno (o, meglio, più) server contatterà il sistema NTP pubblico e quindi fornirà tempo a tutti gli host all'interno del rete locale.

Un server NTP interno è spesso ideale per conservare la larghezza di banda della rete e fornire una maggiore sicurezza attraverso restrizioni e crittografia NTP. Per vedere come questo differisce dal primo diagramma, vedere il secondo diagramma di seguito.

Passaggio 1: installazione del server NTP

1. Il primo passo per configurare una struttura NTP interna è installare il software del server NTP. Il pacchetto software in Debian chiamato "NTP" attualmente contiene tutte le utilità del server necessarie per impostare una gerarchia NTP. Come per tutti i tutorial sulla configurazione del sistema, si presuppone l'accesso Root o sudo.

apt-get install ntp
dpkg --get-selections ntp          [Can be used to confirm NTP is installed]
dpkg -s ntp                        [Can also be used to confirm NTP is installed]

Passaggio 1: configurazione del server NTP

2. Una volta installato NTP, è il momento di configurare quali server di strato superiore interrogare nel tempo. Il file di configurazione per NTP è memorizzato in "/etc/ntp.conf" e può essere modificato con qualsiasi editor di testo. Questo file conterrà i nomi di dominio completi dei server di livello superiore, le restrizioni impostate per questo server NTP e qualsiasi altro parametro speciale per gli host che interrogano questo server NTP.

Per avviare il processo di configurazione, è necessario configurare i server di livello superiore. Debian per impostazione predefinita inserirà il pool NTP Debian nel file di configurazione. Questi vanno bene per la maggior parte degli scopi, ma un amministratore può visitare il NIST per specificare determinati server o per utilizzare tutti i server del NIST in modalità round robin (metodo suggerito dal NIST).

Per questo tutorial verranno configurati server specifici. Il file di configurazione è suddiviso in alcune sezioni principali ed è configurato per impostazione predefinita per IPv4 e IPv6 (se desideri disabilitare IPv6, ne parleremo più avanti). Per avviare il processo di configurazione, il file di configurazione deve essere aperto con un editor di testo.

nano /etc/ntp.conf

Le prime sezioni (driftfile, statsdir e statistiche) possono essere impostate sui valori predefiniti. La sezione successiva contiene i server di livello superiore attraverso i quali questo server dovrebbe richiedere l'ora. La sintassi per ciascuna voce del server è molto semplice:

server <fully qualified domain name> <options>
server time.nist.gov iburst â     [sample entry]

In genere è una buona idea avere diversi server di livello superiore tra cui scegliere in questo elenco. Questo server interrogherà tutti i server nell'elenco per determinare quale è il più affidabile. I server per questo esempio sono stati ottenuti da: http://tf.nist.gov/tf-cgi/servers.cgi.

Passaggio 3: configurazione delle restrizioni NTP

3. Il passaggio successivo è configurare le restrizioni NTP. Questi vengono utilizzati per consentire o impedire agli host di interagire con il server NTP. L'impostazione predefinita per NTP è servire il tempo a chiunque ma non consentire la configurazione su entrambe le connessioni IPv4 e IPv6.

Questo server è attualmente utilizzato solo su una rete IPv4, quindi IPv6 è stato disabilitato in due modi. La prima cosa da fare per disabilitare IPv6 sul server NTP è stata modificare le impostazioni predefinite avviate dal demone. Ciò è stato ottenuto modificando la riga in "/etc/default/ntp".

nano /etc/default/ntp
NTPD_OPTS='-4 -g' [Add the ' -4 ' to this line to tell NTPD to only listen to IPv4]

Tornando al file di configurazione principale (/etc/ntp.conf), il demone NTP verrà configurato automaticamente per condividere il tempo con tutti gli host IPv4/6 ma non consentirà la configurazione. Ciò può essere visto dalle seguenti due righe:

NTPD funziona su base consentita a meno che non sia negata. Poiché IPv6 è stato disabilitato, la riga "restrict -6" può essere rimossa o commentata con " #"

Ciò modifica il comportamento predefinito di NTP in modo che ignori tutti i messaggi. Ciò può sembrare strano, ma continua a leggere poiché verranno utilizzate clausole di limitazione per ottimizzare l'accesso a questo server NTP per gli host che necessitano dell'accesso.

Ora il server deve sapere chi è autorizzato a interrogare il server per l'ora e cos'altro può fare con il server NTP. Per questo server, verrà utilizzata una rete privata di 172.27.0.0/16 per creare la stanza di restrizione.

Questa riga informa il server di consentire a qualsiasi host della rete 172.27.0.0/16 di accedere al server per un certo periodo. I parametri dopo la maschera aiutano a controllare cosa può fare uno qualsiasi degli host su questa rete quando interroga il server. Prendiamoci un momento per comprendere ciascuna di queste opzioni di limitazione:

  1. Limitato: indica che se un client dovesse abusare del controllo della velocità del numero di pacchetti, i pacchetti verranno scartati dal server. Se il pacchetto Kiss of Death è abilitato, verrà rispedito all'host violento. Le tariffe sono configurabili da un amministratore, ma qui si presuppongono le impostazioni predefinite.
  2. KOD: Bacio della Morte. Se un host viola il limite di pacchetti inviati al server, il server risponderà con un pacchetto KoD all'host che viola.
  3. Notrap: messaggi di controllo modalità 6 di rifiuto. Questi messaggi di controllo vengono utilizzati per i programmi di registrazione remota.
  4. Nomodify: impedisce le query ntpq e ntpdc che modificherebbero la configurazione del server, ma le query informative sono comunque consentite.
  5. Noquery: questa opzione impedisce agli host di interrogare il server per ottenere informazioni. Ad esempio, senza questa opzione gli host possono utilizzare ntpdc o ntpq per determinare da dove un particolare time server riceve l'ora o da altri peer time server con cui potrebbe comunicare.