Ho impostato un client e/o un server NTP (Network Time Protocol) per gestire l’orologio di sistema su una rete. Ma come faccio a verificare che funzioni correttamente? Come faccio a controllare lo stato di NTP?
Mantenere l’ora corretta è essenziale su un sistema server e client. Puoi usare uno dei seguenti programmi per verificare che la configurazione del client NTP funzioni correttamente su Linux o sistemi Unix-like.
Come verificare che NTP funzioni?
- ntpq – programma standard di interrogazione NTP
- ntpstat – mostra lo stato di sincronizzazione sincronizzazione della rete
- timedatectl – mostra o imposta informazioni su ntp usando systemd
Dettagli del tutorial | |
---|---|
Livello di difficoltà | Facile |
Privilegi di root | No |
Requisiti | Nessuno |
Tempo di lettura stimato | Nessuno |
Si reading time | 2m |
Vediamo tutti i comandi e gli esempi in dettaglio
Occasionalmente potresti non trovare i seguenti strumenti installati di default sulla tua distro Linux/Unix. Se si ottiene un errore “comando non trovato”. Cerca questi strumenti e installali.
Verifica che NTP funzioni o meno con il comando ntpstat
Il comando ntpstat riporta lo stato di sincronizzazione del demone NTP in esecuzione sulla macchina locale. Se il sistema locale risulta essere sincronizzato con una fonte di tempo di riferimento, ntpstat riporterà la precisione approssimativa del tempo.
stato di uscita del comando ntpstat
Puoi usare lo stato di uscita (valori di ritorno) per verificare le sue operazioni da uno script di shell o dalla linea di comando stessa:
- Se stato di uscita 0 – L’orologio è sincronizzato.
- stato di uscita 1 – L’orologio non è sincronizzato.
- stato di uscita 2 – Se lo stato dell’orologio è indeterminato, per esempio se ntpd non è contattabile.
Tipo il comando come segue:$ ntpstat
Esempio di output:
synchronised to NTP server (149.20.54.20) at stratum 3 time correct to within 42 ms polling server every 1024 s
Usa il comando echo per visualizzare lo stato di uscita del client ntp:$ echo $?
Esiti di esempio:
0
Verificare lo stato di NTP con il comando ntpq
Il programma di utilità ntpq è usato per monitorare le operazioni del demone NTP ntpd e determinare le prestazioni. Il programma può essere eseguito in modalità interattiva o controllato usando argomenti della linea di comando. Digita il seguente comando sul tuo sistema Linux o Unix:$ ntpq -pn
O$ ntpq -p
Esiti di esempio:
remote refid st t when poll reach delay offset jitter==============================================================================*dione.cbane.org 204.123.2.5 2 u 509 1024 377 51.661 -3.343 0.279+ns1.your-site.c 132.236.56.252 3 u 899 1024 377 48.395 2.047 1.006+ntp.yoinks.net 129.7.1.66 2 u 930 1024 377 0.693 1.035 0.241 LOCAL(0) .LOCL. 10 l 45 64 377 0.000 0.000 0.001
* la fonte a cui siete sincronizzati (syspeer). Quanto sopra è un esempio di client ntp funzionante. Dove,
- -p : Stampa una lista dei peer conosciuti dal server e un riassunto del loro stato.
- -n : Emette tutti gli indirizzi degli host in formato numerico a quadratini punteggiati piuttosto che convertirli nei nomi canonici degli host.
Un’altra fonte affidabile è l’esecuzione del seguente comando:$ ntpq -c rv
Cercate il codice di salto come segue:
Quindi il codice di salto 0 (leap_none) significa normale stato sincronizzato. E il codice 3 (leap_alarm) significa che NTP non è mai stato sincronizzato. Ecco un esempio di output:
Una nota sul comando timedatectl
Se stai usando un sistema basato su systemd, esegui il seguente comando per controllare lo stato del servizio# timedatectl status
Esiti di esempio:
Il mio NTP (systemd-timesyncd) funziona?
Configurazione di systemd-timesyncd
Se NTP abilitato è impostato su No. Provare a configurare modificando il file /etc/systemd/timesyncd.conf come segue:# vi /etc/systemd/timesyncd.conf
Applicare/modificare come segue cioè aggiungere i time server o cambiare quelli forniti, decommentare la linea corrispondente ed elencare il loro nome host o IP separati da uno spazio (predefinito dal mio server Debian 8.x server):
Servers=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
Salvare e chiudere il file. Infine, avviatelo e abilitatelo, eseguite:# timedatectl set-ntp true
# timedatectl status
Esiti di esempio:
Local time: Mon 2019-09-30 18:25:38 IST Universal time: Mon 2019-09-30 12:55:38 UTC RTC time: Mon 2019-09-30 12:55:38 Time zone: Asia/Kolkata (IST, +0530) System clock synchronized: yessystemd-timesyncd.service active: yes RTC in local TZ: no
Questo è un modo semplice per verificare che NTP funzioni su Linux.
Conclusione
Hai imparato come verificare che la tua configurazione NTP funzioni correttamente. Ora sai come controllare lo stato della tua data e ora, sincronizzata con i server temporali a monte. Per maggiori informazioni vedi ntpd docs qui.
🐧 11 commenti finora… aggiungine uno ↓
Categoria | Elenco di comandi Unix e Linux |
---|---|
Gestione dei file | cat |
Firewall | Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04 |
Utilità di rete | dig – host – ip – nmap |
OpenVPN | CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04 |
Package Manager | apk – apt |
Gestione dei processi | bg – chroot – cron – disown – fg – jobs – killall – kill – pidof – pstree – pwdx – tempo |
Ricerca | grep – whereis – quale |
Informazioni utente | gruppi – id – lastcomm – last – lid/libuser-lid – logname – members – users – whoami – who – w |
WireGuard VPN | Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04 |