Aller à : navigation, rechercher

SAMBA - Installation samba4 comme DC secondaire

Samba intégre une ré-implémentation très stable de Microsoft Active Directory reproduit la fonctionnalité de contrôleur de domaine. Il peut être géré soit en ligne de commande soit avec les outils de la console Microsoft MMC comme pour un MSAD.

Création de l'active directory samba4

Dans les instructions décrites ci-dessous, vous remplacerez "mondomain.lan" avec votre propre nom de domaine.

Sur une base debian Stretch, préparer une configuration réseau propre

Modifier le fichier /etc/hostname pour qu'il contienne le nom FQDN (nom + suffixe DNS du réseau local) de la machine

srvads2.mondomaine.lan

Modifier le fichier /etc/hosts pour qu'il contienne la résolution DNS du FQDN de la machine sur son ip (ie pas 127.0.0.1), avec le nom long puis le nom court

127.0.0.1      localhost
192.168.1.12   srvads2.mondomaine.lan      srvads2

Rebooter la machine pour prendre en compte ce nouveau nom de machine (un hostname -F /etc/hostname n'a pas l'air de suffire pour le script samba qui récupère toujours l'ancien nom...)

reboot

Installer samba

  • Dans cette documentation nous allons utiliser les paquets DEB Samba Tranquil IT Systems, vous trouverez sur ce lien comment installer samba en dernière version sous Centos, ou comment compiler Samba.


!! Nos paquets samba ne sont actuellement pas signés, il y aura donc une alerte lors de l'installation. !!

Ils sont actuellement validés uniquement pour Debian 9 Stretch 64 Bits

wget -O - http://samba.tranquil.it/tissamba-pubkey.gpg  | apt-key add -
echo "deb http://samba.tranquil.it/debian/samba-4.7/ stretch main" > /etc/apt/sources.list.d/tissamba.list
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install samba winbind libnss-winbind krb5-user
unset DEBIAN_FRONTEND

Arrêter les process smbd, nmbd et winbind qui ont été démarré automatiquement par les paquets Debian

systemctl stop smbd winbind nmbd
pkill -9 smbd 
pkill -9 winbindd
pkill -9 nmbd

Jonction au domaine

Configurer le DNS pour pointer sur un Contrôleur de domaine Windows ou Samba dans le fichier /etc/resolv.conf.

search mondomain.lan
nameserver 192.168.1.11

Configuration kerberos locale, modification du fichier /etc/krb5.conf, supprimer tout ce qu'il y a dedans et rajouter

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

  1. l'IP de votre premier contrôleur de domaine
  2. l'IP local du serveur
[libdefaults]
    default_realm = MONDOMAINE.LAN
    dns_lookup_kdc = false
    dns_lookup_realm=false
[realms]
    MONDOMAINE.LAN = {
    kdc = 192.168.1.11   
    kdc = 192.168.1.12   
    }

[domain_realms]
    .mondomaine.lan = MONDOMAINE.LAN
    mondomaine.lan = MONDOMAINE.LAN


Tester que le kerberos est bien configuré (taper le mdp, si ça ne renvoie rien, c'est que ça marche)

kinit administrator 

Supprimer le fichier de configuration /etc/samba/smb.conf qui a été généré automatiquement lors de l'installation des paquets

rm -f /etc/samba/smb.conf

Passage du samba4 en Contrôleur Active Directory membre du Domaine

samba-tool domain join mondomaine.lan DC -U administrator --realm=MONDOMAINE.LAN -W MONDOMAINE

Remodification du DNS pour pointer sur lui même, modification du fichier /etc/resolv.conf

nameserver 127.0.0.1

Rajouter un DNS forwarder au fichier smb.conf

[global]
   ...
   dns forwarder = 8.8.8.8
   ...

Il faut activer le démarrage automatique du service AD

systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
systemctl disable winbind nmbd smbd
systemctl mask winbind nmbd smbd

Par défaut le provisioning Samba4 crée un fichier d'exemple krb5.conf dans le répertoire /var/lib/samba/private. Ce fichier est utilisé par défaut par certain appel samba. Il est préférable de le remplacer par un lien symbolique vers /etc/kbr5.conf pour éviter les effets de bord.

rm /var/lib/samba/private/krb5.conf
ln -s /etc/krb5.conf /var/lib/samba/private/krb5.conf

On relance Samba

systemctl restart samba-ad-dc

Vérifier que les champs DNS sont bien créés

 samba_dnsupdate --verbose

S'il subsiste des failed, utiliser cette méthode qui permet d'outre passer kerberos.

samba_dnsupdate  --use-samba-tool

Récupération du contenu du SYSVOL \\srvads\sysvol et le copier sur le nouveau serveur AD depuis un poste windows en administrateur du domaine. Sur le deuxième DC, lancer la commande

rsync -aP root@premierAD:/var/lib/samba/sysvol/  /var/lib/samba/sysvol/

Ensuite vérifier les ACL sur le Sysvol, et le cas échéant ré-initialiser les ACLs

samba-tool ntacl sysvolreset 
samba-tool ntacl sysvolcheck 

Nous proposons un outils pour synchroniser les partages Sysvol entre les Samba contrôleur de domaine: tis-sysvolsync

Validation de la nouvelle install

  • test de connexion au DNS à partir de la console "DNS Active directory"
  • test de connexion à partir de la console "Utilisateurs et ordinateurs active directory"

Vérification de l'état des réplications

samba-tool drs showrepl

Configuration du ntp signé

Configurer le NTP suivante la documentation SAMBA - Configuration Samba4 NTP

Configuration Bind-DLZ

Avant de passer en production, il faut remplacer le DNS interne Samba par le module Bind DLZ. Pour cela suivre la documentation SAMBA - Integration avec bind9

enjoy!