Fichier ntp.conf

Objectif

Contrôle le fonctionnement et le comportement du démon ntpd NTP (Network Time Protocol).

Descriptif

Le fichier ntp.conf est un fichier de configuration de base qui contrôle le démon ntpd .

Options de configuration

Les deux classes de commandes utilisées pour configurer le démon ntpd sont les commandes de configuration et les commandes auxiliaires. Les commandes auxiliaires permettent de spécifier des variables d'environnement qui contrôlent diverses opérations associées.

Commandes configuration
Les commandes de configuration permettent de configurer une association avec un serveur distant, un homologue ou une horloge de référence.
server address [options ...]
peer address [options ...]
broadcast address [options ...]
manycastclient address [options ...]
Ces quatre commandes spécifient le nom ou l'adresse du serveur de temps à utiliser et le mode de fonctionnement. L'adresse peut être un nom DNS ou une adresse IP en notation à quatre points. Des informations supplémentaires sur le comportement des associations sont disponibles sur la page Gestion des associations .
Commande Descriptif
server Pour les adresses de type s et r (uniquement), cette commande mobilise normalement une association de mode client persistant avec le serveur distant spécifié ou l'horloge de référence locale. Si l'indicateur preempt est spécifié, une association peerutable est mobilisée à la place. En mode client, l'horloge client peut être synchronisée avec le serveur distant ou l'horloge de référence locale, mais le serveur distant ne peut jamais être synchronisé avec l'horloge client. Cette commande ne doit pas être utilisée pour les adresses de type bou m .
peer Pour les adresses de type s (uniquement), cette commande mobilise une association permanente de mode symétrique-actif avec l'homologue distant spécifié. Dans ce mode, l'horloge locale peut être synchronisée avec l'homologue distant ou l'homologue distant peut être synchronisé avec l'horloge locale. Cette commande est utile dans un réseau de serveurs où, selon les différents scénarios de défaillance, l'homologue local ou distant peut être la meilleure source de temps. Cette commande ne doit pas être utilisée pour les adresses de type b, mou r .
broadcast Pour les adresses de type b et m (uniquement), cette commande mobilise une association de mode de diffusion persistante. Plusieurs commandes peuvent être utilisées pour spécifier plusieurs interfaces de diffusion locales (sous-réseaux) et plusieurs groupes de multidiffusion. Les messages de diffusion locale sont envoyés uniquement à l'interface associée au sous-réseau spécifié, mais les messages de multidiffusion sont envoyés à toutes les interfaces. En mode diffusion, le serveur local envoie périodiquement des messages de diffusion à un remplissage client à l'adresse spécifiée. L'adresse spécifiée est généralement l'adresse de diffusion sur un ou plusieurs réseaux locaux ou une adresse de multidiffusion affectée à NTP. L'IANA a affecté l'adresse de groupe de multidiffusion IPv4 224.0.1.1 et IPv6 ff05::101 (site local) exclusivement à NTP, mais d'autres adresses qui ne sont pas en conflit peuvent être utilisées pour contenir les messages dans les limites administratives. En règle générale, cette spécification s'applique uniquement au serveur local fonctionnant en tant qu'expéditeur ; pour une opération en tant que client de diffusion, voir les commandes broadcastclient ou multicastclient .
manycastclient Pour les adresses de type m (uniquement), cette commande mobilise une association de mode client preemptable multidiffusion pour l'adresse de groupe de multidiffusion spécifiée. Dans ce mode, une adresse spécifique doit être fournie, qui correspond à l'adresse utilisée dans la commande manycastserver pour les serveurs manycast désignés. L'adresse de multidiffusion NTP 224.0.1.1 qui est affectée par l'IANA ne doit pas être utilisée sauf si des moyens spécifiques sont utilisés pour limiter l'étendue de la réponse et éviter une implosion potentiellement massive au niveau de l'expéditeur d'origine. La commande manycastclient indique que l'hôte doit fonctionner en mode client avec les serveurs distants reconnus à la suite de messages de diffusion ou de multidiffusion. Le client diffuse un message de demande à l'adresse de groupe associée à l'adresse spécifiée et les serveurs activés répondent à ces messages. Le client sélectionne les serveurs qui fournissent le meilleur temps et continue comme avec la commande serveur. Les serveurs restants sont supprimés.
Options de commande
Options Descriptif
autokey Tous les paquets envoyés et reçus du serveur ou de l'homologue doivent inclure des zones d'authentification chiffrées à l'aide du schéma de numérotation automatique décrit dans la page Options d'authentification . Cette option est valide avec toutes les commandes.
burst Lorsque le serveur est accessible, envoyez une rafale de huit paquets au lieu de la rafale habituelle. L'espacement des paquets est normalement de 2 s. Toutefois, l'espacement entre le premier et le deuxième paquet peut être modifié à l'aide de la commande calldelay afin de laisser plus de temps à un appel de modem ou RNIS. Cette option est valide uniquement avec la commande server et est recommandée avec cette commande lorsque l'option maxpoll est supérieure ou égale à 11.
iburst Lorsque le serveur est inaccessible, envoyez une rafale de huit paquets au lieu de la rafale habituelle. L'espacement des paquets est normalement de 2 s. Toutefois, l'espacement entre le premier et le deuxième paquet peut être modifié à l'aide de la commande calldelay afin de laisser plus de temps à un appel de modem ou RNIS. Cette option est valide uniquement avec la commande server et est recommandée avec cette commande.
key clé Tous les paquets envoyés et reçus du serveur ou de l'homologue doivent inclure des zones d'authentification chiffrées à l'aide de l'identificateur de clé spécifié avec des valeurs comprises entre 1 et 65534 inclus. Par défaut, aucun champ de chiffrement n'est inclus. Cette option est valide avec toutes les commandes.
minpoll ou maxpoll Ces options spécifient les intervalles d'interrogation minimum et maximum pour les messages NTP, en secondes, sous la forme d'une puissance de deux. L'intervalle d'interrogation maximal est par défaut de 10 (1 024 s), mais peut être augmenté en utilisant l'option maxpoll jusqu'à une limite supérieure de 17 (36.4 h). L'intervalle d'interrogation minimal par défaut est 6 (64 s). Toutefois, il peut être réduit à l'aide de l'option minpoll jusqu'à une limite minimale de 4 (16s). Ces options sont valides uniquement avec les commandes server et peer .
noselect Marque le serveur comme inutilisé, sauf à des fins d'affichage. L'algorithme de sélection supprime le serveur. Cette option est valide uniquement avec les commandes serveur et homologue.
preempt Indique que l'association est preemptable au lieu de la persistance par défaut. Cette option est valide uniquement avec la commande server .
prefer Marque le serveur comme serveur préféré. Si tous les autres paramètres sont identiques dans un ensemble d'hôtes, l'hôte marqué comme favori est choisi pour la synchronisation parmi un ensemble d'hôtes fonctionnant correctement. Pour plus d'informations, voir la page Règles d'atténuation et mot clé préféré . Cette option est valide uniquement avec les commandes serveur et homologue.
true Forcez l'association à prendre le statut truechimer , c'est-à-dire à toujours survivre aux algorithmes de sélection et de mise en cluster. Cette option peut être utilisée avec n'importe quelle association. Cependant, il fonctionne mieux avec les horloges de référence qui ont une grande gigue de port série et des signaux PPS (impulsion par seconde) précis.
Remarque: Cette option défait les algorithmes conçus pour éliminer falsetickers et permet à ces sources de définir l'horloge système. Cette option est valide uniquement avec les commandes serveur et homologue.
ttl ttl Cette option est utilisée uniquement avec les modes serveur de diffusion et client multidiffusion. Il spécifie la durée de vie maximale (ttl) pour l'extension de la recherche en anneau avec des paquets client multidiffusion et la durée de vie à utiliser sur les serveurs de diffusion et les serveurs de multidiffusion. La sélection de la valeur appropriée, qui par défaut est 127, est un art noir et doit être coordonnée avec l'administrateur du réseau.
version version Indique le numéro de version à utiliser pour les paquets NTP sortants. Les versions 1 à 4 sont les choix possibles, la version 4 étant la version par défaut. Cette option est valide uniquement avec les commandes de serveur, d'homologue et de diffusion.
Commandes auxiliaires
Commande Description
broadcastclient [novolley] Cette commande permet la réception des messages du serveur de diffusion vers n'importe quelle adresse d'interface locale (type b). Lors de la réception d'un message pour la première fois, le client de diffusion mesure le délai nominal de propagation du serveur en utilisant un bref échange client ou serveur avec le serveur après lequel il continue en mode écoute uniquement. Si le mot clé novolley est présent, l'échange n'est pas utilisé et la valeur spécifiée dans la commande broadcastdelay est utilisée ou, si la commande broadcastdelay n'est pas utilisée, la valeur par défaut 4.0 ms.
Remarque: Pour éviter toute interruption accidentelle ou malveillante dans ce mode, le serveur et le client doivent fonctionner à l'aide de l'authentification par clé symétrique ou par clé publique, comme décrit dans la page Options d'authentification . Le mot clé novolley est incompatible avec l'authentification par clé publique.
manycastserver address [...] Cette commande permet la réception de messages client multidiffusion vers une ou plusieurs adresses de groupe de multidiffusion (type m) spécifiées. Au moins une adresse est requise. L'adresse de multidiffusion NTP 224.0.1.1 affectée par l'IANA ne doit pas être utilisée, sauf si des moyens spécifiques sont utilisés pour limiter l'étendue de la réponse et éviter une implosion massive au niveau de l'expéditeur d'origine.
Remarque: Pour éviter toute interruption accidentelle ou malveillante dans ce mode, le serveur et le client doivent fonctionner à l'aide de l'authentification par clé symétrique ou par clé publique, comme décrit dans la page Options d'authentification .
multicastclient address [...] Cette commande permet la réception de messages de serveur de multidiffusion vers une ou plusieurs adresses de groupe de multidiffusion (type m) spécifiées. Lors de la réception d'un message pour la première fois, le client multidiffusion mesure le délai nominal de propagation du serveur en utilisant un bref échange client ou serveur avec le serveur. Ensuite, le client de multidiffusion entre en mode client de diffusion, dans lequel il se synchronise avec les messages de multidiffusion suivants.
Remarque: Pour éviter toute interruption accidentelle ou malveillante dans ce mode, le serveur et le client doivent fonctionner à l'aide d'une clé symétrique ou d'une authentification par clé publique.

