Installer et configurer un serveur NTP sous Ubuntu.

Le serveur NTP est une pièce indispensable pour un réseau informatique. Il s’assure que chaque machine, équipement reçoit ou envoi des données avec le même horodatage. Les serveurs NTP sont organisés en strate. Si vous n’avez pas votre propre serveur NTP de strate 0, voici comment installer un serveur NTP sur un Linux.

Le protocole NTP.

 Network Time Protocol (protocole de temps réseau) ou NTP est un protocole qui permet de synchroniser, via un réseau informatique, l’horloge locale d’ordinateurs sur une référence d’heure.

Le protocole NTP.

Le NTP utilise le protocole de transport UDP et le port 123.

Afin de synchroniser les horloges des ordinateurs à la nanoseconde près, le Network Time Protocol utilise le Coordinated Universal Time, appelé temps universel coordonné (UTC), applicable uniformément depuis 1972.

Ce processus de synchronisation dispose de différents niveaux hiérarchiques symbolisant la distance par rapport à la source UTC, que l’on appelle strate.

Le protocole NTP

L’ensemble des appareils techniques obtenant l’heure à partir d’un serveur primaire ou d’un système de navigation par satellite sont classés dans la catégorie stratum 0. Un ordinateur obtenant l’UTC à partir d’une horloge atomique ou radiopilotée entre dans la catégorie stratum 1 et ainsi de suite.

Si vous voulez avoir votre propre serveur NTP de Strate 0 et ne plus dépendre d’autres serveurs. C’est facile !!! Suivez ce tutoriel avec les serveurs Galleon : Utiliser un serveur NTP Galleon sur votre réseau.

Installer et configurer un serveur NTP sous Ubuntu.

Attention !!! Si vous utiliser un VPS, il y a de grandes chances que vous ne puissiez pas utiliser un server NTP car la mise à jour de l’heure et gérer par l’hôte et non la machine. Si cela est le cas, vous aurez le message ci-dessous.

Installer et configurer un serveur NTP sous Ubuntu.

Par défaut, le package NTP est disponible dans le référentiel par défaut Ubuntu LTS. Vous pouvez l’installer en exécutant simplement la commande suivante :

# apt-get install ntp -y

Installer et configurer un serveur NTP sous Ubuntu.

Ensuite, vous devrez configurer NTP pour synchroniser son heure depuis des serveurs NTP publics. Vous pouvez le faire en modifiant le fichier ntp.conf :

#vi /etc/ntp.conf
Attention !!! Je vous conseille de sélectionner des serveurs NTP de votre pays depuis le site pool.ntp.org.

Sélectionner des serveurs NTP de votre pays depuis le site pool.ntp.org

 

Maintenant vous pouvez éditer le fichier ntp.conf. La première chose est d’activer le log des synchronisations (1). Puis ensuite saisir vos serveurs NTP de référence.

Le site pool.ntp.org est un grand cluster virtuel de serveurs de temps fournissant des informations fiables facile à utiliser pour des millions de clients. Concernant la France, je vous conseille d’utiliser les serveurs ci-dessous dans votre fichier de configuration (2) :

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

Si on descend un peu dans le fichier de configuration, on peut apercevoir l’option « restrict » qui permet de limiter les accès à certains réseaux pour les autoriser à se synchroniser avec notre serveur de temps. Vous trouverez un exemple pour limiter l’accès au réseau 192.168.1.0/24. Je vous conseille de laisser active les adresses locales (127.0.0.1) sinon les utilitaires comme ntptrace et ntpq ne fonctionneront plus. (3)

Installer et configurer un serveur NTP sous Ubuntu.

Attention !!! Si l’on met « restrict 0.0.0.0 mask 0.0.0.0 » cela autorise tout le monde à venir se synchroniser sur notre serveur NTP.

Enregistrez et fermez le fichier. Ensuite, redémarrez le service NTP pour appliquer les modifications :

# systemctl restart ntp

Redémarrer le service NTP sur Ubuntu

Vous pouvez vérifier l’état de NTP avec la commande suivante :

# systemctl status ntp

Si vous lancez cette commande tout suite après avoir redémarré le service, vous devriez avoir ceci, qui vous indique que votre serveur fonctionne correctement :

Vérifier le statut du service NTP sur Ubuntu

Astuce !!! Si vous souhaitez changer de fuseau horaire sous Ubuntu Server, vous pouvez utiliser cet utilitaire : sudo dpkg-reconfigure tzdata.

