Réglage automatique de l’heure avec NTP – utilisation du pool.ntp.org pour Debian et Ubuntu

Le protocole NTP (network time protocole) permet de synchroniser l’heure d’un PC depuis un référentiel distant, généralement un serveur accessible par Internet.
Très bien, mais sur quel serveur peut-on se synchroniser?

Le projet pool.ntp.org regroupe plusieurs milliers de serveurs NTP sous forme de pools accessibles par une adresse unique pool.ntp.org.
Plutôt que d’interroger un seul et même serveur pour synchroniser le client, on va piocher dans le pool de façon automatique. Comme ça on est sûr qu’un serveur va nous répondre.

Installation de NTP

Sous Debian

Pour installer la gestion du NTP :

apt-get install ntp

Après installation du paquet ntp, éditer le fichier ntp.conf

 vi /etc/ntp.conf

et remplacer les lignes server par

server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org

Sous Ubuntu

Ubuntu effectue la synchro horaire automatiquement dès le montage de la carte réseau.

La conf NTP se trouve dans /etc/default/ntpdate : on voit que le client ntp va tenter de se synchroniser sur ntp.ubuntu.com

Pour utiliser ntp comme sous Debian, installer le paquet ntp :

apt-get install ntp

et ajouter la liste de serveurs dans ntp.conf

vi /etc/ntp.conf

et remplacer la ligne server ntp.ubuntu.com par :

server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
server 3.fr.pool.ntp.org

Synchro forcée

Pour vérifier que l’accès au pool de serveurs fonctionne bien, on peut forcer la synchro en ligne de commande avec ntpdate

vérifier que le process ntp est arrêté

/etc/init.d/ntp stop

puis lancer une synchro forcée avec ntpdate

ntpdate 0.fr.pool.ntp.org
10 Aug 18:45:23 ntpdate[4208]: adjust time server 88.191.108.178 offset 0.000728 sec

ensuite redémarrer le démon NTP

/etc/init.d/ntp start

La conf est terminée. Le daemon ntp va ensuite se synchroniser régulièrement de façon transparente pour l’utilisateur.

Liste des serveurs utilisés

Afficher des infos sur les serveurs NTP joignables et leurs parents

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ns1.pulsation.f 212.37.192.31    3 u    1   64    1   33.051    6.306   1.257
 ddb3.europeacon 193.204.114.232  2 u    2   64    1   27.430    6.864   4.430
 sd-26884.dedibo 88.191.73.241    3 u    1   64    1   27.826    6.749   2.557
 sd-28922.dedibo 192.93.2.20      2 u    1   64    1   25.634    6.661   4.273

le serveur marqué d’un * est celui actif pour la synchro de notre machine
le numero ‘st’ indique le niveau de strate du serveur interrogé. Un serveur de strate 1 est un serveur primaire. Les serveurs qui se synchronisent sur lui deviennent des serveurs de strate 2 et ainsi de suite.

Service ntpd en écoute sur toutes les interfaces

Par défaut, le paquet ntp installe le service ntpd en écoute sur le port UDP 123 de toutes les interfaces de la machine. C’est pratique si on a des clients qui veulent se synchroniser en utilisant comme référentiel NTP cette machine, qui sert alors de serveur NTP. Il leur suffit d’utiliser dans leur fichier ntp.conf l’adresse IP de la machine NTP pour se synchroniser à leur tour sans passer par Internet.

Si l’activation du service NTP sur toutes les interfaces n’est pas nécesaire, on peut restreindre l’écoute sur une seule interface, par exemple le loopback :

Editer le fichier /etc/default/ntp

vi /etc/default/ntp

et ajouter le nom de l’interface qui doit écouter, ici lo :

NTPD_OPTS='-g -I lo'

relancer le service ntp puis vérifier les interfaces en écoute :

/etc/init.d/ntp restart
netstat -pan|grep ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           4404/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           4404/ntpd       
udp6       0      0 ::1:123                 :::*                                4404/ntpd       
udp6       0      0 :::123                  :::*                                4404/ntpd

Il n’y a plus que lo qui écoute sur l’UDP 123.

Pour aller plus loin…

5 réflexions au sujet de « Réglage automatique de l’heure avec NTP – utilisation du pool.ntp.org pour Debian et Ubuntu »

    • le serveur NTP va se mettre à jour en essayant de joindre le pool.ntp.org. La synchronisation va se faire en utilisant son interface connectée à Internet. ensuite, le service ntp est par défaut en écoute sur toutes les interfaces du serveur donc les clients de chaque sous-réseau doivent pouvoir l’interroger. Il faut qu’ils utilisent comme serveur dans ntp.conf l’adresse IP du serveur NTP.

  1. Je ne suis pas d’accord. Ton NTP écoute toujours sur toutes les IP de ta machine ton netstat te le montre bien avec la ligne:
    udp 0 0 0.0.0.0:123 0.0.0.0:*
    le 0.0.0.0:123 indique qu’il écoute sur toutes les IP de ta machine en plus du 127.0.0.1

  2. Ping : Synchronize system clock to International Atomic Time on Debian – Biapy Help Desk

Répondre à installer serveur ntp Annuler la réponse.