Options de contrôle d'accès à la configuration

Le démon ntpd implémente une liste de restrictions basée sur les adresses ou les masques. La liste contient des entrées d'adresse ou de correspondance triées d'abord par augmentation des valeurs d'adresse, puis par augmentation des valeurs de masque. Une correspondance se produit lorsque l'ET bit à bit du masque et l'adresse de la source du paquet sont égaux à l'ET bit à bit du masque et à l'adresse de la liste. La liste fait l'objet d'une recherche dans l'ordre avec la dernière correspondance trouvée définissant les indicateurs de restriction associés à l'entrée.

Bien que cette fonction puisse être utile pour éviter que des clients indésirables ou défaillants ou malveillants ne congestionnent des serveurs innocents, elle ne doit pas être considérée comme une alternative aux fonctions d'authentification NTP. Un craqueur déterminé peut facilement contourner les restrictions basées sur l'adresse de la source.

Les clients peuvent se voir refuser un service car ils sont explicitement inclus dans la liste de restrictions créée par la commande restrict ou implicitement à la suite de violations de limite de débit ou de chiffrement. Les violations cryptographiques incluent l'échec de la vérification du certificat ou de l'identité. Les violations de limite de débit résultent d'implémentations NTP défectueuses qui envoient des paquets à des taux abusifs. Certaines violations entraînent un refus de service uniquement pour le paquet incriminé. Certaines violations provoquent un refus de service pendant une période définie et d'autres provoquent un refus de service pour une période indéterminée. Lorsqu'un client ou un réseau se voit refuser l'accès pour une durée indéterminée, la seule façon de supprimer les restrictions consiste à redémarrer le serveur.

Commande Descriptif
discard [ average moy ] [ minimum min ] [ monitor prob ] Définissez les paramètres de la fonction limitée qui protège le serveur contre les abus du client. La sous-commande average indique l'espacement moyen minimal des paquets, tandis que la sous-commande minimum indique l'espacement minimal des paquets. Les paquets qui ne respectent pas ces valeurs minimales sont supprimés et un paquet kiss-o'-death est renvoyé s'il est activé. La moyenne minimale par défaut est 5 et la moyenne minimale par défaut est 2. La sous-commande monitor spécifie la probabilité de suppression des paquets qui débordent la fenêtre de contrôle de débit.
restrict address [mask masque] [flag] [ ... ] L'argument d'adresse qui est exprimé sous la forme d'un point-quad est l'adresse d'un hôte ou d'un réseau. L'argument d'adresse peut également être un nom DNS d'hôte valide. L'argument de masque exprimé sous la forme 255.255.255.255est utilisé par défaut, ce qui signifie que l'adresse est traitée comme l'adresse d'un hôte individuel. Une entrée par défaut (adresse 0.0.0.0, masque 0.0.0.0) est toujours incluse et constitue toujours la première entrée de la liste. La valeur par défaut de la chaîne de texte, sans option de masque, peut être utilisée pour indiquer l'entrée par défaut.

Dans l'implémentation en cours, un indicateur restreint toujours l'accès. Une entrée sans indicateur indique que le libre accès au serveur doit être accordé. Les drapeaux ne sont pas orthogonaux et donc des drapeaux plus restrictifs rendent souvent les drapeaux moins restrictifs redondants. Les indicateurs peuvent généralement être classés en deux catégories: les indicateurs qui limitent le service de temps et les indicateurs qui limitent les requêtes d'information et les tentatives de reconfiguration de l'exécution du serveur. Un ou plusieurs des indicateurs suivants peuvent être spécifiés:

Indicateurs Descriptif
ignore Refusez les paquets de toutes sortes, y compris les requêtes ntpq et ntpdc .
kod Si cet indicateur est défini lorsqu'une violation d'accès se produit, un paquet kiss-o'-death (KoD) est envoyé. Les paquets KoD sont limités à un débit par seconde maximum. Si un autre paquet KoD se produit une seconde après le dernier, le paquet est supprimé.
limited Refuser le service si l'espacement des paquets dépasse les limites minimales spécifiées dans la commande de suppression. Un historique des clients est conservé à l'aide de la fonction de surveillance de la commande ntpd . La surveillance est toujours active s'il existe une entrée de restriction avec l'indicateur limité.
lowpriotrap Déclarer les interruptions définies par les hôtes correspondants comme étant de priorité basse. Le nombre d'interruptions qu'un serveur peut gérer est limité. La limite actuelle est 3. Les pièges sont attribués selon le principe du premier arrivé, premier servi. Si un demandeur se voit attribuer une alerte supérieure à la limite maximale du serveur, le service est refusé. Cet indicateur modifie l'algorithme d'affectation en permettant aux interruptions de priorité basse d'être remplacées par des demandes ultérieures d'interruptions de priorité normale.
nomodify Refusez les requêtes ntpq et ntpdc qui tentent de modifier l'état du serveur (c'est-à-dire la reconfiguration d'exécution). Les requêtes qui renvoient des informations sont autorisées.
noquery Refusez les requêtes ntpq et ntpdc . Le service de temps n'est pas affecté.
nopeer Refusez les paquets qui aboutiraient à la mobilisation d'une nouvelle association. Cet indicateur inclut les paquets de client de diffusion, symétriques-actives et multidiffusion lorsqu'il n'existe pas d'association configurée.
noserve Refusez tous les paquets à l'exception des requêtes ntpq et ntpdc .
notrap Refus de fournir un service d'alerte de message de contrôle de mode 6 aux hôtes correspondants. Le service d'interruption est un sous-système du protocole de message de contrôle ntpdq qui est destiné à être utilisé par les programmes de consignation d'événements à distance.
notrust Refusez les paquets sauf s'ils sont authentifiés de manière cryptographique.
ntpport Cet indicateur est un modificateur d'algorithme de correspondance, plutôt qu'un indicateur de restriction. Sa présence entraîne la mise en correspondance de l'entrée de restriction uniquement si le port source dans le paquet est le port UDP NTP standard (123). Les deux paramètres ntpport et non-ntpport peuvent être spécifiés. Le ntpport est considéré comme plus spécifique et est trié ultérieurement dans la liste.
version Refuser les paquets qui ne correspondent pas à la version NTP en cours.

Les entrées de liste de restrictions par défaut avec les indicateurs ignore, interface et ntpport pour chacune des adresses d'interface de l'hôte local sont insérées dans la table au démarrage afin d'empêcher le serveur de tenter de se synchroniser à son propre moment. Une entrée par défaut est également toujours présente, même si elle n'est pas configurée. Aucun indicateur n'est associé à l'entrée par défaut. Tout sauf votre propre serveur NTP est illimité.

Options d'authentification de la configuration

La prise en charge de l'authentification permet au client NTP de vérifier que le serveur est en fait un service connu et digne de confiance et qu'il ne s'agit pas d'un intrus ayant l'intention, accidentellement ou volontairement, de se faire passer pour ce serveur. La spécification NTPv3 RFC-1305 définit un schéma qui fournit l'authentification cryptographique des paquets NTP reçus. À l'origine, il a été réalisé à l'aide de l'algorithme DES (Data Encryption Standard) fonctionnant en mode CBC (Cipher Block Chaining), communément appelé DES-CBC. Par la suite, il a été remplacé par l'algorithme RSA message igest 5 (MD5) à l'aide d'une clé privée, communément appelée keyed-MD5. Soit l'algorithme calcule un résumé de message, soit un hachage unidirectionnel, qui peut être utilisé pour vérifier que le serveur possède la clé privée et l'identificateur de clé corrects.

NTPv4 conserve le schéma NTPv3 , correctement décrit en tant que cryptographie à clé symétrique, et fournit en outre un nouveau schéma de clé automatique basé sur la cryptographie à clé publique. La cryptographie à clé publique est considérée comme plus sécurisée que la cryptographie à clé symétrique, car la sécurité est basée sur une valeur privée générée par chaque hôte et jamais révélée. À l'exception de la clé de groupe décrite plus loin, toutes les fonctions de distribution et de gestion des clés n'impliquent que des valeurs publiques qui simplifient considérablement la distribution et le stockage des clés. La gestion des clés publiques est basée sur des certificats X.509 qui peuvent être fournis par des services commerciaux ou produits par des programmes utilitaires de la bibliothèque logicielle OpenSSL ou de la distribution NTPv4 .

Commandes Descriptif
autokey [logsec] Indique l'intervalle entre les régénérations de la liste de clés de session utilisée avec le protocole Autokey. La taille de la liste de clés pour chaque association dépend de cet intervalle et de l'intervalle d'interrogation en cours. La valeur par défaut est 12 (4096 s ou environ 1.1 heures). Pour les intervalles d'interrogation supérieurs à l'intervalle spécifié, une liste de clés de session avec une seule entrée est régénérée pour chaque message envoyé.
controlkey key Indique l'identificateur de clé à utiliser avec l'utilitaire ntpq , qui utilise le protocole standard défini dans RFC-1305. L'argument de clé est l'identificateur de clé pour une clé sécurisée, où la valeur peut être comprise entre 1 et 65 534 inclus.
crypto [cert fichier] [leap fichier] [randfile fichier] [host fichier] [sign fichier] [ident schéma] [iffpar fichier] [gqpar fichier] [mvpar fichier] [pw mot de passe] Cette commande requiert la bibliothèque OpenSSL . Il active la cryptographie à clé publique, sélectionne le schéma de chiffrement de synthèse de message et de signature et charge les valeurs privées et publiques requises qui sont décrites précédemment. Si un ou plusieurs fichiers ne sont pas spécifiés, les noms par défaut sont utilisés comme décrit précédemment. A moins que le chemin complet et le nom du fichier ne soient spécifiés, l'emplacement d'un fichier est relatif au répertoire de clés spécifié dans la commande keysdir ou dans le répertoire /usr/local/etc par défaut.

Les sous-commandes sont les suivantes.

Sous-commandes Descriptif
cert fichier Indique l'emplacement du fichier de certificat public de l'hôte requis. Cette sous-commande remplace le lien ntpkey_cert_hostname dans le répertoire des clés.
gqpar fichier Indique l'emplacement du fichier de paramètres GQ du client. Cette sous-commande remplace le lien ntpkey_gq_hostname dans le répertoire des clés.
host fichier Indique l'emplacement du fichier de clés hôte requis. Cette sous-commande remplace le lien ntpkey_key_hostname dans le répertoire des clés.
ident schéma Demande le schéma d'identité du serveur, qui peut être IFF, GQ ou MV. Cette sous-commande est utilisée lorsque l'hôte n'est pas un serveur pour un client dépendant.
iffpar fichier Indique l'emplacement du fichier de paramètres IFF facultatif. Cette sous-commande remplace le lien ntpkey_iff_hostname dans le répertoire des clés.
leap fichier Indique l'emplacement du fichier leapsecond du client. Cette sous-commande remplace le lien ntpkey_leap dans le répertoire des clés.
mv Demande le schéma d'identité du serveur MV.
mvpar fichier Indique l'emplacement du fichier de paramètres MV du client. Cette sous-commande remplace le lien ntpkey_mv_hostname dans le répertoire des clés.
pw mot de passe Indique le mot de passe permettant de déchiffrer les fichiers contenant des clés privées et des paramètres d'identité. Elle est requise uniquement si ces fichiers sont chiffrés.
randfile fichier Indique l'emplacement du fichier de départ aléatoire utilisé par la bibliothèque OpenSSL . Les valeurs par défaut sont décrites dans le texte principal ci-dessus.
sign fichier Indique l'emplacement du fichier de clés de signe facultatif. Cette sous-commande remplace le lien ntpkey_sign_hostname dans le répertoire des clés. Si ce fichier est introuvable, la clé d'hôte est également la clé de signe.
keys fichier de clés Indique le chemin complet et l'emplacement du fichier de clés MD5 qui contient les clés et les identificateurs de clé utilisés par ntpd, ntpqet ntpdc lors de l'utilisation de la cryptographie à clé symétrique. Cette sous-commande a la même opération que l'option de ligne de commande -k .
keysdir chemin Cette commande indique le chemin de répertoire par défaut pour les clés cryptographiques, les paramètres et les certificats. La valeur par défaut est le répertoire /usr/local/etc/ .
requestkey clé Indique l'identificateur de clé à utiliser avec le programme utilitaire ntpdc , qui utilise un protocole propriétaire spécifique à cette implémentation de ntpd. L'argument de clé est un identificateur de clé pour la clé sécurisée, où la valeur peut être comprise entre 1 et 65 534 inclus.
revoke [sec_journal] Indique l'intervalle entre la réandomisation de certaines valeurs cryptographiques utilisées par le schéma Autokey, sous la forme d'une puissance de 2 secondes. Ces valeurs doivent être mises à jour fréquemment pour dévier les attaques par force brute sur les algorithmes du schéma ; cependant, la mise à jour de certaines valeurs est une opération relativement coûteuse. L'intervalle par défaut est 16 (65 536 s ou environ 18 heures). Pour les intervalles d'interrogation supérieurs à l'intervalle spécifié, les valeurs sont mises à jour pour chaque message envoyé.
trustedkey clé [ ... ] Indique les identificateurs de clé qui sont dignes de confiance pour l'authentification des homologues à l'aide de la cryptographie à clé symétrique, ainsi que pour les clés utilisées par les programmes ntpq et ntpdc . Les procédures d'authentification requièrent que les serveurs local et distant partagent la même clé et le même identificateur de clé à cette fin, bien que des clés différentes puissent être utilisées avec des serveurs différents. Les arguments clés sont des entiers non signés 32 bits avec des valeurs comprises entre 1 et 65 534.

