===== 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]]