===== rôle active directory domain controller ===== {{:systeme:samba:samba_logo.png?nolink&200 |}}Qui ne n'a jamais assisté à une discussion avec des pro Windows, vous racontent Linux c'est bien, mais 100% des entreprises ont au moins un serveur Windows et il parle de l'Active Directory de Windows. Depuis décembre 2012 cela est fini, l'arrivée de samba 4 change tout, en effet, il est ainsi possible de joindre complètement des clients Windows à un domaine et effectuer des opérations d'ouverture de session. Et la cerise sur le gâteau, pour ceux qui seraient habitués a manipulé cela avec les outils d'administration de serveur distant RSAT de Windows, c'est possible. Vous l'aurez bien compris, je vais vous montrer comment fabriquer non pas un, mais 2 serveurs samba active directory domain controller, oui parce qu'un réseau avec un serveur DC cela ne n'existe pas, ou sinon c'est que vous avez préparé une petite place sous votre moquette de bureau, le jour ou cela tombe.\\ Donc je récapitule : * un Serveur DC samba 4 master * un Serveur DC samba 4 secondaire Pour l'installation, regardé [[systeme:samba:1.installation|Installation d'un serveur SAMBA 4]], car l'article est basé dessus.\\ ~~READMORE~~ Tout d'abord, il faut vérifier le fichier **/etc/hosts**, Si cela n'est pas déjà fait. 127.0.0.1 localhost XXX.XXX.XXX.XXX nom.domaine.loc nom Ou * nom.domaine.loc représente le nom de votre serveur sur le réseau. * xxx.xxx.xxx.xxx représente son IP Modifier le fichier ''/etc/network/interfaces'' pour lui donner une configuration IP static, Si cela n'est pas déjà fait. allow-hotplug eth0 auto eth0 iface eth0 inet static address XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX gateway XXX.XXX.XXX.XXX mettre la machine dans le future domaine avec comme DNS lui même Editer /etc/resolv.conf domain domaine.loc search domaine.loc nameserver 127.0.0.1 Fichier kerberos client rm /etc/krb5.conf cp /usr/local/samba/share/setup/krb5.conf /etc/ vim /etc/krb5.conf On ajoute ce qui suit : [libdefaults] default_realm = DOMAINE.LOC dns_lookup_realm = false dns_lookup_kdc = true ==== Création du domaine ==== samba-tool domain provision --use-rfc2307 --interactive Répondez aux questions, mais normalement vous avez renseigné tous vos fichiers.\\ Les plus importantes sont: * '' DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:'', bon pour le test, j'ai choisi ''SAMBA_INTERNAL'', Je fais une rapide description des modes : * **SAMBA_INTERNAL** : Le serveur DNS interne est intégré dans Samba et utilise AD comme backend.\\ Il est la solution DNS par défaut lors de l'approvisionnement d'un nouveau Samba AD DC. * **BIND9_DLZ** :BIND 9.8 et 9.9 peut être configuré pour fournir la résolution DNS pour gérées les zones.\\ Ils sont accessible à partir de BIND à travers les DLZ (zones chargeables dynamiquement) plugin.\\ Noter que le serveur BIND doit fonctionner sur la même machine que le Samba AD DC. * **BIND9_FLATFILE** : Ne pas utiliser BIND9_FLATFILE! Il n'est pas documenté ou soutenu. * **NONE** : pas de DNS * ''DNS forwarder IP address (write 'none' to disable forwarding)'' : Une IP réseau utilisé pour transférer des requêtes DNS pour des noms DNS externes vers des serveurs DNS situés à l’extérieur de ce réseau.\\ Pour le test j'ai mis 8.8.8.8.\\ Si, vous penser vous être trompé dans le questionnaire ce n'est pas grave, sauf pour le mot de passe ''administrator''.\\ Pour effacer la configuration de Samba :\\ rm -f /usr/local/samba/etc/smb.conf rm -rf /usr/local/samba/private/* Sinon, votre fichier de configuration ''smb.conf'' a été créé dans ''/usr/local/samba/etc'' en l'éditant vous obtenez ce qui suit : # Global parameters [global] workgroup = DOMAINE realm = DOMAINE.LOC netbios name = NOM server role = active directory domain controller dns forwarder = 8.8.8.8 8.8.4.4 #j'ai ajouté un DNS secondaire de google ^^ idmap_ldb:use rfc2307 = yes [netlogon] path = /usr/local/samba/var/locks/sysvol/mondomaine.loc/scripts read only = No [sysvol] path = /usr/local/samba/var/locks/sysvol read only = No Votre DC est prêt a fonctionné vous pouvez donc lancer le service /etc/init.d/samba start ===== Création d'un serveur secondaire ===== Pour la suite, les étapes sont presque similaires, je vais donner ce qui change.\\ Fichier kerberos : [libdefaults] default_realm = DOMAINE.LOC dns_lookup_realm = true dns_lookup_kdc = true Commande samba pour joindre le domaine : samba-tool domain join domaine.loc DC -U administrator Pour activer le DNS sur le serveur secondaire, ''dns forwarder = 8.8.8.8 8.8.4.4'' dans le fichier ''smb.conf'' ==== Administration ==== Donc, il y a les outils d'administration de serveur distant RSAT de Windows. \\ Sinon, sous Linux la commande ''samba-tool'' sert pour tout. \\ exemple : * enlevé la complexité du mot de passe :\\ ''samba-tool password settings set --complexity=off --min-pwd-lengt=0 --store-plaintext=off'' * ajouter un enregistrement A (Adresse) dans le DNS backend :''samba-tool dns add A XXX.XXX.XXX.XXX'' * ajouter un enregistrement PTR (pointer) dans le DNS backend :''samba-tool dns add X.X.X.in-addr.arpa XX PTR '' * ajouter un login : ''samba-tool user add '' Je vous renvoi vers [[https://wiki.samba.org/index.php/Samba-tool-external|samba.org]] pour plus d'information sur la commande ==== installation d'un service NTP ==== Moi, j'aime bien mettre en place un petit service ntp sur les serveurs DCs, car ils peuvent servir de serveur de temps pour les autres machines et c'est logique. Installation de ''ntp'': aptitude install ntp ntpdate Nous allons éditer la configuration de ''ntp'' qui est dans le fichier ''ntp.conf'' vim /etc/ntp.conf Ajouter la ligne suivante : restrict <@IP network> dans mon exemple : restrict 192.168.1.0/24 Dans le même fichier ajouté ce qui suit : server 127.127.1.0 fudge 127.127.1.0 stratum 10 restrict default kod nomodify notrap nopeer mssntp Relancer le service ''ntp'' pour prendre en compte la modification. /etc/init.d/ntp restart ==== autres ==== Quelques test pour s'assurer, que les serveurs soient bien entrés dans le domaine host -t srv _ldap._tcp. host -t srv _kerberos._tcp. hots -t A Pour effacer toutes la configuration de samba (fichier de configuration et base local) rm -f /usr/local/samba/etc/smb.conf rm -rf /usr/local/samba/private/* Affiché les connexions actives via Samba : smbstatus -v sources : [[https://wiki.samba.org/index.php/Setup_a_Samba_AD_Member_Server#Make_domain_users.2Fgroups_available_locally_through_Winbind|samba.org]]