Skip to main content

[Debian] Serveur NTP

Introduction

Il peut être utile d'installer un serveur de temps sur un réseau lorsque vous faites des opérations qui nécessitent que les horloges de vos différents systèmes soient synchronisées.

Installation serveur

Commencez par installer le paquet ntp sur le serveur :

apt update && apt install -y ntp

Puis passez à la configuration de votre serveur en éditant le fichier /etc/ntpsec/ntp.conf.

Commencez par commenter (avec le #) les pools de Debian définis par défaut :

#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst

Vous pouvez configurer un serveur de temps de strate supérieur (qui servira de référence) en ajoutant cette ligne :

server <NTP_SERVER>

Dans notre cas, nous utiliserons un serveur de temps public qui est 0.fr.pool.ntp.org :

server 0.fr.pool.ntp.org

On peut ensuite configurer les restrictions qui permettent de définir qui aura le droit d'utiliser notre serveur de temps.

Dans notre cas, ce sera l'ensemble du réseau local 192.168.5.0/24 :

restrict 0.fr.pool.ntp.org
restrict 192.168.5.0 netmask 255.255.255.0
restrict default none

Puis il faut en dernier lieu utiliser fudge afin de rafraîchir automatiquement l'horloge et définir le niveau de strate :

fudge 127.127.0.1 9

On peut ensuite redémarrer et activer le serveur de temps pour prendre en compte notre configuration :

systemctl enable --now ntp

Configuration client

Debian

Installez les paquets ntp et ntpdate :

apt update && apt install -y ntp ntpdate

Puis configurez le serveur à utiliser en éditant le fichier /etc/ntpsec/ntp.conf :

server <IP|FQDN>

 

On peut ensuite définir la fréquence de rafraîchissement de la récupération du temps sur le serveur :

minpoll <VALUE>
maxpoll <VALUE>

La valeur doit être égale à la racine carré du nombre de seconde que vous souhaitez (ex: pour un rafraîchissement toutes les 16 secondes la valeur sera égale à 4 car 2^4 = 16).

On peut ensuite redémarrer le service ntp et interroger le serveur avec ntpdate :

systemctl restart ntp
ntpdate <IP|FQDN>