Installation et configuration d’un serveur Samba-AD sur CentOS 7

Installation et configuration d’un serveur Samba-AD sur CentOS 7

1.Préparation de CentOS7

Configuration:

  • dc1.domaine.lan
  • administrateur CentOS:root
  • administrateur SAMBA: administrator

Configuration réseau:

  • CentOS: eth0: NAT, DHCP (accès internet)
  • eth1: 192.168.64.1/24 (interne)
  • Windows7: eth0: 192.168.64.10/24 (interne)

1.1 Changement du nom d’hôte :

  • modifier le fichier /etc/hostname et changer hostname: vim /etc/hostname
  • vérifier: cat /etc/hostname

  • changer /etc/hosts: vim /etc/hosts  (pas modifier les lignes contenant localhost )

1.2 Configurer de l’adresse IP statique :

J’utilise:

Pour l’interface eth0 (ens32 pour VMware) – utiliser DHCP pour accéder à Internet.. Il faut corriger:

nano /etc/sysconfig/network-scripts

 

Pour l’interface eth1 (ens33 pour VMware) utiliser une adresse IP statique (192.168.64.1/24).

nano /etc/sysconfig/network-scripts

Aucun proxy requis !

Utiliser nmtui pour configurer le réseau et vérifier avec : ip a.

1.3 Désactivation de SELinux

Vérifier que SELinux est désactivé :

vim /etc/selinux/config
selinux=disabled

Faite reboot.

Vérifier le statut de SELinux avec la commande :

sestatus

Activer le mode routeur et le NAT

Pour activer temporairement :

sysctl -w net.ipv4.ip_forward=1

Pour faire changement permanent il faut ajouter dans file:

vim /etc/sysctl.conf
 net.ipv4.ip_forward = 1

Pour appliquer changement:

/sbin/sysctl -p

or

reboot

Enable NAT

Le nœud interne doit maintenant pouvoir accéder à l’Internet public via le serveur de passerelle.

IP masquerading doit être activé avec iptables (utiliser bon IP et carte réseau).

firewall-cmd –permanent –direct –passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.64.0/24 firewall-cmd –reload

Pour pour vérification (après installation Windows et joindre une machine au domaine):

ping 8.8.8.8

Installation de Samba-AD

Configurer les règles de pare-feu (plus info ici) :

systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --add-port=53/tcp --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=88/tcp --add-port=88/udp --permanent
firewall-cmd --zone=public --add-port=135/tcp --permanent
firewall-cmd --zone=public --add-port=389/tcp --add-port=389/udp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=464/tcp --add-port=464/udp --permanent
firewall-cmd --zone=public --add-port=636/tcp --permanent
firewall-cmd --zone=public --add-port=3268/tcp --permanent
firewall-cmd --zone=public --add-port=3269/tcp --permanent
firewall-cmd --zone=public --add-port=50000-51000/tcp --permanent
firewall-cmd --zone=public --add-port=49152-65535/tcp --permanent
systemctl restart firewalld

Pour vérification:

firewall-cmd --list-ports

Désactiver avahi-daemon (protocol mDNS / bonjour) :

systemctl stop avahi-daemon.service avahi-daemon.socket
systemctl disable avahi-daemon.service avahi-daemon.socket

 

Ajouter repo EPEL

yum update -y
yum install -y epel-release
yum install -y wget sudo screen nmap telnet tcpdump rsync net-tools bind-utils htop

 

Récupérer les paquets nécessaires

Récupérer la clef de signature RPM et configuration d’un dépôt YUM :

wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7  http://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-7
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7

 

echo "[tis-samba]
name=tis-samba
baseurl=http://samba.tranquil.it/centos7/samba-4.11/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7" > /etc/yum.repos.d/tissamba.repo

 

Vérifier l’emprunte de la clef avec sha256sum :

sha256sum /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-7
b3cd8395e3d211a8760e95b9bc239513e9384d6c954d17515ae29c18d32a4a11  /var/www/samba/RPM-GPG-KEY-TISSAMBA-7

 

Installer les paquets Samba-AD pour CentOS :

yum install -y samba samba-winbind samba-winbind-clients krb5-workstation ldb-tools bind chrony bind-utils samba-client python3-crypto

Instancier le domaine Active Directory Samba

Configurer Kerberos

Modifier le fichier /etc/krb5.conf et remplacer tout son contenu par les 4 lignes suivantes en précisant le domaine Active Directory de votre organisation (ici:  dc1.domaine.lan) :

