NTP (acronyme de Network Time Protocol) est utilisé pour synchroniser l'horloge système du système client avec l'horloge du serveur. Il aide les applications réseau à avoir une heure précise. Dans cet article, nous expliquerons comment configurer le serveur NTP et synchroniser une horloge de la machine cliente NTP. Nous utiliserons Ubuntu 20.04 LTS pour exécuter les commandes et expliquer la procédure.
Prérequis
- Deux machines Ubuntu (pour l'hôte NTP et le client NTP)
- Utilisateur Sudo sur les deux machines Ubuntu
Configurer le serveur NTP
Pour installer et configurer le serveur NTP sur la machine hôte, suivez les étapes ci-dessous :
Étape 1 :Installer NTP sur le serveur hôte
Pour installer le serveur NTP, mettez d'abord à jour les référentiels locaux sur le système. Ouvrez le terminal de ligne de commande dans le système hôte et exécutez-y la commande suivante :
$ sudo apt update
Ensuite, fournissez le mot de passe sudo.
Installez maintenant NTP sur le système hôte. Tapez la commande suivante dans Terminal et appuyez sur Entrée :
$ sudo apt install ntp
Lorsque vous êtes invité à confirmer, appuyez sur y , après quoi le système lancera l'installation de NTP.
Une fois terminé, vous pouvez vérifier l'installation à partir de la commande suivante :
$ sntp --version
Étape 2 :Configurer le serveur NTP
Par défaut, NTP est configuré pour extraire l'heure des serveurs Internet. Cependant, vous pouvez le configurer manuellement pour extraire l'heure des piscines les plus proches en fonction de votre emplacement géographique.
Modifiez le fichier de configuration NTP comme suit :
$ sudo nano /etc/ntp.conf
Dans le fichier de configuration, vous verrez une liste des pools que NTP utilise par défaut.
Pour ajouter les pools les plus proches de votre emplacement, visitez le site Web support.ntp.org et sélectionnez votre emplacement.
Par exemple, si vous sélectionnez Europe, vous verrez une liste de pools comme indiqué dans la capture d'écran ci-dessous.
Dans le fichier de configuration, supprimez la liste de pools par défaut et insérez la liste de pools que vous avez copiée depuis support.ntp.org site Internet. Dans notre système, nous avons ajouté les pools pour la région Europe.
Une fois que vous avez terminé, appuyez sur Ctrl+x . Maintenant, vous serez invité à enregistrer les modifications, appuyez sur y .
Étape 3 :Redémarrez le service NTP
Après avoir apporté les modifications à /etc/ntp.conf fichier, redémarrez le service NTP à l'aide de la commande suivante :
$ sudo service ntp restart
Étape 4 :Autoriser NTP dans le pare-feu
Si un pare-feu s'exécute sur l'hôte NTP, vous devrez ajouter une règle autorisant NTP à le traverser. Exécutez la commande suivante dans Terminal pour ajouter une règle au pare-feu :
$ sudo ufw allow ntp
Pour vérifier si la règle a été ajoutée avec succès, tapez la commande suivante dans Terminal et appuyez sur Entrée :
$ sudo ufw status
Maintenant, le serveur NTP a été configuré sur la machine hôte. Passons maintenant à la configuration du client NTP.
Synchroniser l'horloge de la machine cliente NTP avec le serveur NTP
Nous allons maintenant configurer la machine cliente NTP pour synchroniser l'horloge avec le serveur NTP.
Étape 1 :Installez ntpdate sur la machine cliente
La commande Ntpdate est utilisée pour une synchronisation unique avec le serveur NTP. Ouvrez le terminal sur la machine cliente et lancez la commande suivante pour installer ntpdate :
$ sudo apt install ntpdate
Entrez ensuite le mot de passe sudo.
Lorsque vous êtes invité à confirmer, saisissez y , après quoi le système lancera l'installation de ntpdate.
Étape 2 :Synchronisez manuellement le client NTP avec le serveur NTP à l'aide de ntpdate
Dans cette étape, nous synchroniserons manuellement le client NTP avec le serveur NTP pour vérifier si l'heure est exacte et si la différence n'est pas supérieure à 1024 secondes. Pour ce faire, lancez la commande suivante dans Terminal en remplaçant
$ sudo ntpdate <server-IP>
DANS notre cas, l'adresse IP du serveur NTP est 192.168.72.157 , donc la commande serait :
$ sudo ntpdate 192.168.72.157
À partir de la sortie ci-dessus, vous pouvez voir que la différence de temps n'est que de 0,008231 seconde.
Étape 3 :Désactiver le service systemd timesyncd
Désactivez le service timesyncd du système car nous allons synchroniser notre heure système avec le serveur NTP. Exécutez la commande suivante pour ce faire :
$ sudo timedatectl set-ntp off
Étape 4 :Installez NTP sur l'ordinateur client
Comme vous l'avez vu, la sortie de la commande ntpdate indiquant que le décalage horaire est très inférieur, nous pouvons donc maintenant configurer ntp.conf sur la machine cliente pour le synchroniser automatiquement avec le serveur NTP.
Tout d'abord, vous devrez installer NTP sur la machine cliente. Saisissez la commande suivante dans le Terminal :
$ sudo apt install ntp
Lorsque vous êtes invité à confirmer, saisissez y , après quoi le système lancera l'installation de NTP. Une fois terminé, vous pouvez configurer NTP comme décrit à l'étape suivante.
Étape 5 :Configurez ntp.conf sur la machine cliente pour le synchroniser automatiquement avec le serveur NTP
Dans cette étape, nous allons configurer le npt.conf pour synchroniser automatiquement la machine cliente avec le serveur NTP.
Sur la machine cliente, éditez le fichier ntp.conf comme suit :
$ sudo nano /etc/ntp.conf
Ajoutez la ligne ci-dessous dans le fichier de configuration en remplaçant le
server <NTP-server-hostname> prefer iburst
Une fois que vous avez terminé, appuyez sur Ctrl+x . Maintenant, vous serez invité à enregistrer les modifications, appuyez sur y .
Après avoir modifié le fichier /etc/ntp.conf fichier, redémarrez le service NTP à l'aide de la commande suivante :
$ sudo service ntp restart
La machine cliente est maintenant connectée au système hôte pour la synchronisation de l'heure.
Afficher l'état de la synchronisation NTP
Pour afficher l'état actuel de la synchronisation NTP, exécutez la commande suivante dans Terminal :
$ ntpq -p
Dans la sortie, vous pouvez voir "ubuntu" comme serveur de temps connecté avec d'autres informations.
C'est tout ce qu'il y a à faire ! Dans cet article, vous avez appris à configurer le serveur NTP sur la machine Ubuntu, puis à synchroniser une horloge de la machine cliente NTP. Vous pouvez désormais configurer facilement le serveur NTP et y connecter plusieurs machines clientes pour la synchronisation de l'heure.