Test de SAMBA 4 RC1, une vraie alternative à Active Directory

Bonjour

Je viens de terminer les tests sur SAMBA 4 RC1. Le moins que l’on puisse dire, c’est que l’équipe de développement à bien travailler. Je vous invite à lire les articles suivants sur SAMBA 4 RC1.
http://wiki.samba.org/index.php/Samba4/Releases/4.0.0rc1
http://linuxfr.org/users/trictrac/journaux/samba4-disponible-en-rc

Cet article a pour but :
– De présenter la procédure de déploiement de SAMBA 4 RC1 sur un serveur Debian 6 X64 (machine virtuelle VMware Workstation 9.0).
– De valider le fait qu’un contrôleur de domaine Windows 2008 R2 peut répliquer avec l’annuaire SAMBA.
– De présenter les nouveautés de SAMBA 4 RC1 : SAMBA 4 intègre de base un serveur DNS et d’un serveur Kerberos.

1. DEPLOIEMENT DU SERVEUR SAMBA 4 :
Nous allons déployer ici une version de SAMBA 4 RC1.

1.1 PREPARATION DE LA MACHINE :
Faire une installation par défaut de Debian 6 X64.
Installer ensuite les VMware Tools. Pour cela :
apt-get install autoconf
apt-get install gcc-4.3*
apt-get install linux-headers-$(uname -r)
Dans le menu VM | Install VMware Tools.
Copier le fichier VMTools dans un répertoire de travail cp /media/cdrom/VMwareTools-8.4.2-261058.tar.gz /usr/local/src
Se positionner dans le répertoire cd /usr/local/src
Décompresser le fichier VMTools tar xzf /usr/local/src/VMwareTools-8.4.2-261058.tar.gz
Se positionner dans le répertoire cd /usr/local/src/vmware-tools-distrib/
Lancer le script ./vmware-install.pl
Répondre par défaut aux questions (touche entrée).
Les VMTools doivent s’installer et le cdrom virtuel se démonte automatiquement.
Redémarrer.
Pour plus d’informations sur l’installation des VMware Tools, voir l’article suivant :
http://eric.coquard.free.fr/Blog/files/86b7d124a6befcd0f4f1c2470c8dc04a-35.html
Changer la résolution de l’écran.
xrandr –size 1024×768
Configurer la machine avec une adresse IP fixe. Pour cela, éditer le fichier /etc/network/interfaces.
Pour plus d’informations, voir article suivant : http://www.commentcamarche.net/forum/affich-9368061-ip-statique-debian

1.2 INSTALLATION DES PREREQUIS SAMBA :
Installer les paquetages suivants :
apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev  python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils
Ne pas installer les paquetages « krb5-config » (serveur Kerberos), « bind9 » et « bind9-host « (serveur DNS). SAMBA 4 intègre un serveur Kerberos et un serveur DNS.
Je vous invite aussi à installer VIM (éditeur de texte), NMAP (scan de port)
apt-get install vim
apt-get install nmap

1.3 CONFIGURER LE DISQUE POUR PRENDRE EN CHARGE LES PERMISSIONS ETENDUES :
Pour simplifier, les permissions étendues permettent une émulation / traduction des permissions NTFS par SAMBA sur un serveur Linux. On va modifier pour cela le fichier /etc/fstab :
cp /etc/fstab /etc/fstab.bak
vim /etc/fstab.
Il faut ajouter les paramètres user_xattr,acl  au niveau de la partition « / ». dans le cas contraire on aura une erreur à l’installation de SAMBA 4 (au make install).

Ci-dessous mon fichier /etc/fstab après modification :
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=6a9967ea-2ecc-403a-ab0c-5b54d46beb6c /   ext3  user_xattr,acl,errors=remount-ro   1  1
# swap was on /dev/sda5 during installation
UUID=dbabf6f1-8609-47b6-9a41-4719bf302cfb none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
Pour plus d’informations, voir :
http://wiki.samba.org/index.php/Samba_4_OS_Requirements

1.4 TELECHARGEMENT DES SOURCES SAMBA 4 RC1:
J’ai rencontré pas mal de mal problème à l’installation de SAMBA 4 sur DEBIAN.
Je déconseille de passer pour l’instant par les paquetages non supportés (SID) Debian.
Nous allons effectuer une installation manuelle via les sources SAMBA 4 RC1.
Je vous invite donc à télécharger directement la version RC1 sur le site de SAMBA.
http://www.h-online.com/open/news/item/First-release-candidate-for-Samba-4-is-available-1708247.html
http://ftp.samba.org/pub/samba/samba4/