[libdefaults]
  default_realm = DOMAINE.LAN
  dns_lookup_kdc = false
  dns_lookup_realm = false

[realms]
  DOMAINE.LAN = {
  kdc = 127.0.0.1
  }

Configurer Samba

Effacer le fichier /etc/smb/smb.conf s’il a déjà été généré 

(il sera régénéré par la commande d’instanciation) :

rm -f /etc/samba/smb.conf

Configurer Samba avec le rôle de contrôleur de domaine.

 Dans la ligne qui suit, vous penserez à changer à la fois le nom du royaume kerberos, et le nom court du domaine (nom netbios) :

samba-tool domain provision --realm=MYDOMAINE.LAN --domain MYDOMAINE --server-role=dc

Réinitialiser le mot de passe administrator :

samba-tool user setpassword administrator 

Vérifier la ligne dns forwarder = xxx.xxx.xxx.xxx.dans votre fichier /etc/samba/smb.conf

vim /etc/samba/smb.conf

Elle doit pointer vers un serveur DNS valide, par ex. :

dns forwarder = 1.1.1.1

Reconfigurer la résolution DNS pour la machine locale.

 Dans le fichier /etc/sysconfig/network-scripts/ifcfg-xxxx de l’interface réseau, remplacer la ligne suivante :

DNS1=127.0.0.1

Relancer NetworkManager pour prendre en compte les changements 

systemctl restart NetworkManager

Il faut supprimer /var/lib/samba/private/krb5.conf et le remplacer par un lien symbolique vers le fichier /etc/krb5.conf :

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

Activer Samba pour qu’il démarre automatiquement au prochain reboot :

systemctl enable samba
systemctl start samba

Redémarrer la machine 

reboot 

Tester que le kerberos

Taper le mot de passe du compte administrator que vous avez défini ci-dessus avec la commande samba-tool setpassword 

 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

Tester les DNS :

dig @localhost google.com
dig @localhost srvads.domaine.lan
dig -t SRV @localhost _ldap._tcp.domaine.lan

 

Joindre une machine au domaine, installation RSAT

Installation Windows 7

Il faut installer Windows ( Windows 7), configuration réseau: static, même range que CentOS7. (192.168.64.10/24)

Joindre Windows au domaine

Vous pouvez désormais joindre un poste client Windows dans votre nouveau domaine. Ajouter nom de l’ordinateur et domaine.Il faut utiliser administrateur de samba (administrator) et password.

 

Redémarrer windows, après redémarrage vous pouvez entrer comme administrateur samba:

 

Installation RSAT

Pour gérer votre nouveau domaine, il faut installer les interfaces de management sur un poste Windows. La ligne de commande Samba est efficace pour de nombreuses tâches d’administration, et les interfaces graphiques RSAT sont un bon complément à la ligne de commande.

Étapes d’installation: 

  • Télécharger le pack d’outils depuis le site officiel de Microsoft.
  • Installer RSAT
  • Dans Panneau de configuration -> Programmes et Fonctionnalités Windows, cliquez sur le lien à droite de la fenêtre Activer ou désactiver des fonctionnalités Windows. Vous pouvez sélectionner:

Vérification finale

Une fois RSAT installé via la console de gestion MMC, vous aurez la possibilité de :

  • créer et supprimer des enregistrements DNS directement depuis la console DNS d’Active Directory ;
  • créer et supprimer des comptes utilisateurs ainsi que des comptes machine via la console Utilisateurs et Ordinateurs d’Active Directory ;
  • créer une nouvelle politique de groupe (GPO) ;

Félicitations ! Si vous êtes parvenu jusqu’à cette étape, cela signifie que tout a fonctionné comme prévu et que votre nouveau domaine Samba Active Directory est désormais opérationnel.

Bonne chance!

Mes sources d’inspiration:

How to Install and Configure Samba on CentOS 7

Installer et configurer Samba-AD sur CentOS7

How to Configure CentOS 7 Network Settings – Serverlab

Article suivant Installer les outils d’administration (RSAT) sous Windows 7.

Installer Samba 4 – Active Directory sous Linux – Ubuntu Debian – Jj World

Samba AD DC Port Usage – SambaWiki

How to Install and Configure Samba on CentOS 7

Configuring a CentOS 7 Kerberos KDC – RH254

Comments are closed