Questa è una vecchia versione del documento!
per vedere l'ora:
date
per impostarla:
date mmddhhmiyyyy.ss
per installare il servizio ntp
yum install ntp dnf install ntp apt-get install ntp
per impostare un server:
ntpdate -u ntp1.inrim.it
per avviare il servizio al boot:
systemctl enable ntpd.service
installare i pacchetti:
apt-get install ntp ntpdate
editare il file di configurazione /etc/ntp.conf
server ntp1.inrim.it server ntp2.inrim.it
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
Fermare il servizio per effettuare le modifiche
service ntp stop
sincronizzare con il comando:
ntpdate ntp1.inrim.it
Riavviare il servizio:
service ntp start
Verificare che sia tutto ok:
ntpq -pn
Gli IP dei server NTP contattati e i dati relativi a ritardo/offset/jitter, etc. ci dicono che la query ha avuto successo. I valori delle colonne delay, offset e jitter sono espresse in [ms]; offset indica lo scostamento tra il tempo locale e quello del server NTP della LAN.
Anche nel client si dovranno installare i pacchetti 'ntp' e 'ntpdate'.<br />
Il file /etc/ntp.conf sarà quasi identico a quello visto in precedenza ad eccezione (ovviamente) del blocco relativo al server NTP col quale sincronizzarsi: <pre> # /etc/ntp.conf, file di configurazione for ntpd
# File nel quale scrivere la frequenza di scostamento dal clock di sistema. driftfile /var/lib/ntp/ntp.drift
# Statistiche statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable
# Questo è l'unico blocco modificato rispetto all'/etc/ntp.conf del server # NTP server con i quali sincronizzarsi server 192.168.1.4
# pool.ntp.org è un cluster di timeserver che forniscono un servizio NTP affidabile e facile da usare. server 0.debian.pool.ntp.org iburst server 1.debian.pool.ntp.org iburst server 2.debian.pool.ntp.org iburst server 3.debian.pool.ntp.org iburst
# È permesso “dialogare” con chiunque (via ipv4 e via ipv6) ma non sono autorizzate configurazioni restrict -4 default kod notrap nomodify nopeer noquery restrict -6 default kod notrap nomodify nopeer noquery
# Utenti locali restrict 127.0.0.1 restrict ::1 </pre>
In pratica stiamo configurando il client affinché si sincronizzi col server NTP della nostra rete e non con uno esterno.
Come fatto per il server, per avviare correttamente il servizio, ci basteranno pochi semplici passi. L'unica differenza sarà l'iniziale sincronizzazione dell'orologio con quello del server NTP della LAN piuttosto che con quello di un server esterno: <pre> # service ntp stop Stopping NTP server: ntpd.
# ntpdate 192.168.1.4 9 Nov 19:17:24 ntpdate[3497]: adjust time server 192.168.1.4 offset 0.027409 sec
# service ntp start Starting NTP server: ntpd. </pre>
La solita query sui peer di sincronizzazione ci confermerà che tutto è andato per il verso giusto: <pre> # ntpq -pn
remote refid st t when poll reach delay offset jitter
192.168.1.4 85.18.189.242 4 u 18 64 1 23.560 7.767 0.000
*217.194.13.90 193.204.114.233 2 u 7 64 1 53.064 -2.657 2.834
-93.62.188.182 193.204.114.232 2 u 6 64 1 75.131 0.969 1.270
+2.229.10.127 193.204.114.233 2 u 5 64 1 71.776 -4.022 3.909
+77.242.176.254 193.204.114.233 2 u 4 64 1 66.015 -1.140 1.181
</pre>
Come si può notare il primo dei peer contattati è adesso il server NTP '192.168.1.4'. I valori delle colonne delay, offset e jitter sono espresse in [ms]; offset indica lo scostamento tra il tempo locale e quello del server NTP della LAN.
Si tenga presente che quando il servizio ntp è attivo… ntpdate non funziona:
<pre> # ntpdate time.ien.it 9 Nov 19:29:03 ntpdate[3250]: the NTP socket is in use, exiting
# service ntp stop Stopping NTP server: ntpd.
# ntpdate time.ien.it 9 Nov 19:29:16 ntpdate[3263]: adjust time server 193.204.114.105 offset -0.007507 sec
# service ntp start Starting NTP server: ntpd. </pre>
Come evidenziato all'inizio, affinché l'orologio riesca a sincronizzarsi con dei server esterni è necessario che la porta 123/UDP sia aperta.<br />
Ci si può però trovare all'interno di una rete protetta da un firewall che blocchi quella porta.
Avendo la possibilità di modificare la configurazione del firewall è possibile aprire la porta 123/UDP aggiungendo allo script di avvio di iptables due regole simili a queste:
<pre>
# apre la porta 123/udp
/sbin/iptables -A INPUT -p udp –dport 123 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp –sport 123 -j ACCEPT
</pre>
Se invece non è possibile intervenire sul firewall, è comunque possibile configurare un server NTP che si sincronizzi con timeserver esterni ricorrendo a [http://packages.debian.org/jessie/openntpd OpenNTPD] invece che a ntp. <br />
Esso infatti utilizza porte non privilegiate ed è quindi “possibile” (non “certo”… dipende sempre dalle politiche restrittive del firewall) che riesca a sincronizzarsi senza problemi.