Indication

Cette documentation est valable pour Samba-AD à partir de la version 4.8.

Installer et configurer Samba-AD RODC sur Debian

Attention

Pour le support RODC, il est recommandé d’utiliser une version récente de Samba. Le support RODC est globalement fonctionnel et sa solidité continue de progresser !

Installer le système d’exploitation

Installez une machine Debian de base avec seulement ssh activé.

Vous pouvez suivre cette documentation d’installation pour Debian 64 bits.

Préparer le RODC

Dans la documentation suivante, on suppose :

  • Que le serveur RWDC existant s’appelle srvads et que le niveau de la forêt et du domaine est en 2008R2. Pour cela vous pouvez lancer la commande suivante sur le RWDC :

    samba-tool domain level show
    
  • Que le nouveau serveur que vous venez d’installer s’appelle srvrodc.

  • Que votre domaine s’appelle mydomain.lan.

  • Qu’un utilisateur de test s’appelle myuser.

Dans les instructions décrites ci-dessous, vous remplacerez mydomain.lan avec votre propre nom de domaine et srvrodc avec le nom de machine de votre choix.

Récupérer les paquets nécessaires

Les DEB de Tranquil IT sont actuellement validés pour Debian 11 & 12.

Les paquets de la dernière version validés par l’équipe d’ingénieurs Tranquil IT peuvent être téléchargés depuis l’url https://samba.tranquil.it/debian/samba-4.20/.

Quand il faudra migrer vers la version suivante de Samba, il suffira de changer l’url du dépôt comme par exemple https://samba.tranquil.it/debian/samba-4.20/.

Pour plus de confort, vous pouvez définir un dépôt apt et rajouter notre clé publique GPG :

wget -qO-  https://samba.tranquil.it/tissamba-pubkey.gpg | tee /usr/share/keyrings/tissamba.gpg > /dev/null
sha256sum /usr/share/keyrings/tissamba.gpg
  bd0f7140edd098031fcb36106b24a6837b067f1c847f72cf262fa012f14ce2dd  /usr/share/keyrings/tissamba.gpg
echo "deb [signed-by=/usr/share/keyrings/tissamba.gpg] https://samba.tranquil.it/debian/samba-4.20/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/tissamba.list

Installer les paquets

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install samba winbind libnss-winbind krb5-user smbclient ldb-tools python3-cryptography
unset DEBIAN_FRONTEND

Configurer soigneusement les paramètres réseau

  • Changez /etc/hostname pour contenir le FQDN :

    srvrodc.mydomain.lan
    
  • Modifier le fichier /etc/hosts pour qu’il contienne la résolution DNS du FQDN de la machine sur son IP, avec le nom long puis le nom court :

    127.0.0.1      localhost
    192.168.3.11   srvrodc.mydomain.lan srvrodc
    

Configurer le DNS

Dans le fichier /etc/resolv.conf, renseignez soigneusement l’adresse IP de votre serveur DNS (Domain Name Service).

search mydomain.lan
nameserver 192.168.1.11

Configurer le Kerberos

  • Ouvrir /etc/krb5.conf, supprimer son contenu et rajouter :

    [libdefaults]
      default_realm = MYDOMAIN.LAN
      dns_lookup_kdc = false
      dns_lookup_realm=false
    [realms]
      MYDOMAIN.LAN = {
      kdc = 127.0.0.1
      kdc = 192.168.1.12
      }
    

    Attention

    Il faut respecter les majuscules et remplacer les 2 IP par :

    • l’IP de votre nouveau serveur AD en premier, on peut utiliser localhost 127.0.0.1.

    • l’IP du serveur AD existant en deuxième (ex· 192.168.1.12).

  • Redémarrer la machine :

    reboot
    
  • Après redémarrage, tester que le kerberos est bien configuré et que vous obtenez bien un TGT :

    Attention

    L’administrateur par défaut est administrator en anglais (taper le mot de passe du compte administrator, si ça ne renvoie rien ou que vous obtenez un message concernant l’expiration du mot de passe, c’est que c’est bon).

    kinit administrator
    klist
    

Mettre en place le service RODC

  • Joindre la machine au domaine :

    samba-tool domain join mydomain.lan RODC -U MYDOMAIN\\Administrator
    
  • Dans le fichier /usr/local/samba/etc/smb.conf, rajouter le forwarder DNS :

    dns forwarder = 8.8.8.8
    
  • Lancer le service Samba avec /usr/local/samba/sbin/samba :

/usr/local/samba/sbin/samba
  • Modifier /etc/resolv.conf pour qu’il pointe sur lui-même :

    search mydomain.lan
    nameserver 127.0.0.1
    

Tester la réplication des mots de passe utilisateur sur le serveur RODC

  • Sur srvads, ajouter un utilisateur en tant que membre du groupe Allowed RODC Password Replication Group ;

  • Sur srvrodc :

    samba-tool rodc preload myuser --server=srvads.mydomain.lan
    
  • Si tout c’est bien passé :

Replicating DN CN=myuser,CN=Users,DC=mondomaine,DC=lan
Exop on[CN=myuser,CN=Users,DC=mondomaine,DC=lan] objects[1] linked_values[0]