Installation et configuration de serveur Samba-AD sur CentOS7

4 minute read


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 de hostname:

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

  • changer /etc/hosts: vim /etc/hosts

 (ne modifie pas les lignes contenant localhost )


1.2 Configurer l’adresse IP (statique)

J’utilise:

eth0 (ens32 pour vmware) - DHCP pour avoir accès à l’internet

/etc/sysconfig/network-scripts

eth1 (ens33 pour vmware) static

ip 192.168.64.1/24

/etc/sysconfig/network-scripts

Pas proxy!

Pour configurer le réseau on peut aussi  utiliser nmtui

Pour vérification de la configuration: ip a

1.3 Désactivation de SELinux

Vérifier que SELinux est désactivé :

vim /etc/selinux/config

selinux=disabled

Faire reboot.

 Vérifier status SELinux avec commande

 sestatus

Activer le mode routeur et le NAT

Pour ajouter temporairement :

sysctl -w net.ipv4.ip\_forward=1

Pour faire le changement permanent, il faut ajouter dans le file:

vim /usr/lib/sysctl.d/50-default.conf net.ipv4.ip\_forward = 1

pour appliquer le 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 vérification (après avoir installé Windows et joint une machine au domaine):

ping 8.8.8.8 ou ping 1.1.1.1

Installation de Samba-AD

Configurer les règles de pare-feu (plus d’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 clé 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

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=DOMAINE.LAN --domain DOMAINE--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 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, installer RSAT

Installer 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 le nom de l’ordinateur et du domaine.Il faut utiliser l’administrateur de Samba (administrator) et password.

Redémarrer Windows, après redémarrage vous pouvez entrer comme administrateur Samba:

Installer 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.

Les é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é à partir de MMC vous pouvez avoir accès:

  • créer et supprimer un enregistrement DNS à partir de la console DNS Active Directory ;
  • créer et supprimer un compte utilisateur ou un compte machine à partir de la console Utilisateurs et Ordinateurs Active Directory ;
  • créer une nouvelle GPO ;

Super, si vous êtes parvenu jusqu’à cette étape, c’est que tout s’est passé bien et que vous avez un nouveau domaine Samba Active Directory opérationnel.


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

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

Installer Samba 4 – Active Directory sous Linux

Samba AD DC Port Usage

Configuring a CentOS 7 Kerberos KDC

 

Updated: