Serveur d'impression

Client et serveur NTP – Blog Raspberry Pi – Serveur d’impression

Le 2 mai 2019 - 7 minutes de lecture

Client NTP

Un des inconvénients de la conception d’un ordinateur aussi bon marché est que vous devez abandonner certaines fonctionnalités qui sont trop chères. L'une de ces fonctionnalités est l'horloge temps réel (RTC). La puce RTC dispose de sa propre batterie pour stocker l’heure réelle même lorsque l’appareil n’est pas branché. Cette puce coûte environ 10 $. Cela est assez fastidieux pour persuader les concepteurs de RPi de ne pas implémenter cette fonctionnalité.

Le problème d'enregistrement de l'heure actuelle est partiellement résolu par le paquetage fake-hwclock qui écrit l'heure réelle dans un fichier texte toutes les heures et lors du redémarrage du système. Au début, si aucune meilleure source de temps n’est présente, le temps est réglé sur une heure stockée dans ce fichier texte. Etant donné que RPi dispose d’un port RJ-45, nous pouvons l’utiliser comme source de temps très précise dans NTP. Nous devons d’abord installer le paquet appelé ntp.

apt-get install ntp

Avis: Selon les conseils de l’un des visiteurs, la nouvelle version de Raspbian a été préinstallée. service timesyncd. Il peut être utilisé dans le même but, mais vous ne pouvez pas avoir les deux en même temps. Pour résoudre ce problème, vous pouvez arrêter et désactiver le service timesyncd à l'aide de ces commandes.

systemctl arrêter systemd-timesyncd
systemctl désactiver systemd-timesyncd
/Etc/init.d/ntp stop
/Etc/init.d/ntp start

C'est tout, RPi synchronise maintenant son heure avec les serveurs NTP. Par défaut, il utilise des serveurs NTP qui sont généralement trop éloignés de vous. Cela a une mauvaise influence sur la précision du temps. Allez donc d'abord sur la page pool.ntp.org et trouvez un emplacement aussi proche que possible. Pour moi, c'est la République tchèque. Pour définir les serveurs NTP, ouvrez le fichier de configuration ntp.

nano /etc/ntp.conf

Et trouvez les lignes commençant par "serveur". Remplacez ces lignes pour les lignes par les serveurs de pool.ntp.org. Dans mon cas, la configuration ressemble à ceci:

# / etc / ntp.conf, configuration pour ntpd

driftfile /var/lib/ntp/ntp.drift
statsdir / var / log / ntpstats /

statistiques loopstats peerstats clockstats
filegen loopstats fichier loopstats type day enable
filegen peerstats fichier type de peerstats jour activer
filegen clockstats fichier clockstats type day enable

# Vous devez parler à un serveur NTP ou à deux (ou trois).
#serveur ntp.votre-fournisseur.exemple

# pool.ntp.org mappe vers plus de 300 serveurs NTP à faible strate.
# Votre serveur choisira un ensemble différent à chaque démarrage.
# *** S'il vous plaît envisager de rejoindre la piscine! ***
# *** ***
serveur 0.cz.pool.ntp.org J'ai éclaté
serveur 1.cz.pool.ntp.org J'ai éclaté
serveur 2.cz.pool.ntp.org J'ai éclaté
serveur 3.cz.pool.ntp.org J'ai éclaté

# Par défaut, échangez l'heure avec tout le monde, mais n'autorisez pas la configuration.
# Voir /usr/share/doc/ntp-doc/html/accopt.html pour plus de détails.
restreindre -4 par défaut kod notrap nomodify nopeer noquery
restreindre -6 par défaut kod notrap nomodify nopeer noquery

# Les utilisateurs locaux peuvent interroger le serveur NTp de plus près.
restreindre 127.0.0.1
restreindre :: 1

# Les clients de ce (exemple!) Sous-réseau ont un accès illimité,
# mais seulement si authentifié par cryptographie
#restrict 192.168.123.0 mask 255.255.255.0 notrust

# Si vous souhaitez fournir du temps à votre sous-réseau local, modifiez la ligne suivante.
# (Encore une fois, l'adresse n'est qu'un exemple.)
#broadcast 192.168.123.255

# Si vous souhaitez écouter des émissions horaires sur votre sous-réseau local,
# de commenter les lignes suivantes. Veuillez ne le faire que si vous faites confiance à tout le monde
# sur le réseau!
#disable auth
#broadcastclient

Maintenant, vous pouvez redémarrer le service NTP.

/etc/init.d/ntp restart

Voici la commande pour vérifier si l'heure se synchronise correctement. Pour répertorier les serveurs NTP avec lesquels RPi synchronise:

ntpq -pn

Vous obtiendrez des résultats comme celui-ci.

référence distante st t lorsque l'interrogation atteint le décalage de retard de gigue
=============================================== ============================
* 81.27.192.20 195.113.144.238 2 u 26 64 1 58.571 0,797 68.634
+93.185.101.74 195.113.144.201 2 u 25 64 1 42.282 -1,507 0,477
+93.185.101.77 195.113.144.201 2 u 24 64 1 41.390 -1.544 68.243
-91.216.168.42 178.238.46.152 3 u 23 64 1 43.510 1.010 1.094

Les premières lettres ont la valeur la plus significative du tableau. * signifie source de temps réelle, + signifie quelque chose comme source de sauvegarde, – est ignoré, mais peut devenir sauvegarde (+) à tout moment. La première colonne affiche les adresses IP des serveurs NTP, la deuxième indique la source de temps pour vos serveurs NTP, la troisième indique la strate. Strate est un nombre compris entre 0 et 15 et indique le nombre de sauts à partir de l'heure de référence (horloge GPS, horloge atomique, etc.). Ce périphérique a la couche 0, mais il est impossible de se connecter directement à eux. Par exemple, vous avez un ordinateur avec une sorte d’horloge atomique connectée (très cher – environ 100 000 $). La boîte de l'horloge atomique correspond à la couche 0, votre ordinateur à la couche 1 … Vous pouvez également trouver la couche 16, qui signifie une source de temps non fiable. La colonne avec "u" signifie que l'adresse du serveur NTP est unicast. "Quand" indique le nombre de secondes écoulées depuis la dernière réponse. "Poll" signifie l'intervalle entre les demandes de temps, en secondes. "Atteindre" indique le succès / échec pour atteindre la source. "Délai" indique le temps aller-retour, en millisecondes, pour recevoir une réponse. "Offset" est la différence entre le serveur NTP et votre horloge système en millisecondes. "Jitter" indique la différence, en millisecondes, entre deux échantillons.

Maintenant, vous pouvez vérifier votre temps … J'aime tout faire de la bonne façon – cette commande affichera donc le temps réel dans ISO 8601 (Représentation des dates et heures standard) format 🙂

date + "% FT% T% Z"

Serveur NTP

Maintenant, lorsque RPi a synchronisé son heure, vous pouvez le configurer pour qu'il transmette ces informations horaires aux périphériques de votre réseau local. Vous devez seulement ouvrir le fichier de configuration du démon ntp.

nano /etc/ntp.conf

Et ajoutez une chaîne décrivant les hôtes auxquels les demandes seront répondues.

restreindre 192.168.1.0 masque 255.255.255.0

Et ajoutez également ces 2 lignes. Ils permettront l’envoi d’émissions et de multidiffusions contenant des informations horaires pour les appareils qui les acceptent (Cisco, Juniper …)). Changez la première adresse en gras en adresse de diffusion de votre réseau local. Ne changez pas l'adresse de multidiffusion 224.0.1.1 car cette adresse est attribuée au service NTP par l'IANA et certains périphériques réseau rejoignent ce groupe de multidiffusion automatiquement.

diffuser 192.168.1.255
diffuser 224.0.1.1

Fermez maintenant le fichier de configuration (CTRL + X …) et enregistrez les modifications (… appuyez sur "y" et sur Entrée). La dernière étape consiste à redémarrer le démon ntp avec:

/etc/init.d/ntp restart

A partir de maintenant, vous pouvez configurer des machines sur un réseau local pour synchroniser son heure sur RPi. Par exemple, sous Windows XP, double-cliquez sur l’horloge dans la barre des tâches> Heure Internet> cochez Synchroniser automatiquement avec un serveur de temps Internet et insérez l’adresse IP de RPi.


SNTP sous Windows

SNTP sous Windows XP

Les premières versions de Windows à Windows 8 ne prennent toujours pas en charge le protocole de temps réseau. Ils utilisent plutôt le protocole de temps réseau simple, qui a une précision limitée. La précision est un problème qui peut aller jusqu’à 4 secondes, ce qui est bien plus que les quelques millisecondes de NTP 🙂 SNTP dans Windows synchronise l’heure une fois par semaine, le démon NTP dans Debian synchronise son heure environ toutes les 512 secondes par défaut …

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.