NTP

Théorie

ntpd

Configurations

Insane time

Démarrer le service

Serveur NTP

Pour démarrer un serveur NTP et le rendre accessible à d’autre:

  1. Vérifier dans ntd.conf que l’option noquery est bien sur les lignes restrict

     restrict -4 default kod notrap nomodify nopeer noquery limited
     restrict -6 default kod notrap nomodify nopeer noquery limited
    

    Ça empêchera les requêtes de gestion: si vous ne le faites pas, votre serveur pourrait être utilisé dans des attaques de reflection NTP, ou être vulnérable aux requêtes ntpq et ntpdc qui tentent de modifier l’état du serveur.

  2. Autoriser le trafic UDP sur le port 123 pour autoriser les communications NTP.

     $ sudo ufw allow 123/udp
    
  3. Effectuer une synchronisation manuelle avec les serveurs NTP sources et le votre avec la commande ntpdate:

     $ sudo ntpdate pool.ntp.org
    
  4. Redémarrer NTP

     $ sudo service ntp restart
    

    Après quelques minutes, vérifier l’état du serveur et des pools

     $ ntpstat
     $ ntpq -p
    
  5. Activer NTP au démarrage

     sudo systemctl enable ntpd
    
  6. Une fois installé, le serveur NTP peut être utilisé pour synchroniser le temps d’autres machines:

     $ ntpdate -q IP_ADDRESS
     server IP_ADDRESS, stratum 2, offset 0.001172, delay 0.16428
      2 Mar 23:06:44 ntpdate[18427]: adjust time server IP_ADDRESS offset 0.001172 sec
    

    Le résultat indique le temps de la synchronisation et la latence.

    How to Configure NTP for Use in the NTP Pool Project on Ubuntu 16.04


timesyncd


chrony

  1. Comme ntpd, chrony utilise un fichier de configuration pour définir les pools à utiliser.
    Suivant la distribution, ce peut être /etc/chrony.conf ou /etc/chrony/chrony.conf

    Un paramètre de chrony différent de celui de ntpd est maxsources, qui détermine le nombre de serveurs pouvant être sélectionnés dans un pool donné. Dans l’exemple suivant, si chrony a essayé 4 serveurs différents dans le 1er pool sans succès, alors il passe au pool suivant.

    Un autre paramètre intéressant est rtcsync: lorsqu’activé (si la ligne n’est pas commentée), alors chrony va également mettre à jour l’horloge matérielle — aussi appelé l’horloge RTC.

  2. Démarrer ou redémarrer le daemon chrony

    L’activer pour que le daemon démarre au boot

  3. Vérifier le statut de la synchronisation

    Et le statut des pools.