1.5 COMPILATION ET INSTALLATION DE SAMBA 4 ET CREATION DU DOMAINE :
On va maintenant appliquer la procédure suivante (étape 2) :
http://wiki.samba.org/index.php/Samba4/HOWTO
Extraire l’archive SAMBA 4 téléchargé via l’interface graphique ou avec la commande tar xzf nom-archive.gz
Ouvrir un terminal en mode administrateur et aller dans le répertoire correspondant aux sources d’installation.
Pour préparer les sources, taper la commande suivante :
./configure.developer
Pour compiler les sources SAMBA 4 RC1, taper la commande suivante :
make
Pour installer SAMBA, taper la commande suivante :
make install
L’installation de SAMBA 4 RC1 se trouve dans /usr/local/samba.

Il faut maintenant créer le domaine. On va créer le domaine Active Directory MSREPORT.INTRA. Pour cela, taper la commande suivante :
/usr/local/samba/bin/samba-tool domain provision –realm=msreport.intra –domain=MSREPORT –adminpass=’P@ssword’ –server-role=dc
L’assistant se termine en affichant le nom du SID du domaine.

1.6 CONFIGURATION DU SERVEUR DNS UTILISE PAR SAMBA :
Configurer le serveur Debian / SAMBA en tant que serveur DNS principal (il est son propre serveur).
Dans mon cas le serveur DEBIAN 6 / SAMBA 4 RC1 a pour IP 192.168.209.111.
Pour cela éditer le fichier /etc/resolv.conf :
vim /etc/resolv.conf

Modifier les valeurs des lignes « domain », « search » et « name server ». Le contenu du fichier /etc/resolv.conf est le suivant après modification :
domain msreport.intra
search msreport.intra
nameserver 192.168.209.111

1.7 DEMARRER LES SERVICES SAMBA ET VERIFIER QUE LES SERVICES SAMBA SONT DEMARRES :
Pour démarrer le serveur SAMBA RC1, taper la commande suivante :
/usr/local/samba/sbin/samba
Pour vérifier que les services SAMBA sont démarrés, taper la commande suivante :
nmap addressIPServeur
Eviter de taper « nmap localhost » car on ne voit pas le service DNS en écoute. On obtient le résultat suivant :
53/tcp   open  domain
80/tcp   open  http
88/tcp   open  kerberos-sec
111/tcp  open  rpcbind
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
389/tcp  open  ldap
445/tcp  open  microsoft-ds
464/tcp  open  kpasswd5
636/tcp  open  ldapssl
1024/tcp open  kdm
3268/tcp open  globalcatLDAP
3269/tcp open  globalcatLDAPssl
Les services ci-dessus doivent obligatoirement être démarrés.
Pour information pour arrêter les services SAMBA 4, taper la commande suivante :
Killall samba

1.8 CONFIGURATION DE KERBEROS :
J’ai pas mal galéré à cette étape. Je ne sais toujours pas quel est le fichier réellement utilisé. La procédure du WIKI SAMBA demande de créer un fichier /etc/krb.conf à partir du fichier modèle /usr/local/samba/share/setup/krb5.conf
Cette procédure ne marche pas. De plus je n’ai pas les outils KINIT et KLIST de base.
J’ai donc effectué les actions suivantes :
– Copie du fichier modèle krb.conf
cp /usr/local/samba/share/setup/krb5.conf /etc/krb.conf
– Modification du fichier krb.conf. Le contenu du fichier krb.conf est le suivant après modification.
[libdefaults]
        default_realm = MSREPORT.INTRA
        dns_lookup_realm = false
        dns_lookup_kdc = true
– J’ai ensuite installé le paquet KRB5-user pour disposer des outils KINIT et KLIST. Pour cela, taper la commande suivante :
apt-get install krb5-user
– Un assistant apparaît et me demande les éléments suivants.
Entrer le « nom du serveur de royaume ». Taper le nom complet du serveur SAMBA 4. Dans notre cas : FR092VM0001.MSREPORT.INTRA.
Entrer le « nom du serveur administratif du royaume Kerberos ». Taper le nom complet du serveur SAMBA 4. Dans notre cas : FR092VM0001.MSREPORT.INTRA.
Cela génère alors le fichier /etc/krb5.conf suivant :
[libdefaults]
        default_realm = MSREPORT.INTRA

# The following krb5.conf variables are only for MIT Kerberos.
        krb4_config = /etc/krb.conf
        krb4_realms = /etc/krb.realms
        kdc_timesync = 1
        ccache_type = 4
        forwardable = true
        proxiable = true

# The following libdefaults parameters are only for Heimdal Kerberos.
        v4_instance_resolve = false
        v4_name_convert = {
                host = {
                        rcmd = host
                        ftp = ftp
                }
                plain = {
                        something = something-else
                }
        }
        fcc-mit-ticketflags = true

