Add new comment

Debian 8 Jessie : Mettre à jour automatiquement l'heure de votre serveur

Avoir un serveur à la bonne heure et synchronisé avec les autres serveurs Internet est très important.
Cela permet d'avoir une référence de temps commune à tout le monde.

Imaginez que vous devez analyser les erreurs dans les fichiers de log de plusieurs serveurs et qu'ils ont un décalage de serait-ce que de quelques minutes... Difficile de suivre les actions d'un serveur à un autre dans ce cas angry

On utilise pour cela le protocole NTP (Network Time Protocol) qui permet à un ordinateur de synchroniser son horloge sur d'autres ordinateurs de référence via internet.
Si vous souhaitez en savoir plus sur le protocole NTP, je vous invite à lire le très bon article en Français sur Wikipedia.

 

Installation du paquet NTP

On commence par installer le paquet ntp qui contient tout le nécessaire.

sudo apt-get install ntp

On démarre le service puis on vérifie son statut : il doit être à Active: active (running)

sudo systemctl start ntp
sudo systemctl status ntp

Vous pouvez également d'utiliser la commande ntpq -p pour afficher les informations de synchronisation (notamment les serveurs qui vous servent de référence de temps).

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
-x.ns.gin.ntt.ne 140.203.204.77   2 u    4   64   77    4.074    1.312   0.864
+87.229.205.75   87.118.124.35    3 u   60   64   77   50.473   -0.657   0.848
+static.5-9-80-1 213.239.239.165  3 u   31   64   77   18.395   -0.647   0.714
*www.mindstudios 145.238.203.14   2 u   29   64  177    5.038   -1.834   0.907

 

Configuration

Le fichier de configuration de ntp se trouve dans /etc/ntp.conf

sudo nano /etc/ntp.conf

Si comme moi, votre serveur est hébergé en France smiley, vous pouvez spécifier des serveurs ntp plus proches de vous et situés en France également.
Pour cela, remplacer les 4 entrées server du fichier /etc/ntp.conf par celles ci-dessous :

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

ntp utilise plusieurs serveurs pour se mettre à l'heure, cela augmente sa précision et en cas d'indisponibilité sur un des serveurs de référence, les autres sont toujours là…

Vous remarquerez l'option iburst spécifiés après le nom du serveur, en cas d'indisponibilité du serveur, ntp essaiera plusieurs fois avant d’abandonner

Reste à redémarrer le service ntp pour activer nos modifications

sudo systemctl restart ntp

 

Désactiver NTP en IPV6

Par défaut, ntp écoute en IP V4 et en IP V6.
Pour simplifier mes règles iptables, j'utilise uniquement IP V4 pour le moment.

Ouvrir le fichier /etc/default/ntp 

sudo nano /etc/default/ntp

Et ajouter l'option -4 comme ci-dessous pour forcer ntp à fonctionner en IP V4 uniquement

NTPD_OPTS='-4 -g'

De retour dans la configuration de base de ntp

sudo nano /etc/ntp.conf

Vous pouvez commenter les 2 lignes suivantes qui ne seront plus utilisées

...
#restrict -6 default kod notrap nomodify nopeer noquery
...
#restrict ::1
...

Reste à redémarrer le service ntp pour activer nos modifications

sudo systemctl restart ntp

En affichant le status du service ntp

sudo systemctl status ntp

Vous constatez qu'il écoute uniquement en IP V4.

  ntp.service - LSB: Start NTP daemon
   Loaded: loaded (/etc/init.d/ntp)
   Active: active (running) since Sat 2016-02-27 16:39:21 CET; 5min ago
  Process: 16679 ExecStop=/etc/init.d/ntp stop (code=exited, status=0/SUCCESS)
  Process: 16687 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/ntp.service
           ââ16695 /usr/sbin/ntpd -p /var/run/ntpd.pid -4 -g -u 106:111

Feb 27 16:39:21 vps000000.ovh.net ntpd[16694]: ntpd 4.2.6p5@1.2349-o Wed Oct 28 20:16:08 UTC 2015 (1)
Feb 27 16:39:21 vps000000.ovh.net ntp[16687]: Starting NTP server: ntpd.
Feb 27 16:39:21 vps000000.ovh.net ntpd[16695]: proto: precision = 0.130 usec
Feb 27 16:39:21 vps000000.ovh.net ntpd[16695]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
Feb 27 16:39:21 vps000000.ovh.net ntpd[16695]: Listen normally on 1 lo 127.0.0.1 UDP 123
Feb 27 16:39:21 vps000000.ovh.net ntpd[16695]: Listen normally on 2 eth0 51.255.255.255 UDP 123
Feb 27 16:39:21 vps000000.ovh.net ntpd[16695]: peers refreshed
Feb 27 16:39:21 vps000000.ovh.net ntpd[16695]: Listening on routing socket on fd #19 for interface updates

 

You must have Javascript enabled to use this form.