relecture

This commit is contained in:
Gregory Colpart 2017-05-30 15:51:39 +02:00
parent 41e7715c88
commit cd697c27c0

View file

@ -1,37 +1,37 @@
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** ---
categories: system
title: Howto NTP
...
# Howto NTP Le protocole [NTP (Network Time Protocol)](https://fr.wikipedia.org/wiki/Network_Time_Protocol) permet de maintenir à l'heure un système d'exploitation.
Il s'agit d'éviter les déviations d'heure, et **pas** de gérer les changements de fuseaux horaires ou les décalages d'heure été/hiver.
On utilise en général le protocole NTP version 4 (NTPv4) publié en juin 2010. Sur des petits équipements, on utilise parfois une version simplifiée de NTP appelée [SNTP (Simple Network Time Protocol)](https://tools.ietf.org/html/rfc4330).
Le protocole NTP (Network Time Protocol) permet de maintenir à l'heure un ordinateur. Sur un serveur, nous recommandons d'être synchronisé avec les serveurs de temps de référence [pool.ntp.org](http://www.pool.ntp.org/).
## Installation ## Installation
Installer un serveur NTP sous Linux : Il existe des clients NTP en ligne de commande comme _ntpdate_ mais sur un
serveur nous conseillons d'utiliser un démon NTP qui maintiendra le système
synchronisé en permanence avec un temps de référence :
~~~ ~~~
# apt install ntp # apt install ntp
# ntpd --help | head -1
ntpd - NTP daemon program - Ver. 4.2.6p5
~~~ ~~~
On le configure via le fichier _/etc/ntp.conf_. ## Configuration en tant que client NTP
## NTP sous OpenBSD L'objectif est de maintenir le serveur synchronisé en permanence avec des serveurs NTP de référence.
OpenBSD installe par défaut OpenNTPD. La configuration se fait via le fichier `/etc/ntp.conf` :
Pour forcer une synchronisation immédiate :
~~~
# ntpd -s
~~~
## Serveur NTP uniquement pour la machine
Pour un serveur utilisé uniquement pour la machine,
on aura principalement les directives suivantes :
~~~ ~~~
# Le ou les serveurs sur lesquels on veut se synchroniser # Le ou les serveurs sur lesquels on veut se synchroniser
server ntp.evolix.net server ntp.evolix.net
server pool.ntp.org
# Cette ligne sert à autoriser le contrôle TOTAL de l'horloge pour la machine locale # Cette ligne sert à autoriser le contrôle TOTAL de l'horloge pour la machine locale
# ce qui est le but recherché. # ce qui est le but recherché.
@ -42,16 +42,29 @@ restrict ::1
# On interdit toute requête de synchronisation VERS notre serveur # On interdit toute requête de synchronisation VERS notre serveur
restrict -4 ignore restrict -4 ignore
restrict -6 ignore restrict -6 ignore
~~~ ~~~
## Serveur NTP public On peut vérifier le bon fonctionnement via la commande :
Pour un serveur sur lequel viendrait se synchroniser d'autres machines : ~~~
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
ntp.example.com 213.251.153.35 3 u 50 64 3 19.404 -10.832 8.768
~~~
## Configuration en tant que serveur NTP
Pour un serveur sur lequel viendrait se synchroniser d'autres machines,
on se synchronise avec plusieurs serveurs de strate 2 et on autorise
l'accès en lecture depuis d'autres machines via le fichier `/etc/ntp.conf` :
On le configure via le fichier _/etc/ntp.conf_.
~~~ ~~~
# Plusieurs serveurs (de strate 2 a priori) # Plusieurs serveurs (de strate 2 a priori)
# Voir <http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers> # Voir http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers
server ntp1.example.com server ntp1.example.com
server ntp2.example.com server ntp2.example.com
server ntp3.example.com server ntp3.example.com
@ -66,23 +79,12 @@ restrict 127.0.0.1
restrict ::1 restrict ::1
~~~ ~~~
## Outils
On vérifie son bon fonctionnement via :
~~~
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
ntp.example.com 213.251.153.35 3 u 50 64 3 19.404 -10.832 8.768
~~~
On peut voir la liste des clients qui se connectent au serveur via : On peut voir la liste des clients qui se connectent au serveur via :
~~~ ~~~
# ntpdc -c monlist # ntpdc -c monlist
remote address port local address count m ver rstr avgint lstint remote address port local address count m ver rstr avgint lstint
=============================================================================== ================================================================================
server1.example.com 41342 192.0.43.123 6404 3 4 1d0 27 2 server1.example.com 41342 192.0.43.123 6404 3 4 1d0 27 2
server2.example.com 34764 192.0.43.123 6412 3 4 1d0 27 2 server2.example.com 34764 192.0.43.123 6412 3 4 1d0 27 2
server3.example.com 44168 192.0.43.123 6970 3 4 1d0 25 10 server3.example.com 44168 192.0.43.123 6970 3 4 1d0 25 10
@ -90,11 +92,36 @@ server4.example.com 58051 192.0.43.123 2495 3 4 1d0 70 16
server5.example.com 123 192.0.43.123 2640 3 4 1d0 66 30 server5.example.com 123 192.0.43.123 2640 3 4 1d0 66 30
~~~ ~~~
## Courbes Munin
## NTP sous OpenBSD
Sous OpenBSD on a le démon très léger [OpenNTPD](http://www.openntpd.org/).
Il est installé et lancé par défaut avec une configuration minimale via le fichier `/etc/ntpd.conf` :
~~~
servers pool.ntp.org
~~~
À noter que par défaut, la synchronisation NTP est lente, il faudra plusieurs minutes voire heures
si votre horloge a un fort décalage.
Pour forcer une synchronisation immédiate :
~~~
# ntpd -s
~~~
On conseille de l'activer au démarrage :
~~~
# rcctl set ntpd flags "-s"
~~~
## Munin
Pour les serveurs utilisant un serveur NTP uniquement pour leurs besoins, Munin Pour les serveurs utilisant un serveur NTP uniquement pour leurs besoins, Munin
intègre par défaut des scripts pour surveiller le décalage par rapport à un/des serveur(s) de intègre par défaut des scripts pour surveiller le décalage par rapport à un/des serveur(s) de
temps. Il ne reste qu'à les activer. temps. Il ne reste qu'à les activer.
Pour les serveurs NTP, les plugins ne sont pas officiels (_ntp_queries_ trouvables sur Internet...) Pour les serveurs NTP, des plugins non officiels existent : _ntp_queries_ etc.