Cela fonctionne une fois le paquetage Kerberos client installé et configuré. Pour tester le bon fonctionnement de Kerberos, taper la commande :
Kinit administrator@MSREPORT.INTRA
Saisir le mot de passe.
Le système doit vous renvoyer « Warning : Your password will expire in 41 days on… ».

1.9 VERIFIER LA CONFIGURATION DU SERVEUR DNS INTERNE :
Les enregistrements DNS de services (type SRV) permettent entre autres aux clients Windows de localiser les contrôleurs de domaine. Ils permettent aussi aux contrôleurs de domaine de répliquer entre eux. Dans mon cas, le nom du domaine est MSREPORT.INTRA. Taper les commandes suivantes
host -t SRV _ldap._tcp.msreport.intra
On doit obtenir la réponse suivante :
_ldap._tcp.msreport.intra has SRV record 0 100 389 fr092vm0001.msreport.intra.
_ldap._tcp.msreport.intra has SRV record 0 100 389 fr075vm0001.msreport.intra.

host -t SRV _kerberos._udp.msreport.intra
On doit obtenir la réponse suivante :
_kerberos._udp.msreport.intra has SRV record 0 100 88 fr092vm0001.msreport.intra.
_kerberos._udp.msreport.intra has SRV record 0 100 88 fr075vm0001.msreport.intra

En cas d’erreurs, forcer la mise à jour dynamique DNS :
Pour cela, taper la commande suivante :
/usr/local/samba/sbin/samba_dnsupdate
Cette commande permet au serveur SAMBA 4 RC1 de recréer les enregistrements dynamique DNS.

2 TESTS EFFECTUES :
J’ai effectué les tests suivants avec succès :
– Le domaine est créé en mode natif 2003.
– La jonction d’une machine Windows Seven X64 SP1 au domaine MSREPORT.INTRA fonctionne correctement tout comme l’authentification.
– La création d’un partage depuis le « Computer Management » de Windows 7 SP1 n’est pas possible. Par contre je peux visualiser les partages existants (NETLOGON et SYSVOL).
– Depuis une station de travail, la connexion aux liens DFS \\msreport.intra\netlogon et \\msreport.intra\sysvol  fonctionne (mappage DFS).
– L’installation d’un second contrôleur de domaine Windows 2008 R2 fonctionne via l’assistant DCPROMO.
– La réplication des objets (zone DNS, comptes utilisateurs, groupes, OU) fonctionnent.
– J’ai installé les RSAT sur la machine Windows 7 SP1 pour administrer l’annuaire SAMBA 4 (sous Debian 6). Cela fonctionne. Pour télécharger les RSAT :
http://www.microsoft.com/en-us/download/details.aspx?id=7887
– Le transfert des rôles FSMO depuis le serveur SAMBA 4 vers le contrôleur de domaine Active Directory fonctionne.

La page suivante le stade d’avancement de SAMBA 4 et les limites actuelles du produits (pas de réplication DRS-R par exemple, pas de RODC, pas de support installation d’Exchange…).
http://wiki.samba.org/index.php/Samba4/DRS_TODO_List

Pour conclure, je tiens à saluer le travail de l’équipe de développement de SAMBA 4.
Il reste cependant encore pas mal de travail. Beaucoup de fonctionnalités encore non implémentés au niveau de la console DNS par exemple…

A+
Guillaume MATHIEU
Consultant Architecture & Intégration PROSERVIA
La connaissance s’accroît quand on la partage.
http://msreport.free.fr

A propos Guillaume Mathieu

Directeur Technique chez Flexsi
Ce contenu a été publié dans Active Directory, Annuaire, Dns, SAMBA, Système, Windows 2000 Server, Windows 2003 Server, Windows Server 2008, Windows Server 2008 R2, avec comme mot(s)-clé(s) , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

4 réponses à Test de SAMBA 4 RC1, une vraie alternative à Active Directory

  1. Jeorme dit :

    Super article.

    Je vais faire de ce pas un test sur mon environnement Debian 6 / VMWorkstation9

    Très interessant, comme toujours

  2. Mogo dit :

    Bonjour,

    En faisant la commande nmap je n’est pas le port 80 d’ouvert. Est-il indispensable et comment l’ouvrir dans le cas échéant?

    Merci beaucoup

  3. Bonjour

    Il n’est pas indispensable. J’ai le port 80 d’ouvert car j’ai une interface web pour gérer l’annuaire OpenLDAP.

  4. Snake972 dit :

    Bonjour,
    Je tiens à mettre à jour ce tuto. Samba4 peut être installé en tant que RODC et supporte le niveau de fonctionnalité 2008 au niveau de l’AD. Pour exchange, il faudra se tourner vers des solutions compatibles samba4 comme openchange ou SOGO.

    Cordialement à tous.

Laisser un commentaire