J'ai installé le serveur NTP sur Ubuntu Server 10.04 en utilisant:
Sudo apt-get install ntp
Le démon NTP semble fonctionner et écouter sur le port 123.
Cependant, je n'ai pas pu obtenir l'heure d'une autre machine:
Sudo ntpdate -u my_ntp_server
23 Nov 18:48:41 ntpdate[2990]: no server suitable for synchronization found
Y a-t-il des configurations nécessaires à faire?
Voici un bon tutoriel sur les forums Ubuntu: http://ubuntuforums.org/showthread.php?t=86262
Copie-pâtes flagrante:
HOWTO: Configurer un serveur NTP
Ce didacticiel explique comment configurer votre ordinateur en tant que serveur NTP (Network Time Protocol) local et/ou comment utiliser le démon NTP pour maintenir régulièrement une heure système précise.
Qu'est-ce que NTP?
Le protocole NTP (Network Time Protocol) est un protocole conçu pour synchroniser avec précision les horloges locales avec les serveurs de temps en réseau. Le réseau de serveurs de temps NTP est configuré de manière hiérarchique, de sorte que tout utilisateur peut entrer dans le système en tant que serveur à un certain niveau (voir la page Wikipedia pour plus de détails).
La hiérarchie NTP est séparée en différents niveaux, appelés strates d'horloge. Le niveau le plus précis, Strate 0, est réservé aux horloges atomiques, etc. Le niveau suivant, Strate 1, est généralement utilisé par les machines en réseau connectées localement aux horloges de la strate 0. Les strates 2 à 15 sont NTP machines connectées, elles-mêmes, à des horloges de niveau inférieur.
Ce guide explique comment synchroniser avec précision avec les ordinateurs des strates 1 et 2 et conserver une horloge système aussi précise que possible tout au long de la journée. Des sections sont également incluses sur la manière de permettre à votre machine de fonctionner en tant que serveur Stratum 2/3 pour les autres machines de votre réseau local.
Dois-je créer un serveur NTP?
Non ... absolument pas! Si vous êtes satisfait du fait que les horloges de votre réseau ont une différence inconnue par rapport à l'heure standard (et les unes aux autres), vous n'avez pas besoin de configurer un serveur NTP. J'en ai installé un sur mon ordinateur portable afin de synchroniser plusieurs machines sur un réseau local en moins de 1 ms pour une expérience de bioingénierie. De plus, divers avantages sont décrits ci-dessous.
Motivation:
Régulièrement, les boîtes Ubuntu non modifiées utilisent ntpdate (/usr/sbin/ntpdate
) pour synchroniser périodiquement l'horloge avec un serveur de temps externe. Cette approche synchronise l'horloge avec une résolution de parcours (généralement une fois par jour).
Les horloges informatiques sont imparfaites et dériveront du serveur de temps (correct) pendant la journée. En outre, les taux de dérive dans les horloges de différents ordinateurs diffèrent, de sorte qu’à la fin de la journée, des différences significatives peuvent exister entre différentes machines en réseau local, ce qui peut interférer avec certaines opérations différentes machines?).
Il est possible d'exécuter le démon NTP localement sur une machine de votre réseau. Cela présente de nombreux avantages: premièrement, le démon NTP "apprend" progressivement le taux de dérive de votre ordinateur local et peut le corriger tout au long de la journée. La synchronisation avec les serveurs de temps de plus haut niveau a lieu plusieurs fois par jour et de nombreux serveurs de temps différents peuvent être utilisés simultanément pour rendre la synchronisation plus précise. De cette manière, le démon NTP agit comme un client de l'heure précise, en maintenant votre horloge système aussi proche que possible de l'heure standard.
En plus de maintenir une horloge système précise, le démon NTP permet à une machine de votre réseau (si vous le souhaitez) de fonctionner en tant que serveur de temps NTP. Cela permettra aux autres machines de votre réseau local de se synchroniser avec votre serveur de temps LAN de manière très rapide et précise, car la latence du réseau est réduite au minimum. De cette manière, les différences d'horloge entre les machines de votre réseau sont réduites au minimum. Si vous en configurez un, les ordinateurs Mac et même Windows sont également capables de se synchroniser avec un serveur NTP.
Il existe d'autres motivations, moins personnelles, pour configurer une machine en tant que serveur NTP. Premièrement, cela peut réduire la charge sur les serveurs de niveau NTP de niveau supérieur, car d'autres machines de votre réseau local peuvent se synchroniser avec un serveur de temps établi localement. De plus, ntpdate est déconseillé au lieu d'utiliser l'indicateur -q pour ntpd (qui imite ses fonctionnalités). Ainsi, même si vous ne souhaitez pas exécuter ntpd de manière constante en arrière-plan, ntpdate sera éventuellement remplacé par ntpd. Vous voudrez peut-être vous y familiariser maintenant.
Comment gérer une horloge système précise avec ntpd
Commencez par installer le démon NTP (ntpd):
Sudo aptitude install ntpd
Comme cela a été mentionné précédemment, ntpd peut agir à la fois en tant que client (synchronisant l'heure de votre système) et en tant que serveur (fournissant une heure précise aux autres ordinateurs).
Vous pouvez également éventuellement supprimer le programme de synchronisation de temps précédent (obsolète), ntpdate. Peut-être serait-il plus sage de le faire après avoir utilisé ntpd
Sudo aptitude remove ntpdate
Le fichier de configuration pour ntpd se trouve à /etc/ntp.conf
. Le fichier Ubuntu par défaut nécessite probablement quelques modifications pour des performances optimales.
La première section que vous voudrez peut-être modifier est la liste des serveurs avec lesquels vous synchroniser. La section par défaut ressemble probablement à ceci:
# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
Pour obtenir l'heure la plus précise possible, il est préférable de communiquer avec plusieurs serveurs NTP différents et de les conserver aussi près que possible de votre emplacement physique. Il existe différentes listes de serveurs en ligne, le meilleur est probablement situé ici. Il existe un débat sur le nombre de serveurs à utiliser. Un vaut mieux que deux, et trois ou plus est probablement une bonne idée, tant que vous n'allez pas trop loin. Voici un exemple de quelques serveurs de temps que j'ai utilisés:
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
Une fois que quelques bons serveurs ont été trouvés, ajoutez-les à la liste, en mettant 'iburst'
après le plus prometteur. Par exemple:
server nist1-dc.WiTime.net iburst
Cela provoquera une synchronisation très rapide de ntpd avec ce serveur après le démarrage. Dans le cas contraire, ntpd aura lentement tendance à s'accorder avec la liste de serveurs (comme c'est le cas par exemple) et la synchronisation peut prendre 15 à 20 minutes pour être suffisamment synchronisée pour servir de serveur de temps pour le reste de votre réseau.
Ajoutez également quelques lignes supplémentaires au bas de la liste de vos serveurs pour indiquer votre heure locale actuelle par défaut en cas de perte temporaire de la connectivité Internet:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
Cela vous évitera des problèmes si vous exécutez ntpd sur un ordinateur portable ou un autre ordinateur avec des périodes de déconnexion intermittentes d'Internet.
Dans l’ensemble, la liste des serveurs devrait ressembler à la suivante (ceci est le mien, vos serveurs seront probablement différents):
# You do need to talk to an NTP server or two (or three).
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0 stratum 10
Maintenant que vous avez une liste de serveurs appropriée dans votre fichier /etc/ntp.conf
, il est temps d'exécuter le démon et de voir si vous synchronisez correctement! Assurez-vous que vous avez une connexion Internet active, puis exécutez:
Sudo /etc/init.d/ntp restart
Ensuite, surveillez votre journal système pour voir si vous synchronisez avec un serveur de temps:
tail -f /var/log/syslog
Dans environ 10 à 15 secondes (ou jusqu'à 15 à 20 minutes si vous avez oublié de mettre "iburst" après votre serveur favori), le journal suivant devrait s'afficher comme suit:
Jul 17 16:50:22 hostname ntpd[22402]: synchronized to 140.221.9.20, stratum 2
Si ce message n'arrive jamais, vous n'êtes pas encore correctement synchronisé avec le réseau du serveur NTP. Vérifiez la liste des NTP pairs avec lesquels vous communiquez en utilisant les éléments suivants:
ntpq -c lpeer
Si les champs 'delay', 'offset' et 'jitter' sont non nuls et que vous n'êtes pas synchronisés, cela signifie probablement que vous devez simplement attendre un moment. Vérifiez à nouveau que vous avez inséré l'argument 'iburst' dans votre liste de serveurs! Mes pairs, pour référence, ressemblent à ceci:
remote refid st t when poll reach delay offset jitter
==============================================================================
*milo.mcs.anl.go 192.5.41.40 2 u 4 64 77 46.213 67.753 2.207
-europium.canoni 193.79.237.14 2 u 63 64 37 97.375 71.020 1.875
-dtype.org 69.25.96.13 2 u 2 64 77 86.956 69.178 1.804
+smtp130.junkema 216.218.254.202 2 u 2 64 77 87.266 67.677 0.916
+kechara.flame.o 216.218.254.202 2 u - 64 77 89.183 68.717 1.713
-Host2.kingrst.c 99.150.184.201 2 u - 64 77 24.306 62.121 2.608
LOCAL(0) .LOCL. 10 l 59 64 37 0.000 0.000 0.002
Une fois que ntpd est en cours d’exécution et synchronisé avec les serveurs de temps que vous avez sélectionnés, vous pouvez le configurer afin d’agir en tant que serveur de temps pour d’autres machines. Pour ce faire, ajoutez une section comme celle-ci à /etc/ntp.conf
:
# Allow LAN machines to synchronize with this ntp server
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
You may add as many (or few) CIDR address blocks to allow to synchronize with your machine as you'd like. I included those commonly used with Linksys (192.168.1.*) and SMC (192.168.2.*) routers.
Une fois que vous avez configuré un serveur NTP à l'aide des étapes 1 à 4, vous pouvez synchroniser les autres ordinateurs de votre réseau avec votre serveur de différentes manières. J'en décris quelques-uns ci-dessous:
ntpd:
Si ntpd est installé sur un autre ordinateur, vous pouvez utiliser votre premier serveur dans la liste des serveurs de votre fichier ntp.conf ou vous pouvez le synchroniser une fois avec l'option -q, comme suit:
ntpd -q [IP address of your server]
ntpdate:
Si ntpdate est toujours installé sur une autre machine, vous pouvez l’utiliser pour effectuer la synchronisation avec votre serveur de la manière suivante:
ntpdate [IP address of your server]
Remarque: si vous exécutez ntpd sur une machine et que, pour une raison quelconque, souhaitez toujours utiliser ntpdate pour définir l'heure, vous devez utiliser l'option -u.
Les fenêtres:
Les machines Windows utilisent une version simplifiée de NTP appelée SNTP (Simple Network Time Protocol) et peuvent se synchroniser avec les serveurs NTP. Pour vous synchroniser avec votre nouveau serveur, double-cliquez sur l'heure et allez dans l'onglet "Heure Internet". Mettez l'adresse IP de votre serveur dans le champ "Serveur". J'ai joint une capture d'écran de Windows XP en synchronisation avec un serveur de temps LAN, si cela vous intéresse.
C'est tout! L'ensemble du processus n'est pas compliqué, mais peut être déroutant pour quelqu'un qui n'a pas beaucoup traité avec le réseau NTP. J'espère que ça aide! Faites-moi savoir si vous rencontrez des problèmes pour configurer votre serveur.
Mike
Liens
J'ai trouvé les liens suivants utiles ... vous aussi!
https://help.ubuntu.com/7.10/server/C/NTP.htmlhttp://linuxwave.blogspot.com/2007/0...tp-server. htmlhttp://lists.ntp.isc.org/pipermail/q...er/011889.htmlhttp://www.linuxhomenetworking.com/w. ..Fntp.conf_Filehttp://www.ntp.org/ntpfaq/NTP-a-faq.htm
Il existe de nombreux liens à ce sujet et il me semble qu’ils compliquent la procédure. Dans mon cas, j'ai une machine qui fait office de serveur proxy et de pare-feu, et toutes les autres machines se connectent à Internet par ce biais. Je ne voulais pas ouvrir les ports sur le pare-feu. Par conséquent, le serveur proxy doit être l'heure (ntp) serveur et les autres machines (clients) en obtiennent l'heure.
Vous devez installer ntp sur toutes les machines et vous devez également installer ntpq sur toutes les machines.
Tout d’abord, voyez si NTP fonctionne. Par défaut, ntpd (le démon ntp) sera exécuté dès son installation et les paramètres par défaut devraient fonctionner. Cependant, NTP ne fonctionne pas instantanément, alors attendez un peu. Ensuite, la commande:
ntpq -c lpeer
devrait vous donner une sortie qui ressemble à ceci:
remote refid st t when poll reach delay offset jitter
==============================================================================
+golem.canonical 193.79.237.14 2 u 170 1024 377 140.458 -0.655 3.234
*gatekeeper.tss. 204.123.2.72 2 u 608 1024 377 84.650 2.168 0.471
ou:
ntpq --numeric --peers
remote refid st t when poll reach delay offset jitter
==============================================================================
+91.189.89.199 193.79.237.14 2 u 652 1024 377 140.151 -0.242 2.821
*66.7.96.1 204.123.2.72 2 u 64 1024 377 85.074 2.409 0.963
Si c'est le cas, vous êtes connecté et votre serveur de temps reçoit l'heure. Si non, utilisez
ps -e | grep "ntp"
pour être sûr que ntp en cours d'exécution, et essayez à nouveau. Essayez également de redémarrer NTP:
Sudo /etc/init.d/ntp restart
cela peut prendre du "temps" (désolé!) avant que la connexion soit établie. Le démon n'interroge pas les serveurs très souvent. La colonne "quand" dans la sortie ci-dessus indique le temps en secondes depuis l'interrogation du serveur.
Maintenant, vous devez faire en sorte que le serveur de temps envoie le temps à vos autres machines.
Editez le fichier /etc/ntp.conf
sur le serveur. Vous devez ajouter une ligne pour votre réseau. Dans mon cas, j'ai un réseau 10.0.0.0. Dans le fichier ntp.conf, j'ai ajouté la ligne:
broadcast 10.255.255.255
Vous devez ajouter une ligne de diffusion pour chaque segment de votre réseau. Si votre réseau est simple comme le mien, une ligne comme celle ci-dessus est tout ce dont vous avez besoin. Maintenant, redémarrez ntp en utilisant la commande ci-dessus et vérifiez à nouveau en utilisant ntpq, et vous devriez voir:
remote refid st t when poll reach delay offset jitter
==============================================================================
+golem.canonical 193.79.237.14 2 u 70 1024 377 140.151 -0.242 2.821
*gatekeeper.tss. 204.123.2.72 2 u 506 1024 377 84.650 2.168 0.241
10.255.255.255 .BCST. 16 u - 64 0 0.000 0.000 0.002
Voilà, c'est la radiodiffusion.
Maintenant, vous devez faire en sorte que chaque ordinateur client obtienne l'heure de votre serveur de diffusion. Sur chacun, éditez le fichier:
/etc/ntp.conf
et vous verrez quelques lignes spécifiant des serveurs.
ajouter une ligne
server 10.10.10.1
ou quelle que soit l'adresse de votre serveur. Puis redémarrez ntp sur la machine cliente en utilisant la commande ci-dessus. Vous pouvez également obtenir l'ID du processus, le tuer et l'exécuter à nouveau. Peu importe.
Puis, après suffisamment de temps, vérifiez avec ntpq:
ntpq --numeric --peers
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.10.10.1 66.7.96.1 3 u 123 1024 377 0.430 1.022 1.831
et vous pouvez voir que le client utilise le serveur de temps.
Cela prend du temps.
La réponse acceptée (comme pour juillet 2018) n'a pas fonctionné pour moi. Cette autre méthode a bien fonctionné sur buntu 16.04 LTS en juillet 2018:
Installer NTP si non installé:
Sudo apt-get update
Sudo apt-get install ntp
Édition de la configuration fichier permettant au service NTP de recevoir des demandes:
Sudo nano /etc/ntp.conf --syntax=sh
Ne commentez pas cette ligne:
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
# broadcast 192.168.111.255
à:
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
broadcast 192.168.111.255
Redémarrer NTP service:
Sudo /etc/init.d/ntp restart
Maintenant, votre le serveur NTP doit fonctionner et autorisez un autre ordinateur à se synchroniser avec le vôtre. N'importe lequel des tests ci-dessus, comme le ntpdate -u YourComputer
devrait fonctionner correctement.