====== NTP / date ====== ===== Généralités ===== Network Time Protocol (NTP, protocole horaire en réseau), est un protocole permettant de synchroniser les horloges des systèmes informatiques à travers un réseau de paquets, dont la latence est variable. ===== Hardware Clock ===== hwclock -c hwclock --systohc hwclock --hctosys ===== Time zone ===== La commande ''tzselect'' permet de trouver le time zone mais timedatectl permet de tout gérer. timedatectl timedatectl status timedatectl list-timezones timedatectl set-timezone Europe/Amsterdam timedatectl show timedatectl set-ntp true ==== Sous Red Hat 5 et 6 ==== Changer le fuseau horaire de l'OS. /etc/sysconfig/clock Configuration GMT sans changement d'heure. ZONE="Etc/GMT" ou ZONE="Europe/Paris" UTC=false ARC=false Configuration UTC avec changement d'heure. ZONE="Europe/Paris" UTC=true ARC=false Le fichier réellement utilisé est ''/etc/localtime''. C'est une copie d'un des fichiers de timezone dans l'espace suivant. /usr/share/zoneinfo/ Pour passer une machine en GMT ou en UTC. ln -sf /usr/share/zoneinfo/Etc/GMT /etc/localtime ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime date Pour passer une machine en UTC+1. ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime date Ne nécessite pas de redémarrer l'OS. ==== Sous Debian ==== Pour passer une machine en GMT. cp /usr/share/zoneinfo/Etc/GMT /etc/localtime date On peut utiliser la commande suivante. dpkg-reconfigure tzdata Sélectionner le bon timezone dans la liste et valider. ===== chrony ===== * Comparaison chrony/ntpd : https://chrony.tuxfamily.org/comparison.html apt install chrony /etc/chrony/chrony.conf # Welcome to the chrony configuration file. See chrony.conf(5) for more # information about usuable directives. pool 1.debian.pool.ntp.org iburst pool 2.debian.pool.ntp.org iburst # This directive specify the location of the file containing ID/key pairs for # NTP authentication. keyfile /etc/chrony/chrony.keys # This directive specify the file into which chronyd will store the rate # information. driftfile /var/lib/chrony/chrony.drift # Uncomment the following line to turn logging on. #log tracking measurements statistics # Log files location. logdir /var/log/chrony # Stop bad estimates upsetting machine clock. maxupdateskew 100.0 # This directive tells 'chronyd' to parse the 'adjtime' file to find out if the # real-time clock keeps local time or UTC. It overrides the 'rtconutc' directive. hwclockfile /etc/adjtime # This directive enables kernel synchronisation (every 11 minutes) of the # real-time clock. Note that it can’t be used along with the 'rtcfile' directive. rtcsync # Step the system clock instead of slewing it if the adjustment is larger than # one second, but only in the first three clock updates. makestep 1 3 systemctl restart chrony chronyc sources -v ===== ntpd ===== ^ Emplacement ^ Fonction ^ | /etc/ntp.conf | Fichier de configuration général avec la liste des serveurs NTP, les restrictions... | | /etc/ntp/step-tickers | Fichier avec la liste des serveurs NTP. | | /etc/ntp/ntpservers | Fichier avec la liste des serveurs NTP. | | /etc/ntp/keys | Fichier des clés. | ===== Configuration spécifique ===== En partant du principe qu'on dispose de deux serveurs NTP au sein de notre structure avec les adresses suivantes. * Serveur NTP 1 : 172.20.15.1 * Serveur NTP 2 : 172.20.15.2 ==== Édition de /etc/ntp.conf ==== # Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default ignore # Permit all access over the loopback interface. This could # be tightened as well, but to do so would effect some of # the administrative functions. restrict 127.0.0.1 # -- CLIENT NETWORK ------- # Permit systems on this network to synchronize with this # time service. Do not permit those systems to modify the # configuration of this service. Also, do not use those # systems as peers for synchronization. # restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 172.20.15.1 mask 255.255.255.255 restrict 172.20.15.2 mask 255.255.255.255 # --- OUR TIMESERVERS ----- server 172.20.15.1 server 172.20.15.2 # --- NTP MULTICASTCLIENT --- #multicastclient # listen on default 224.0.1.1 # restrict 224.0.1.1 mask 255.255.255.255 nomodify notrap # restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # --- GENERAL CONFIGURATION --- # # Undisciplined Local Clock. This is a fake driver intended for backup # and when no outside source of synchronized time is available. The # default stratum is usually 3, but in this case we elect to use stratum # 0. Since the server line does not have the prefer keyword, this driver # is never used for synchronization, unless no other other # synchronization source is available. In case the local host is # controlled by some external source, such as an external oscillator or # another protocol, the prefer keyword would cause the local host to # disregard all other synchronization sources, unless the kernel # modifications are in use and declare an unsynchronized condition. # #server 127.127.1.0 #fudge 127.127.1.0 stratum 10 # # Drift file. Put this in a directory which the daemon can write to. # No symbolic links allowed, either, since the daemon updates the file # by creating a temporary in the same directory and then rename()'ing # it to the file. # driftfile /var/lib/ntp/drift broadcastdelay 0.008 # # Keys file. If you want to diddle your server at run time, make a # keys file (mode 600 for sure) and define the key number to be # used for making requests. # # PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote # systems might be able to reset your clock at will. Note also that # ntpd is started with a -A flag, disabling authentication, that # will have to be removed as well. # #keys /etc/ntp/keys ==== ntpd.conf basique === tinker panic 0 restrict default nomodify notrap noquery restrict 127.0.0.1 driftfile /var/lib/ntp/drift broadcastdelay 0.008 keys /etc/ntp/keys server . burst iburst ==== Édition de /etc/ntp/step-tickers ==== Liste des sources de temps utilisées dès l'initialisation. 172.20.15.1 172.20.15.2 ==== Édition de /etc/ntp/ntpservers ==== 172.20.15.1 172.20.15.1 clock.redhat.com clock2.redhat.com Par souci de sécurité, je rajoute des serveurs ntp membre du pool.ntp.org (http://www.pool.ntp.org/) au cas où nos deux serveurs soient en panne! La différence entre le fichier ''ntpservers'' et ''step-tickers'' est que le dernier est lu au démarrage du service ntpd lancé au démarrage et permet donc la vérification et la correction directe d'un éventuel écart d'horaire. ==== Édition de /etc/ntp/keys ==== # # PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote # systems might be able to reset your clock at will. Note also that # ntpd is started with a -A flag, disabling authentication, that # will have to be removed as well. # #65535 M akey #1 M pass Ce détail de configuration spécifique a été appliqué à tous les serveurs physique et ceux en environnement virtualisé. Il est basé sur la configuration qui a été faîtes sur les serveurs physiques. Ils sont donc tous configurés de la même manière. Pour vérifier si tout fonctionne correctement taper la commande. ntptrace mon_serveur_ntp Cela doit sortir des informations sur le serveur NTP. Maintenant que tout fonctionne, il faut synchroniser le client avec le serveur. Cela se fait avec la commande. ntpdate mon_serveur_ntp ntpdate -d mon_serveur_ntp