%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

NTPD : Serveur de temps

Article publié, le et modifié le
5 minutes de lecture

Cet article contient 998 mots.
Source brute de l'article :
Commit version : 698e16e

Description

OpenNTPD est intégré nativement dans OpenBSD.

Serveurs NTP

Les adresses de serveurs NTP sont visibles depuis la page pour trouver un serveur.

Les serveurs de pool NTP sont par zones mondiales comportant plusieurs pays.

  • La zone Europe se gère à partir des serveurs [[http://www.pool.ntp.org/zone/europe|europe.pool.ntp.org]].
  • La zone relative à la France est : [[http://www.pool.ntp.org/zone/fr|fr.pool.ntp.org]]

Configuration

Le fichier de configuration est /etc/ntpd.conf.

Il est apparu dans OpenBSD 3.6.

Des différentes options :

  • listen on address [rtable table-id] : spécifie l’adresse ip locale ou le nom d’hôte que doit écouter le service ntpd(8). Si l’option est spécifiée plusieurs fois, le service écoutera chacune des adresses données. Si le symbole * est donné, ntpd écoutera toutes les adresses locales où est spécifiée la table de routage. Le mot-clé rtable indique quelle table de routage écouter. Par défault, ntpd écoute la table de routage en cours.
  • query from address : spécifie l’adresse IP locale que le démon ntpd(8) doit utiliser pour les requêtes sortantes vers des serveurs spécifiés ultérieurement.
  • sensor device : spécifie un périphérique d’écoute de temps que ntpd(8) doit écouter. S’ils sont spécifiés plusieurs fois, ntpd utilisera chaque capteur donné en référence qui existe vraiment ; ceux qui sont inexistants sont ignorés. Si le symbole * est donné, ntpd essaiera d’écouter tous les capteurs qu’il trouvera. Par défaut, ntpd n’utilise aucun capteur.
  • server address [weight weight-value] : spécifie l’adresse IP ou le nom d’hôte d’un serveur NTP à synchroniser. ntpd essaiera de se synchroniser sur tous les serveurs spécifiés, si cette option est utilisée plusieurs fois. Si un nom d’hôte fonctionne sur la double couche réseau IPv4|6, ntpd utilisera la première adresse réseau. Si ntpd n’a pas de réponse d’une adresse, il utilisera la suivante jusqu’à ce qu’une réponde. Il est recommandé de configurer plusieurs serveurs, de préférence des serveurs à faible latence, afin d’obtenir une meilleure précision.
  • servers address [weight weight-value] : identique à l’option server, à la différence que si les serveurs ont plusieurs adresses IP, ntpd essaiera de se synchroniser sur toutes ces adresses.
  • constraint from url : spécifie une URL, l’adresse IP ou le nom d’hôte d’un serveur HTTPS pour fournir une contrainte. Si la contrainte donnée est utilisée plus d’une fois, ntpd(8) calculera une contrainte médiane à partir de tous les serveurs spécifiés.
  • constraints from url : identique à l’option constraint from, à la différence que si le nom d’hôte est résolu sur plusieurs adresses IP, ntpd(8) calculera une contrainte médiane à partir de toutes ces adresses.
Info

Exemple

Voici un exemple du fichier /etc/examples/ntpd.conf:

# $OpenBSD: ntpd.conf,v 1.5 2019/11/11 16:44:37 deraadt Exp $
# sample ntpd configuration file, see ntpd.conf(5)

# Addresses to listen on (ntpd does not listen by default)
#listen on *

# sync to a single server
#server ntp.example.org

# use a random selection of NTP Pool Time Servers
# see http://support.ntp.org/bin/view/Servers/NTPPoolServers
servers pool.ntp.org

# time server with excellent global adjacency
server time.cloudflare.com

# use a specific local timedelta sensor (radio clock, etc)
sensor nmea0 trusted

# use all detected timedelta sensors
#sensor *

# get the time constraint from a well-known HTTPS site
constraint from "9.9.9.9"		# quad9 v4 without DNS
constraint from "2620:fe::fe"		# quad9 v6 without DNS
constraints from "www.google.com"	# intentionally not 8.8.8.8

Service NTPD

Le démon ntpd synchronise l’horloge locale sur un ou plusieurs serveurs NTP distants ou capteurs timedelta locaux. ntpd peut également agir comme un serveur NTP lui-même, redistribuant l’heure locale. Il implémente la version 4 de Simple Network Time Protocol, telle que décrite dans la RFC 5905, et la version 3 de Network Time Protocol, telle que décrite dans la RFC 1305. Le temps peut également être récupéré depuis les serveurs HTTPS pour réduire l’impact des attaques NTP dites “man-in-the-middle” (l’homme au milieu) non authentifiées.

Le service ntpd est apparu la première fois dans OpenBSD 3.6.

Les options possibles au service sont :

  • -d : ne pas mettre en service. ntpd fonctionnera alors en arrière plan, et journalisera vers la sortie stderr.
  • -f *fichier* : utilisera le fichier de configuration spécifié au lieu du fichier de configuration par défaut.
  • -n : test la validité du fichier de configuration. À n’utiliser que pour cela.
  • -S : annule les effets de l’option -s.
  • -s : essaye toujours de régler l’heure au démarrage de la machine. Par défaut, ntpd essaye de régler l’heure au démarrage, uniquement si les contraintes sont configurées et satisfaites. ntpd restera au premier plan jusqu’à 15 secondes en attendant la réponse d’un des serveurs NTP configurés.

Le Contrôleur ntpctl

Le contrôleur ntpctl est un programme qui affiche les informations liées au service ntpd(8).

Les options possibles sont :

  • -s all | peers | Sensors | status :
    • all : affiche toutes les informations possibles
    • peers : affiche les informations relatives à chaque pair
    • Sensors : affiche les informations relatives à chaque capteur.
    • status : indique l’état des pairs et des capteurs, et si l’horloge du système est synchronisée.

Le contrôleur est apparu la première fois dans OpenBSD 5.5.


Documentation

⇒ les différents manpage :


Historique

J’ai écrit historiquement cette documentation sur le wiki de la communauté “OpenBSD Pour Tous”.