Network Time Protocol daemon (Italiano)

From ArchWiki
Revision as of 21:17, 12 October 2011 by Icetux (talk | contribs) (Configurazione)
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

Template:Package Official è disponibile in [extra].

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 local clock come 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 è 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 ed impedisce di interrogare lo stato del time server: "nomodify" impedisce la riconfigurazione di ntpd (con ntpq oppure ntpdc) e "noquery" impedisce il dumping dei dati da ntpd (sempre con ntpq oppure ntpdc).

È possibile aggiungere anche altre opzioni:

restrict default kod nomodify notrap nopeer noquery
Nota: Questo permetterà ad altre persone di interrogare il proprio time server. E' necessario aggiungere noserve per fermare il serving time.

La documentazione completa per l'opzione "restrict" è reperibile in Template:Codeline. Per istruzioni dettagliate vedere http://support.ntp.org/bin/view/Support/AccessRestrictions.

La linea seguente serve ad indicare a ntpd cosa può attraversare il proprio server; la seguente riga è sufficiente se non si sta configurando un server NTP:

restrict 127.0.0.1

Se si vuole forzare la risoluzione DNS al namespace IPv6, scrivere -6 davanti all'indirizzo IP o l'host name (-4 forza l'IPv4), ad esempio:

restrict -6 default nomodify nopeer
restrict -6 ::1    # ::1 is the IPv6 equivalent for 127.0.0.1

A questo punto rimane solo da 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

Una configurazione basilare, sarà simile a questa (tutti i commenti sono stati eliminati per chiarezza):

Template:File

Nota: Definire il file di log non è obbligatorio, ma è sempre una buona idea avere dei feedback per operazioni ntpd.

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 (leggere anche le pagine di manuale correlate: Template:Codeline).

Template:Gentoo (Italiano)

Avvio come demone

Avvio di ntpd

Avviare il demone con Template:Cli

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

Template:File

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"

Infine, riavviare il demone:

Template:Cli

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
Attenzione:
  • 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 "Template:Codeline" 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.

Articoli correlati

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

Link esterni