Page 1 of 1

2ème serveur samba AD-DC

Posted: Sat Jun 01, 2024 2:02 am
by admin
Modification du fichier « hosts » :

Code: Select all

nano /etc/hosts  
Ajouter une ligne semblable à 192,168,1,2 dc2.domaine.local dc2

Code: Select all

127.0.0.1 localhost  

127.0.1.1 dc2  

192.168.1.2 dc2.domaine.local  


mise à jour du dépôt et des paquets :

Code: Select all

apt -y update && apt -y upgrade  
Installation des paquets nécessaires à la compilation de Samba 4 :

Code: Select all

export DEBIAN_FRONTEND=noninteractive  

 

 

apt -y install acl apt-utils attr autoconf bind9utils binutils \  

    bison build-essential chrpath curl debhelper dnsutils \  

    docbook-xml docbook-xsl flex gcc gdb git glusterfs-common gzip \  

    heimdal-multidev hostname htop krb5-config krb5-user krb5-kdc \  

    lcov libacl1-dev libarchive-dev libattr1-dev \  

    libavahi-common-dev libblkid-dev libbsd-dev libcap-dev libcephfs-dev \  

    libcups2-dev libdbus-1-dev libglib2.0-dev libgnutls28-dev libgpgme11-dev \  

    libicu-dev libjansson-dev libjs-jquery libjson-perl libkrb5-dev libldap2-dev \  

    liblmdb-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpcap-dev \  

    libpopt-dev libreadline-dev libsystemd-dev libtasn1-bin libtasn1-dev \  

    libunwind-dev lmdb-utils locales lsb-release make mawk mingw-w64 patch \  

    perl perl-modules pkg-config procps psmisc \  

    python3 python3-dbg python3-dev python3-dnspython python3-gpg \  

    python3-iso8601 python3-markdown python3-matplotlib python3-pexpect \  

    rng-tools rsync sed sudo tar tree uuid-dev xfslibs-dev xsltproc zlib1g-dev \  

    ccache python3-cryptography python3-pyasn1 python3-setproctitle wget \  

    libaio-dev libgpgme-dev nettle-dev python3-all-dev python3-dbg \  

    python3-dev python3-dnspython  

  


Nettoyage des fichiers résiduels :

Code: Select all

apt -y autoremove  

apt -y autoclean  

apt -y clean  

  


Téléchargement et extraction de Samba 4 :

Code: Select all

wget -O samba-latest.tar.gz https://download.samba.org/pub/samba/samba-latest.tar.gz  

tar zxvf samba-latest.tar.gz  




# Configuration

Code: Select all

./configure \  

--prefix=/usr --exec-prefix=/usr --enable-fhs \  

--libdir=/usr/lib/x86_64-linux-gnu \  

--sysconfdir=/etc --localstatedir=/var \  

--with-systemd --systemd-install-services --with-systemddir=/etc/systemd/system \  

--systemd-smb-extra=NotifyAccess=all --systemd-nmb-extra=NotifyAccess=all \  

--systemd-winbind-extra=NotifyAccess=all --systemd-samba-extra=NotifyAccess=all \  

--with-lockdir=/var/run/samba \  

--enable-selftest  

 


Sortie :

-

Code: Select all


'configure' finished successfully (2m42.577s)  

  


Compilation et Installation de Samba :

Code: Select all

make -j && make -j install  

  
Sortie :

-

Code: Select all

 

Waf: Leaving directory `/root/tmp/samba-4.20.0/bin/default'  

'install' finished successfully (9m35.989s)  

  






Verrouillage du paquet Samba :

Code: Select all

apt-mark hold samba  

apt-mark showhold  

  
Vérifications installation :

Code: Select all

apt search ^samba$  

samba --version  

  
Affichage des fichiers et répertoires de Samba :

Code: Select all

samba -b  

samba -b | egrep "CONFIGFILE|LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"  

  


Nettoyage de l’environnement

Code: Select all

mv --backup=t /etc/samba/smb.conf /etc/samba/smb.conf.backup  

mv --backup=t /etc/krb5.conf /etc/krb5.conf.backup  

 






2.7) Intégrer un contrôleur de domaine supplémentaire

Code: Select all

samba-tool domain join domaine.local DC --server=DC1 \  

    --option='idmap_ldb:use rfc2307 = yes' \  

    --option="dns forwarder=172.27.1.1" \  

    -U"DOMAINE\Administrator"  
domaine.local : Nom du domaine à rejoindre.
--option="dns forwarder=172.27.1.1" : IP du serveur DNS de résolution externe (votre box par ex).
--server=DC1 : Contrôleur de domaine existant sur lequel s’authentifier.
-U"DOMAINE\Administrator" : Nom de l'Administrateur de domaine, ayant le droit d’intégrer un nouveau contrôleur de domaine.







Récupération configuration Kerberos

Code: Select all

#cp /var/lib/samba/private/krb5.conf /etc/krb5.conf (normalement, "/etc/krb5.conf" a déjà été créé par la provision dans /etc/krb5.conf , donc il n'y a rien à faire ici.)  

 




Contenu (à modifier):

Code: Select all

nano /etc/krb5.conf :  

Code: Select all

[libdefaults]  

default_realm = DOMAINE.LOCAL  

dns_lookup_realm = false  

dns_lookup_kdc = true 

[realms]  

DOMAINE.LOCAL = {  

default_domain = domaine.local  

kdc = @IPDC1  

kdc = @IPDC2 

admin_server =  @IPDC1 @IPDC2  

####database_module = ldapconf  

}  

[domain_realm]  

.domaine.local = DOMAINE.LOCAL  

domaine.local = DOMAINE.LOCAL  

 

Ici : DOMAINE.LOCAL est à remplacer par votre nom de domaine
@IPDC1 et @IPDC2 snot les codes IP de vos machines controleurs de domaines.


Code: Select all

nano /etc/samba/smb.conf  

Code: Select all

# Global parameters  

[global]  

        dns forwarder = 172.27.1.1  

        netbios name = DC2  

        realm = DOMAINE.LOCAL  

        server role = active directory domain controller  

        workgroup = DOMAINE 

        idmap_ldb:use rfc2307 = yes  

  

  

  

         winbind use default domain = yes  

         winbind enum users = yes  

         winbind enum groups = yes  

   

   

   

         ; improve security :  

         ntlm auth = no  

         ; improve security, Windows > 8 only :  

         server min protocol = SMB3_00  

   

  

  

[sysvol]  

        path = /var/lib/samba/sysvol  

        read only = No  

  

  

[netlogon]  

        path = /var/lib/samba/sysvol/domaine.local/scripts  

        read only = No  
remarquez "dns forwarder = (le code ip de votre box)"




Code: Select all


nano /etc/network/interfaces :  

Code: Select all

dns-nameservers 127.0.0.1  

nano /etc/resolv.conf  

search domaine.local  

nameserver @IPDC1 

nameserver @IPDC2  
(ne pas oublier de faire exactement la même config sur le controleur principal pour les deux fichiers de configuration précedentes)

Lancer samba

Code: Select all

samba  

 


Code: Select all

cp /var/lib/samba/private/krb5.conf /var/lib/samba/private/krb5.conf.old  

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

  

Code: Select all

pkill -9 smbd  
   

pkill -9 nmbd  
   

pkill -9 winbindd  

systemctl restart samba  




Vérifier que les champs DNS sont bien créés :

Code: Select all

samba_dnsupdate --verbose --use-samba-tool  

  
Configurer le SYSVOL

Si vous avez une clé privée regardez la note suivante (comment ajouter une clé privée ssh)

Code: Select all

rsync -aP root@dc1:/var/lib/samba/sysvol/ /var/lib/samba/sysvol/  

  


Ensuite vérifier les ACL sur le SYSVOL, et le cas échéant réinitialiser les ACLs :

Code: Select all

samba-tool ntacl sysvolreset  
samba-tool ntacl sysvolcheck  

  
Verifier le le compte Administrator :

Code: Select all

kinit Administrator  

  




Ajouter un entrée A au dns Samba4 :

Code: Select all

root@dc2samb:~# samba-tool dns add --help  

Code: Select all

Usage: samba-tool dns add <server> <zone> <name> <A|AAAA|PTR|CNAME|NS|MX|SRV|TXT> <data>  

Code: Select all

samba-tool dns add dc1 domaine.local dc2 A 192.168.1.101 -U Administrator  

 


(A ce stade, il est conseillé d'installer le serveur DNS "BIND9" à la place du serveur DNS interne à Samba "winbind")











Il faut impérativement redémarrer la machine DC2AD.


ensuite :

Code: Select all

samba-tool drs showrepl 

 




Forcer une replication manuelle de toutes les branches

Code: Select all

dc1ad:~# samba-tool drs replicate DC2 DC1 dc=domaine,dc=local --full-sync 
 

Code: Select all

Replicate from DC1 to DC2 was successful. 
 




Depuis les outils RSAT vous pouvez vérifier l’état des 2 serveurs































Source : https://samba.tranquil.it/doc/fr/samba_ ... ebian.html





https://homepages.lcc-toulouse.fr/colom ... pitre3-1-3