Suivant Précédent
Changer de fuseau horaire sous Ubuntu en CLI
Changer de fuseau horaire sous Ubuntu en CLI
Suivant Précédent

Maintenant notre serveur est bien à l’heure. Vous avez les valeurs Local Time (heure locale du pays) ainsi que Universal Time (temps de référence).

Changer de fuseau horaire sous Ubuntu en CLI

Vérifier si son serveur NTP fonctionne.

 Voici quelques commandes à passer sur son serveur Ubuntu pour s’assurer que son serveur NTP fonctionne correctement.

  • L’utilitaire NTPQ.

Le programme utilitaire ntpq est utilisé pour surveiller les opérations ntpd du démon NTP et déterminer les performances. Le programme peut être exécuté en mode interactif ou contrôlé à l’aide d’arguments de ligne de commande. Tapez la commande suivante sur votre système Linux ou Unix:

# ntpq -pn

Vérifier si son serveur NTP fonctionne avec l'utilitaire ntpq

Au fur et à mesure que les secondes s’écoulent, vous verrez la valeur de la colonne reach augmenter. Une connexion de qualité et stable affiche 377.

Une fois la synchronisation effectuée une * et des + et – apparaissent devant les noms (ou adresse IP) des serveurs. Le serveur précédé d’un astérisque (*) est celui utilisé actuellement, ceux précédés d’un moins (-) sont actuellement éliminés par l’algorithme de choix des serveurs, ceux précédés d’un plus (+) sont des candidats potentiels à la synchronisation et ceux précédés d’un espace sont soit inaccessibles, soit trop éloignés.

  • L’utilitaire NTPTRACE.

 Vérifier si son serveur NTP fonctionne avec l'utilitaire ntptrace

Cet utilitaire vous donne en autre votre niveau de strate soit 3.

  • L’utilitaire NETSTAT.

Cet utilitaire va nous permettre de vérifier si le port 123 en UDP est bien ouvert et en écoute sur notre serveur.

# netstat -pnltu

Vérifier si son serveur NTP fonctionne avec l'utilitaire netstat

Examinons de plus près les options de la commande :

  • p – Affiche l’ID du processus associé à un nom de service ou de programme
  • n – Affiche le numéro du port, par exemple, 3306 pour mysqld et 22 pour sshd.
  • l – Montre les socket en écoute
  • t – Affiche les connexions TCP
  • u – Affiche les connexions UDP

Synchroniser le client NTP de Mac OS X via la ligne de commande.

Pour synchroniser son MAC avec un serveur NTP, vous pouvez utiliser plusieurs commandes.

  • L’utilitaire NTPDATE 

Cet utilitaire permet de synchroniser votre MAC avec un serveur de temps.

# sudo ntpdate 192.168.1.9

Synchroniser le client NTP de Mac OS X en CLI via ntpdate

  • L’utilitaire SYSTEMSETUP

 SystemSetup est un utilitaire en ligne de commande qui permet de configurer certains paramètres de votre MAC, généralement configurés dans l’application Préférences Système.

La commande systemsetup nécessite les privilèges « root » pour s’exécuter.

Voici quelques exemples appliquer à la notion de temps. Cette commande permet d’afficher le fuseau horaire, de savoir si la synchronisation NTP est activée ou bien encore d’afficher le serveur NTP utilisé.

# sudo systemsetup -gettimezone
# sudo systemsetup -getusingnetworktime
# sudo systemsetup -getnetworktimeserver

Synchroniser le client NTP de Mac OS X en CLI avec SYSTEMSETUP

Maintenant si vous souhaitez rajouter ou modifier un serveur NTP sur votre MAC, vous pouvez utiliser cette commande.

# systemsetup -setnetworktimeserver fr.pool.ntp.org,192.168.1.9

Synchroniser le client NTP de Mac OS X en CLI avec SYSTEMSETUP

Ou sinon si vous êtes réfractaire à la ligne de commande, cliquer sur l’horloge dans le coin supérieur droit de votre MAC puis Ouvrir les préférences Date et Heure.

Synchroniser le client NTP de Mac OS X via la ligne de commande.

Puis cocher Régler la date et l’heure automatiquement et saisissez les serveurs NTP.

Astuce !!! Pour rajouter plusieurs serveurs NTP, il suffit de les séparer par une virgule.

Signature manuelle Guillaume

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *