1 Introduction
Le serveur NTP est un serveur de temps. Il permet donner l'heure par rapport à l'horloge atomique.
2 Installation
2.1 Debian
Super rapide :
apt-get
|
apt-get install ntp
|
2.2 Solaris
Sur Solaris, c'est normalement installé de base sinon faites une recherche sur les packages *ntpd.
Il va parcontre falloir copier le fichier serveur :
cp
|
cp /etc/inet/ntp.server /etc/inet/ntp.conf
|
3 Configuration
Voici quelques informations avant de rentrer dans les fichiers de configuration :
- stratum : indique que c'est une donnée pas très sûr
- 127.127.1.0 : heure donnée par la machine (bios)
- peer : définit un serveur de même strate que serveur (même niveau/même endroit gégraphique), ce qui permet d'être plus fiable. Donc utiliser 1e server + des peer, c'est avoir une configuration plus fine que d'avoir uniquement des serveurs geographiquement distant.
3.1 Debian
Voici le fichier de configuration "/etc/ntp.conf" pour un serveur de temps :
/etc/inet/ntp.conf
|
# /etc/ntp.conf, configuration for ntpd
# ntpd will use syslog() if logfile is not defined
logfile /var/log/ntpd
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# Servers to use to update
server 0.fr.pool.ntp.org prefer
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
# ... and use the local system clock as a reference if all else fails
server 127.127.1.0
# fudge 127.127.1.0 stratum 13
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
# Allow local network to synchronize to this server
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
broadcastdelay 0.008
|
Une fois la configuration effectuée et le service redémarrer il faut attendre quelques minutes pour que le serveur ai pu se synchroniser.
3.2 Solaris
Voici le fichier de configuration /etc/inet/ntp.conf sur Solaris :
/etc/inet/ntp.conf
|
#
# Copyright 1996-2003 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# /etc/inet/ntp.server
#
# An example file that could be copied over to /etc/inet/ntp.conf and
# edited; it provides a configuration template for a server that
# listens to an external hardware clock, synchronizes the local clock,
# and announces itself on the NTP multicast net.
#
# This is the external clock device. The following devices are
# recognized by xntpd 3-5.93e:
#
# XType Device RefID Description
# -------------------------------------------------------
# 1 local LCL Undisciplined Local Clock
# 2 trak GPS TRAK 8820 GPS Receiver
# 3 pst WWV PSTI/Traconex WWV/WWVH Receiver
# 4 wwvb WWVB Spectracom WWVB Receiver
# 5 true TRUE TrueTime GPS/GOES Receivers
# 6 irig IRIG IRIG Audio Decoder
# 7 chu CHU Scratchbuilt CHU Receiver
# 8 parse ---- Generic Reference Clock Driver
# 9 mx4200 GPS Magnavox MX4200 GPS Receiver
# 10 as2201 GPS Austron 2201A GPS Receiver
# 11 arbiter GPS Arbiter 1088A/B GPS Receiver
# 12 tpro IRIG KSI/Odetics TPRO/S IRIG Interface
# 13 leitch ATOM Leitch CSD 5300 Master Clock Controller
# 15 * * TrueTime GPS/TM-TMD Receiver
# 17 datum DATM Datum Precision Time System
# 18 acts ACTS NIST Automated Computer Time Service
# 19 heath WWV Heath WWV/WWVH Receiver
# 20 nmea GPS Generic NMEA GPS Receiver
# 22 atom PPS PPS Clock Discipline
# 23 ptb TPTB PTB Automated Computer Time Service
# 24 usno USNO USNO Modem Time Service
# 25 * * TrueTime generic receivers
# 26 hpgps GPS Hewlett Packard 58503A GPS Receiver
# 27 arc MSFa Arcron MSF Receiver
#
# * All TrueTime receivers are now supported by one driver, type 5.
# Types 15 and 25 will be retained only for a limited time and may
# be reassigned in future.
#
# Some of the devices benefit from "fudge" factors. See the xntpd
# documentation.
# Either a peer or server. Replace "XType" with a value from the
# table above.
# Servers to use to update
server 0.fr.pool.ntp.org prefer
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
# fudge 127.127.XType.0 stratum 0
broadcast 224.0.1.1 ttl 4
enable auth monitor
driftfile /var/ntp/ntp.drift
statsdir /var/ntp/ntpstats/
filegen peerstats file peerstats type day enable
filegen loopstats file loopstats type day enable
filegen clockstats file clockstats type day enable
keys /etc/inet/ntp.keys
trustedkey 0
requestkey 0
controlkey 0
|
On créer un fichier drift comme indiqué dans la conf :
touch
|
touch /etc/inet/ntp.drift
|
Puis on active le service :
svcadm
|
svcadm enable svc:/network/ntp:default
|
4 Clients NTP
4.1 Linux
Pour synchroniser une machine de type Unix/Linux il existe cette commande :
ntpdate
|
ntpdate monserveur_de_temps
|
4.2 Solaris
C'est assez simple sous Solaris :
|
cp /etc/inet/ntp.client /etc/inet/ntp.conf
svcadm enable svc:/network/ntp:default
|
4.3 Windows
Depuis une machine Windows :
net
|
net time /setsntp:monserveur_de_temps
net time /querysntp
net stop w32time && net start w32time
|
5 FAQ
Sous debian, il existe la commande tzconfig ! C'est très pratique :
tzconfig
|
tzconfig
|
Si malgré celà, ça ne fonctionne toujours pas, essayez :
dpkg-reconfigure
|
dpkg-reconfigure tzdata
|
5.2 no server suitable for synchronization found
Si vous avez cette erreur, c'est qu'il peut y avoir 2 raisons :
- Votre serveur NTP doit se synchroniser avant de pouvoir donner l'heure à d'autres serveurs. Cela peut prendre parfois un peu de temps (~30 min).
- Un des serveurs de votre liste n'est pas joignable, ce qui rends indisponible pour les mise à jour votre serveurs. Commentez le temporairement.
Une fois que cette ligne apparaît dans les logs ("clock is now synced"), c'est que tout est OK :
May 24 16:48:05 chronos ntpd[14262]: ntp engine ready
May 24 16:48:24 chronos ntpd[14262]: peer 91.121.45.45 now valid
May 24 16:48:24 chronos ntpd[14262]: peer 81.93.183.116 now valid
May 24 16:48:27 chronos ntpd[14262]: peer 94.23.220.143 now valid
May 24 17:27:13 chronos ntpd[14262]: clock is now synced