Network Time Protocol daemon (Italiano)

From ArchWiki
Revision as of 00:42, 12 February 2011 by Kynikos (Talk | contribs) (Created page with "Category:Networking (Italiano) Category:Daemons and system services (Italiano) Category:HOWTOs (Italiano) {{i18n|Network Time Protocol}} Quest'articolo descrive come...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Quest'articolo descrive come configurare ed eseguire NTPd (Network Time Protocol daemon), il metodo più diffuso per sincronizzare l'orologio software di un sistema GNU/Linux con dei time server utilizzando il Network Time Protocol; se appositamente configurato, NTPd può far funzionare il computer stesso come un time server.

Installazione

NTPd è disponibile in [extra]:

Template:Cli

Configurazione

La prima cosa che bisogna definire in Template:Filename sono i server con cui il computer dovrà sincronizzarsi. I server NTP sono classificati in un sistema gerarchico con vari livelli chiamati stratum: i dispositivi che sono considerati sorgenti indipendenti dell'orario sono classificati come stratum 0; i server direttamente connessi ai dispositivi stratum 0 sono classificati come stratum 1; i server connessi a loro volta a dispositivi stratum 1 sono classificati come stratum 2 e così via.

È necessario comprendere che lo stratum di un server non può essere considerato un'indicazione della sua precisione o affidabilità. Tipicamente, per scopi generici di sincronizzazione sono utilizzati server dello stratum 2: a meno che non si conoscano già i server a cui connettersi, è bene utilizzare quelli forniti da pool.ntp.org (link alternativo) scegliendo il pool di server più vicino alla propria posizione geografica.

Le seguenti linee sono un esempio:

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

L'opzione iburst è consigliata, e invia una serie (burst) di pacchetti se non riesce ad ottenere una connessione al primo tentativo. L'opzione burst non dovrebbe invece essere mai usata senza un'esplicita autorizzazione, e probabilmente porterebbe ad essere inseriti in una blacklist.

Se si sta configurando un server ntp, è necessario aggiungere localhost tra i server in maniera che, nel caso il computer perda la connessione ad internet, non smetta comunque di inviare l'orario al network; è bene aggiungere localhost come un server stratum 10 (utilizzando il comando fudge) in maniera che non sia mai usato a meno che sia perso l'accesso ad internet:

server 127.127.1.0
fudge  127.127.1.0 stratum 10

La prossima cosa da fare è aggiungere il percorso del file per il drift (che tiene conto della deviazione dell'orario di sistema) ed eventualmente il percorso del file di log:

driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log

A questo punto rimane solo da definire le regole che permetteranno ai vari client di connettersi al servizio (anche localhost è considerato un client) utilizzando il comando restrict; nel file dovrebbe già essere presente una linea simile a questa:

restrict default nomodify nopeer

Questa linea nega a chiunque il permesso di modificare qualunque cosa e di fare richieste al time server.

È possibile aggiungere anche altre opzioni:

restrict default kod nomodify notrap nopeer noquery

In passato, anche notrust era usata, ma la sua funzione è poi venuta a significare che è richiesta l'autenticazione con una password.

Dopo questa linea è necessario far sapere a ntpd a chi deve permettere di connettersi al server; la seguente riga è sufficiente se non si sta configurando un server ntp:

restrict 127.0.0.1

Altrimenti si possono aggiungere più client come in quest'esempio:

restrict 1.2.3.4 nomodify
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

Questo spiega a ntpd che 1.2.3.4 e tutti gli indirizzi IP dalla serie 192.168.0.0 hanno il permesso di sincronizzarsi con questo server, ma non sarà loro permesso di modificare alcunché. Qualunque altro indirizzo IP risponderà sempre alle restrizioni di base (la prima linea restrict in Template:Filename).

In conclusione, per una configurazione basilare, il file completo sarà simile a questo (tutti i commenti sono stati eliminati per chiarezza):

Template:File

Effettivamente, definire un file di log non è obbligatorio, ma è sempre una buona idea per avere un resoconto delle operazioni di ntpd.

Infine, mai dimenticarsi delle pagine di manuale: c'è la possibilità che Template:Codeline possa rispondere a molti dubbi che siano rimasti.

Template:Gentoo(ita)

Avvio come demone

Avvio di ntpd

Aggiungere ntpd alla lista DAEMONS in Template:Filename per avviarlo al boot:

DAEMONS=(syslog-ng network @ntpd ...)

NetworkManager

ntpd può essere acceso/spento a seconda della connessione internet attraverso l'uso dei dispatcher script di NetworkManager. È possibile installare gli script necessari dal repo [community]:

Template:Cli

Avvio come utente non-root

Quando compilato con l'opzione --enable-linux-caps, ntp può essere avviato da utente non root in modo tale da aumentare la sicurezza (il pacchetto vanilla di Arch Linux contiene quest'opzione).

Nota: Prima di provare quest'opzione, assicurarsi che ntp abbia già creato Template:Filename.

Creare il gruppo ntp e l'utente ntp:

Template:Cli

Cambiare il proprietario della cartella ntp con l'utente/gruppo ntp:

Template:Cli

Editare Template:Filename e cambiare

NTPD_ARGS="-g"

in

NTPD_ARGS="-g -u ntp:ntp"

Sincronizzare l'orologio senza usare il demone

Se si vuole semplicemente sincronizzare l'orologio di sistema durante il boot senza utilizzare ntpd come demone, è possibile aggiungere la seguente linea a Template:Filename:

ntpd -qg &

Questo processo ha un comportamento analogo al programma ntpdate, che è ormai deprecato.

Nota:
  • Perché questo metodo funzioni bisogna assicurarsi che, quando Template:Filename viene eseguito, la connessione alla rete sia già stata inizializzata (ad esempio non si dovrebbero avviare in background in Template:Filename demoni essenziali per il funzionamento della rete stessa)
  • L'orologio hardware viene già automaticamente riallineato all'orologio di sistema ad ogni shutdown del computer, grazie ad un comando posto in Template:Filename
Warning:
  • Usare questo metodo è fortemente sconsigliato su server e in generale su macchine che devono funzionare continuativamente per periodi maggiori di 2 o 3 giorni, infatti l'orologio di sistema viene aggiornato solo una volta durante il boot.
  • Lanciare "ntpd -qg" come un evento di cron è da evitare assolutamente, a meno di essere perfettamente consapevoli del comportamento delle proprie applicazioni avviate in caso di modifiche istantanee dell'orologio di sistema.

Alternative

Una possibile alternativa a NTPd è OpenNTPD, parte del progetto OpenBSD e attualmente non mantenuto per Linux.

Vedi anche

  • Time (per maggiori informazioni sulla gestione del tempo nel computer)

Link esterni