J'essaie de mettre en place le multicast NTP entre quelques ordinateurs. Pour l'instant, je reçois des paquets de multidiffusion NTP d'un ordinateur auquel je n'ai ni accès ni information (appelons-le A) qui sert de serveur de multidiffusion NTP de strate 4 et j'essaie de synchroniser le temps de quelques ordinateurs avec celui-ci.
Les ordinateurs que j'essaie de synchroniser (appelons-les B) fonctionnent sous CentOS6.4 et utilisent ntpd version 4.2.4p8. B peut recevoir le paquet multicast de A mais ne peut pas accéder à A autrement (ne peut pas faire de ping). Pour B, A est le seul serveur NTP disponible. ntpd
est configuré pour démarrer au démarrage de l'ordinateur et est appelé avec l'option "-g". A partir des paquets multicast NTP, j'ai compris que A envoie à l'adresse multicast "224.0.1.1" depuis l'adresse IP "192.168.1.103".
Voici le fichier ntp.conf de B :
tinker panic 0
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
restrict 192.168.1.103 kod nomodify noquery notrap
multicastclient 224.0.1.1
disable auth
Actuellement, l'ordinateur B reçoit des paquets NTP de A, et avec suffisamment de temps, ntpstat
sur B montrera qu'il est synchronisé avec A. Si l'heure sur B est essentiellement (à quelques secondes près) la même que celle sur A lorsque j'ai lancé ntpd sur B, alors si je change l'heure sur B après que ntpstat
montre "synchronisée" sur B, l'heure est rétablie dans un délai d'environ 30 minutes. Si je change l'heure sur B pour qu'elle soit différente de celle de A en minutes ou plus et que je lance ntpd sur B, ntpstat finira par dire "synchronisé" mais l'heure sera toujours fausse et ne changera pas du tout (jusqu'à présent, j'ai attendu jusqu'à 3 jours). Utilisation de ntpq -pn
montre le décalage comme quelque chose dans les dizaines (10~40) tandis que le temps sur B off par quelque chose qui est bien dans les minutes ou les heures.
J'espère pouvoir configurer B de telle sorte que, même si l'heure de B diffère de celle de A d'une quantité arbitrairement importante, lorsqu'il se synchronise avec A, il s'ajuste en retour. Je me demande s'il existe un moyen de configurer ntpd sur B pour qu'il puisse faire cela ou d'avoir quelque chose qui analyse les paquets multicast de A et me donne soit un horodatage correct, soit la différence de temps entre A et B.
Jusqu'à présent, j'ai essayé ntpdate
y sntp
ni l'un ni l'autre n'a fonctionné. J'ai également essayé d'obtenir les horodatages en utilisant ntpq
mais cela ne s'est pas avéré utile (soit 0, soit simplement l'heure locale).