Installer et configurer NTP Chrony pour Samba-AD sur RedHat et dérivées

Indication

Active Directory est basé sur le protocole Kerberos qui nécessite une quasi parfaite synchronisation des horloges entre les stations de travail membres du domaine et le contrôleur de domaine Samba-AD. NTP sert à assurer la synchronisation entre les horloges des différents appareils du réseau.

  • Installer les paquets Chrony NTP et choisir un serveur de temps sur Internet (sur une installation CentOS7 standard, Chrony est déjà installé, il remplace le démon ntpd historique) :

    yum install chrony
    systemctl enable chrony
    systemctl stop chronyd
    chronyd -q 'server pool.ntp.org iburst'
    systemctl start chronyd
    

    Avertissement

    The ntpdate and sntp utilities, which are included in the ntp distribution, can be replaced with chronyd using the -q option or the -t option.

  • Rajouter les lignes suivantes à /etc/chrony.conf pour gérer le NTP signé utilisé par les postes Windows pour qu’ils synchronisent automatiquement leurs horloges avec le serveur AD :

    allow 0.0.0.0/0
    ntpsigndsocket  /var/lib/samba/ntp_signd
    
  • Change the owner of the directory containing the samba socket used to authenticate the NTP service (directory exists if Samba service has been started once):

    chown root:chrony /var/lib/samba/ntp_signd/
    chmod 750 /var/lib/samba/ntp_signd/
    
  • Relancer Chrony :

    systemctl restart chronyd
    

Forcer une resynchronisation sur un poste Windows

Lancer la commande suivante dans un shell avec les droits admins qui demande au serveur ntp client local windows de faire une synchro. Si tout se passe bien, la commande renvoie La commande s’est terminée correctement). Note : il faut laisser un peu de temps à un serveur NTP avant de lui demander son temps, sinon, il se déclare comme n’étant pas une source fiable.

w32tm /resync /nowait

En cas de problème

Le service s’appelle w32time alors que l’outil de management s’appelle w32tm. Il se peut que l’on ait aussi besoin de la commande net time.

Reconfigurer des postes windows pour qu’ils utilisent l’AD pour le NTP.

  • Sur le poste windows, lancer les instructions suivantes :

    w32tm /config /syncfromflags:domhier
    w32tm /config /update
    w32tm /resync /nowait
    

Débuguer le client NTP sur Windows

  • Pour débugger le client, on peut définir les clefs de registre suivantes : (http://support.microsoft.com/kb/816043/en-us) :

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config]
    "FileLogSize"=dword:01000000
    "FileLogName"="c:\\w32time_debug.txt"
    "FileLogEntries"="0-300"
    

Les deux modes de fonctionnement du client NTP windows

  • Fonctionnement en mode client ADS, mode Nt5DS. C’est dans ce mode là que l’on doit être avec un domaine Samba4 :

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
    ...
    "Type"="Nt5DS"
    
  • Fonctionnement en mode NTP nommé. Pour basculer dans ce mode là, taper net time /setsntp:srvads.mondomain.lan :

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
    ...
    "Type"="NTP"
    "ntpserver"="srvads.tranquilit.lan"
    
  • Vérifier que le client NTP pointe vers le bon serveur. Dans le cas où le dhcp donne un ntp qui n’est pas le contrôleur de domaine, ça peut aussi poser problème. Pour vérifier cela, on peut utiliser la commande

    w32tm /monitor
    

Le service NTP semble ne pas prendre en compte votre configuration ntp.conf

  • Vérifier qu’il n’y a pas un fichier /var/lib/ntp/ntp.conf.dhcp, et le supprimer le cas échéant. Le fichier avait été créé par le client dhcp dhclient avant que le serveur n’avait basculé en IP fixe.

    rm -f /var/lib/ntp/ntp.conf.dhcp
    

Maintenant, nous allons pouvoir installer Samba en mode Active Directory. Ca avance, c’est bien !!