Options de surveillance de la configuration

ntpd inclut une fonction de surveillance complète adaptée à l'enregistrement continu à long terme des performances de gestion du temps du serveur et du client. Consultez la commande statistics décrite plus loin pour obtenir une liste et un exemple de chaque type de statistiques actuellement pris en charge. Les fichiers de statistiques sont gérés à l'aide d'ensembles de génération de fichiers et de scripts dans le répertoire ./scripts de cette distribution. A l'aide de ces fonctions et des travaux cron UNIX, les données peuvent être automatiquement récapitulées et archivées pour une analyse rétrospective.

Commandes Descriptif
statistics nom [ ... ] Active l'écriture des enregistrements de statistiques. Actuellement, six types de statistiques de noms sont pris en charge.
clockstats Active l'enregistrement des informations de statistiques du pilote d'horloge. Chaque mise à jour reçue d'un pilote d'horloge ajoute une ligne de la forme suivante à l'ensemble de génération de fichiers nommé clockstats:
49213 525.624 127.127.4.1 93 226 00:08:29.606 D
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). La zone suivante affiche l'adresse d'horloge en notation à quatre points. La zone finale affiche le dernier code temporel reçu de l'horloge au format ASCII décodé, lorsqu'il est significatif. Dans certains pilotes d'horloge, un grand nombre d'informations supplémentaires peuvent être collectées et affichées. Pour plus de détails, voir les informations spécifiques à chaque horloge.
cryptostats Cette option requiert la bibliothèque de logiciels de cryptographie OpenSSL . Il permet l'enregistrement des informations de protocole de clé publique cryptographique. Chaque message reçu par le module de protocole ajoute une ligne de la forme suivante à l'ensemble de génération de fichiers nommé cryptostats:
49213 525.624 127.127.4.1 message
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). La zone suivante affiche l'adresse de l'homologue en notation à quatre points. La zone de message final inclut le type de message et certaines informations auxiliaires. Pour plus d'informations, voir la page Options d'authentification .
loopstats Active l'enregistrement des informations de statistiques de filtre de boucle. Chaque mise à jour de l'horloge locale génère une ligne de la forme suivante dans l'ensemble de génération de fichiers nommé loopstats:
50935 75440.031 0.000006019 13.778190 0.000351733 0.0133806 6
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). Les cinq champs suivants montrent le décalage temporel (secondes), le décalage de fréquence (parties par million-PPM), la gigue RMS (secondes), l'écart Allan (PPM) et la constante de temps de la discipline d'horloge.
peerstats Active l'enregistrement des informations de statistiques d'homologue. Il inclut les enregistrements de statistiques de tous les homologues d'un serveur NTP et des signaux spéciaux, lorsqu'ils sont présents et configurés. Chaque mise à jour valide ajoute une ligne du formulaire suivant à l'élément en cours d'un ensemble de génération de fichiers nommé peerstats:
48773 10847.650 127.127.4.1 9714 -0.001605376 0.000000000 0.001424877   0.000958674
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). Les deux zones suivantes affichent l'adresse de l'homologue sous forme de notation et de statut en quatre points. La zone de statut est codée en hexadécimal dans le format décrit à l'annexe B de la spécification NTP RFC 1305. Les quatre derniers champs montrent le décalage, le retard, la dispersion et la gigue RMS, le tout en secondes.
rawstats Active l'enregistrement des informations statistiques d'horodatage brut. Il inclut les enregistrements de statistiques de tous les homologues d'un serveur NTP et des signaux spéciaux, lorsqu'ils sont présents et configurés. Chaque message NTP reçu d'un homologue ou d'un pilote d'horloge ajoute une ligne de la forme suivante à l'ensemble de génération de fichiers nommé rawstats:
50928 2132.543 128.4.1.1 128.4.1.20 3102453281.584327000   
 3102453281.58622800031 02453332.540806000 3102453332.541458000
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). Les deux zones suivantes indiquent l'adresse de l'homologue distant ou de l'horloge, suivie de l'adresse locale en notation quad en pointillés. Les quatre dernières zones affichent les horodatages NTP d'origine, de réception, de transmission et final dans l'ordre. Les valeurs d'horodatage sont telles que reçues et avant traitement par les différents algorithmes de lissage et d'atténuation des données.
sysstats Active l'enregistrement des compteurs de statistiques ntpd sur une base périodique. Chaque heure, une ligne de la forme suivante est ajoutée à l'ensemble de génération de fichiers nommé sysstats:
50928 2132.543 36000 81965 0 9546 56 71793 512 540 10 147
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). Les dix zones restantes affichent les valeurs de compteur de statistiques accumulées depuis la dernière ligne générée.
            Time since restart 36000
                        Time in hours since the system was last rebooted.
            Packets received 81965
                        Total number of packets received.
            Packets processed 0
                        Number of packets received in response to previous packets sent
            Current version 9546
                        Number of packets matching the current NTP version.
            Previous version 56
                        Number of packets matching the previous NTP version.
            Bad version 71793
                        Number of packets matching neither NTP version.
            Access denied 512
                        Number of packets denied access for any reason.
            Bad length or format 540
                        Number of packets with invalid length, format or port number.
            Bad authentication 10
                        Number of packets not verified as authentic.
            Rate exceeded 147
              Number of packets discarded due to rate limitation.
timingstats Uniquement disponible lorsque le deamon est compilé avec un support de débogage du temps de processus (--enable-debug-timing - coûts de performance). Active l'enregistrement des informations de temps de traitement ntpd pour les différents chemins de code sélectionnés:
53876 36.920 10.0.3.5 1 0.000014592  input processing delay 
Les deux premières zones affichent la date (jour du calendrier julien modifié) et l'heure (secondes et fraction après minuit UTC). La zone suivante est une adresse homologue potentielle, ou REFCLOCK en fonction de la source d'E-S associée. Ensuite, un nombre d'événements correspondant au nombre d'événements traités dans le chemin de code suit. La cinquième zone indique le temps total passé pour les événements. Le reste de la ligne indique la description du chemin de code statsdir directory_path.
statsdir chemin_répertoire Indique le chemin d'accès complet d'un répertoire dans lequel les fichiers de statistiques doivent être créés. Ce mot clé permet de modifier le préfixe de nom de fichier (sinon constant) pour les ensembles de génération de fichiers, ce qui est utile pour la gestion des journaux de statistiques.
filegen name [file nom_fichier] [type nom_type] [link | nolink] [enable | disable] Configure le paramètre du nom de l'ensemble de fichiers de génération. Les ensembles de fichiers de génération fournissent un moyen de gérer les fichiers qui augmentent continuellement pendant la durée de vie d'un serveur. Les statistiques de serveur sont un exemple typique de ce type de fichier. Les ensembles de fichiers de génération permettent d'accéder à un ensemble de fichiers utilisés pour stocker les données réelles. A tout moment, au plus un élément de l'ensemble est en cours d'écriture. Le type indiqué indique quand et comment les données sont dirigées vers un nouvel élément de l'ensemble. Ainsi, les informations stockées dans les éléments inutilisés d'un ensemble de fichiers sont disponibles pour les opérations d'administration sans risque de perturber le fonctionnement de ntpd. Ils peuvent être supprimés pour libérer de l'espace pour les nouvelles données produites.
Remarque: Cette commande peut être envoyée à partir du programme ntpdc qui s'exécute à un emplacement distant.
name
Il s'agit du type des enregistrements de statistiques, comme indiqué dans la commande de statistiques.
file nom_fichier
Il s'agit du nom de fichier des enregistrements de statistiques. Les filename des membres de l'ensemble sont générés à partir de trois éléments concaténés prefix, filenameet suffix:
prefix
Cet élément est un chemin de nom de fichier constant. Il n'est pas sujet à des modifications à l'aide de l'option filegen . Il est défini par le serveur spécifié en tant que constante chargée au moment de la compilation. Toutefois, il peut être configuré pour des ensembles de génération de fichiers individuels à l'aide d'autres commandes. Par exemple, le préfixe utilisé avec la génération loopstats et peerstats peut être configuré à l'aide de l'option statsdir décrite précédemment.
filename
Cette chaîne est directement concaténée au préfixe mentionné précédemment (pas d'interposition / (barre oblique)). Il peut être modifié à l'aide de l'argument file de l'instruction filegen. Aucun élément n'est autorisé dans ce composant pour empêcher les noms de fichier qui font référence à des parties en dehors de la hiérarchie de système de fichiers désignée par un préfixe.
suffix
Cette partie reflète les éléments individuels d'un ensemble de fichiers. Il est généré en fonction du type d'un ensemble de fichiers.
type nom_type
Un ensemble de génération de fichiers est caractérisé par son type. Les types suivants sont pris en charge:
aucun
L'ensemble de fichiers est un fichier simple unique.
ID de processus
Un élément de l'ensemble de fichiers est utilisé par incarnation d'un serveur ntpd. Ce type n'effectue aucune modification des membres de l'ensemble de fichiers lors de l'exécution. Cependant, il offre un moyen plus facile de séparer les fichiers qui appartiennent à différentes incarnations de serveur ntpd . Le nom de fichier de membre d'ensemble est généré en ajoutant un . (point) à des chaînes prefix et filename concaténées et en ajoutant la représentation décimale de l'ID de processus du processus serveur ntpd.
jour
Un élément d'ensemble de génération de fichier est créé par jour. Un jour est défini comme la période comprise entre 00:00 et 24:00 UTC. Le suffixe de membre d'ensemble de fichiers se compose d'un . (point) et d'une spécification de jour au format AAAAMMjj. AAAA est un numéro d'année à 4 chiffres (par exemple, 1992). MM est un numéro de mois à deux chiffres. dd est un nombre de jours à deux chiffres. Ainsi, toutes les informations écrites au 10 décembre 1992 finiraient dans un fichier nommé prefix filename.19921210.
Commandes Descriptif
filegen name [file nom_fichier] [type nom_type] [link | nolink] [enable | disable]
week
Tout membre d'ensemble de fichiers contient des données relatives à une semaine donnée d'une année. Le terme semaine est défini par le calcul du jour de l'année modulo 7. Les éléments d'un tel ensemble de génération de fichiers sont distingués en ajoutant le suffixe suivant à la base de nom de fichier de l'ensemble de fichiers: un point, un numéro d'année à 4 chiffres, la lettre W et un numéro de semaine à 2 chiffres. Par exemple, les informations du 10 janvier 1992 se retrouveront dans un fichier dont le suffixe est 1992W1.
month
L'élément d'ensemble de fichiers à génération unique est généré par mois. Le suffixe du nom de fichier se compose d'un point, d'un numéro d'année à 4 chiffres et d'un mois à 2 chiffres.
year
Un élément de fichier d'une génération est généré par an. Le suffixe filename se compose d'un point et d'un numéro d'année à 4 chiffres.
age
Ce type de génération de fichier définit les modifications apportées à un nouvel élément de l'ensemble de fichiers toutes les 24 heures de fonctionnement du serveur. Le suffixe filename se compose d'un point, de la lettre a et d'un nombre à 8 chiffres. Ce nombre correspond au nombre de secondes d'exécution du serveur au début de la période de 24 heures correspondante. Les informations sont uniquement écrites dans une génération de fichier en spécifiant enable ; la sortie est empêchée en spécifiant disable.
link | nolink
Il est pratique de pouvoir accéder à l'élément en cours d'un ensemble de génération de fichier par un nom fixe. Cette fonction est activée en spécifiant link et désactivée à l'aide de nolink. Si le lien est spécifié, un lien fixe de l'élément d'ensemble de fichiers en cours vers un fichier sans suffixe est créé. Lorsqu'il existe déjà un fichier portant ce nom et que le nombre de liens de ce fichier est égal à un, il est renommé en ajoutant un point, la lettre C et le PID du processus serveur ntpd. Lorsque le nombre de liens est supérieur à un, le fichier est dissocié. Il permet d'accéder au fichier en cours à l'aide d'un nom de constante.
enable | disable
Active ou désactive la fonction d'enregistrement.

Options de configuration diverses

Commandes Options
broadcastdelay seconds Les modes diffusion et multidiffusion nécessitent un calibrage spécial pour déterminer le délai réseau entre les serveurs local et distant. Habituellement, il est effectué automatiquement par les échanges de protocole initiaux entre le client et le serveur. Parfois, la procédure de calibrage peut échouer en raison de contrôles d'accès au réseau ou au serveur, par exemple. Cette commande indique le délai par défaut à utiliser dans ces circonstances. Généralement (pour Ethernet), un nombre compris entre 0.003 et 0.007 secondes est approprié. La valeur par défaut lorsque cette commande n'est pas utilisée est 0.004 secondes.
calldelay delay Cette option contrôle le délai en secondes entre les premier et deuxième paquets envoyés en mode rafale ou en mode rafale afin de laisser plus de temps à un modem ou à un appel RNIS pour se terminer.
driftfile driftfile [ minutes [ tolerance ]] Cette commande indique le chemin complet et le nom du fichier utilisé pour enregistrer la fréquence de l'oscillateur d'horloge local. Cette commande a la même opération que l'option -f command link e . Si le fichier existe, il est lu au démarrage pour définir la fréquence initiale, puis mis à jour une fois par heure avec la fréquence actuelle calculée par le démon. Si le nom de fichier est spécifié, mais que le fichier lui-même n'existe pas, il démarre avec une fréquence initiale de zéro et crée le fichier en l'écrivant pour la première fois. Si cette commande n'est pas indiquée, le démon démarre avec une fréquence initiale de zéro.

Le format de fichier se compose d'une seule ligne qui contient un seul nombre à virgule flottante, qui enregistre le décalage de fréquence mesuré en parties par million (PPM). Le fichier est mis à jour en écrivant d'abord la valeur de dérive en cours dans un fichier temporaire, puis en renommant ce fichier pour remplacer l'ancienne version. Cela implique que ntpd doit disposer d'un droit d'accès en écriture pour le répertoire dans lequel se trouve le fichier de dérive et que les liens de système de fichiers, symboliques ou non, doivent être évités.

Les deux valeurs facultatives déterminent la fréquence d'écriture du fichier et sont utiles lorsqu'il est souhaitable d'éviter de faire tourner inutilement le disque. Le paramètre minutes indique la fréquence d'écriture du fichier. S'il est omis ou s'il est inférieur à 1, l'intervalle est de 60 minutes (une heure). La tolérance de paramètre est le seuil pour ignorer l'écriture de la nouvelle valeur. Si la nouvelle valeur est comprise dans le pourcentage de tolérance de la dernière valeur écrite (comparée à 3 décimales), l'écriture est ignorée. La valeur par défaut est 0.0, ce qui signifie que l'écriture a lieu sauf si les valeurs en cours et précédentes sont identiques. Une tolérance de 0.1 équivaut approximativement à une différence de la deuxième décimale.
enable [ auth | bclient | calibrate | kernel | monitor | ntp | pps | stats] et disable [ auth | bclient | calibrate | kernel | monitor | ntp | pps | stats] Permet d'activer ou de désactiver diverses options système. Les indicateurs non mentionnés ne sont pas affectés. Tous ces indicateurs peuvent être contrôlés à distance à l'aide du programme utilitaire ntpdc .
auth
Permet au serveur de se synchroniser avec des homologues non configurés uniquement si l'homologue est correctement authentifié à l'aide de la clé publique ou de la cryptographie de clé privée. La valeur par défaut de cet indicateur est enable.
bclient
Permet au serveur d'écouter un message provenant d'un serveur de diffusion ou de multidiffusion, comme dans la commande multicastclient avec l'adresse par défaut. La valeur par défaut de cet indicateur est disable.
calibrate
Active la fonction de calibrage pour les horloges de référence. La valeur par défaut de cet indicateur est disable.
kernel
Active la discipline de temps du noyau, si elle est disponible. La valeur par défaut de cet indicateur est enable si la prise en charge est disponible, sinon disable.
monitor
Active la fonction de surveillance. Pour plus d'informations, voir le programme ntpdc et la commande monlist . La valeur par défaut de cet indicateur est enable.
ntp
Active la discipline de temps et de fréquence. En effet, ce commutateur ouvre et ferme la boucle de retour d'informations, ce qui est utile pour les tests. La valeur par défaut de cet indicateur est enable.
pps
Active le signal PPS (pulse-per-seconde) lorsque la fréquence et le temps sont disciplinés par les modifications du noyau temporel de précision. La valeur par défaut de cet indicateur est disable.
stats
Active la fonction de statistiques. La valeur par défaut de cet indicateur est disable.
includefile includefile Cette commande permet d'inclure d'autres commandes de configuration à partir d'un fichier distinct. La commande includefiles peut être imbriquée à une profondeur de cinq. Une fois la fin de toute commande includefile atteinte, le traitement reprend dans le fichier de configuration précédent. Cette option est utile pour les sites qui exécutent ntpd sur plusieurs hôtes, avec (principalement) des options communes (par exemple, une liste de restrictions).
logconfig configkeyword Cette commande contrôle la quantité et le type de sortie qui est écrite dans la fonction syslog du système ou dans le fichier journal de remplacement. Tous les mots clés configkeyword peuvent être préfixés avec =, + et-, où = définit les syslogmask, + ajoute et-supprime les messages. Les messages syslog peuvent être contrôlés dans quatre classes (clock, peer, sys and sync). Au sein de ces classes, quatre types de message peuvent être contrôlés: les messages d'information (info), les messages d'événement (events), les messages de statistiques (statistics) et les messages d'état (status). Les mots clés de configuration sont formés en concaténant la classe de message avec la classe d'événement. Le préfixe all peut être utilisé à la place d'une classe de message. Une classe de message peut également être suivie du mot clé all pour activer ou désactiver tous les messages de la classe de message correspondante. Par défaut, la sortie logconfig est définie sur allsync. Par conséquent, une configuration de journal minimale peut se présenter comme suit:
 logconfig=syncstatus +sysevents
Ceci permet de répertorier l'état de synchronisation de ntpd et les principaux événements système. Pour un serveur de référence simple, la configuration de message minimale suivante peut être utile:
 logconfig=allsync +allclock
Cette configuration répertorie toutes les informations d'horloge et de synchronisation. Tous les autres événements et messages relatifs aux homologues, aux événements système, etc., sont supprimés.
logfile logfile Cette commande indique l'emplacement d'un autre fichier journal à utiliser à la place de la fonction syslog système par défaut. Cette commande a la même opération que l'option de ligne de commande -l .
phone dial1 dial2 ... Cette commande est utilisée avec le pilote de modem ACTS (type 18). Les arguments consistent en un maximum de 10 numéros de téléphone utilisés pour composer des services de temps USNO, NIST ou européens. La commande Hayes ATDT est normalement ajoutée comme préfixe au numéro, qui peut également contenir d'autres codes de contrôle de modem.
setvar variable [default] Cette commande crée une nouvelle variable système. Ces variables peuvent être utilisées pour distribuer des informations supplémentaires telles que la règle d'accès. Si la variable du format name = value est suivie du mot clé par défaut, la variable est répertoriée comme faisant partie des variables système par défaut (commande ntpq rv). Ces variables supplémentaires servent uniquement à des fins d'information. Ils ne sont pas liés au protocole autre qu'ils peuvent être répertoriés. La variable de protocole connue remplace toutes les variables définies à l'aide du mécanisme setvar . Les noms de toutes les variables d'un groupe sont contenus dans trois variables uniques. sys_var_list contient les noms de toutes les variables système. Le peer_var_list contient les noms de toutes les variables d'homologue et le clock_var_list contient les noms des variables d'horloge de référence.
tinker [ allan allan | dispersion dispersion | freq freq | huffpuff huffpuff | panic panique | step étape | stepout étape ] Cette commande peut être utilisée pour modifier plusieurs variables système dans des circonstances exceptionnelles. Elle doit se produire dans le fichier de configuration avant toute autre option de configuration. Les valeurs par défaut de ces variables sont soigneusement optimisées pour un large éventail de vitesses de réseau et d'attentes en matière de fiabilité. En général, ils interagissent de manière complexe et difficile à prédire et certaines combinaisons peuvent entraîner un comportement méchant. Les valeurs par défaut doivent être rarement modifiées. Les options suivantes peuvent être utilisées avec la commande tinker :
allan allan
L'argument devient la nouvelle valeur de l'interception Allan, qui est un paramètre de l'algorithme de discipline d'horloge PLL/FLL. La valeur est exprimée en secondes avec une valeur par défaut de 1500 s, ce qui est approprié pour la plupart des horloges de l'ordinateur.
dispersion dispersion
L'argument devient la nouvelle valeur de l'interception Allan, qui est un paramètre de l'algorithme de discipline d'horloge PLL/FLL. La valeur est exprimée en secondes avec une valeur par défaut de 1500 s, ce qui est approprié pour la plupart des horloges de l'ordinateur.
freq fréq
L'argument devient la valeur initiale du décalage de fréquence en parties-par-million. L'argument freq remplace la valeur du fichier de fréquences, si elle est présente, et évite l'état d'entraînement initial si ce n'est pas le cas.
huffpuff houppette
L'argument devient la nouvelle valeur pour la plage de filtre huff-n'-puff expérimentale, qui détermine l'intervalle le plus récent que l'algorithme recherche pour un délai minimum. La limite minimale est de 900 s (15 m), mais une valeur plus raisonnable est de 7200 (2 heures). Aucune valeur par défaut n'est définie pour cette option, car le filtre est désactivé sauf si la commande est exécutée avec l'argument huffpuff .
panic panique
L'argument est le seuil de panique, par défaut 1000 s. Si la valeur est définie sur zéro, la vérification de panique est désactivée et un décalage d'horloge de n'importe quelle valeur est accepté.
step étape
L'argument est le seuil d'étape, par défaut 0.128 s. Il peut être défini sur n'importe quel nombre positif en secondes. Si la valeur est définie sur zéro, les ajustements d'étape ne se produisent jamais.
Remarque: La discipline de temps du noyau est désactivée si le seuil de l'étape est défini sur zéro ou sur une valeur supérieure à la valeur par défaut.
stepout étape
L'argument est le délai d'attente stepout , par défaut 900 s. Il peut être défini sur n'importe quel nombre positif en secondes. Si la valeur est définie sur zéro, les impulsions stepout ne sont pas supprimées.
Cette commande spécifie une liste de valeurs de durée de vie par ordre croissant. Vous pouvez indiquer jusqu'à 8 valeurs. En mode manycast, ces valeurs sont utilisées à leur tour dans une recherche en anneau en expansion. La valeur par défaut est huit multiples de 32 à partir de 31.
trap host_address [port numéro_port] [interface adresse_interface] Cette commande configure un récepteur d'alertes à l'adresse hôte fournie et au numéro de port pour l'envoi de messages avec l'adresse d'interface locale spécifiée. Si le numéro de port n'est pas spécifié, la valeur 18447 est utilisée. Si l'adresse de l'interface n'est pas spécifiée, le message est envoyé avec une adresse source de l'interface locale via laquelle le message est envoyé. Sur un hôte multihébergé, l'interface utilisée peut varier de temps en temps en fonction des changements de routage. Le récepteur d'alertes consigne généralement les messages d'événement et d'autres informations provenant du serveur dans un fichier journal. Alors que ces programmes de surveillance peuvent également demander leur propre alerte de manière dynamique, la configuration d'un récepteur d'alerte garantit qu'aucun message n'est perdu lorsque le serveur est démarré.
ttl hop ... Cette commande spécifie une liste de valeurs de durée de vie par ordre croissant. Vous pouvez indiquer jusqu'à 8 valeurs. En mode manycast, ces valeurs sont utilisées à leur tour dans une recherche en anneau en expansion. La valeur par défaut est huit multiples de 32 à partir de 31.

Fichiers

/etc/ntp.conf
Indique le chemin d'accès au fichier.