https://samba.tranquil.it/doc/fr/samba_config_server/samba_conf_index.html
https://samba.tranquil.it/doc/fr/samba_config_server/debian/server_install_samba_debian.html
Installer Samba avec Tranquil IT
Récupérer les paquets nécessaires
apt-get install gnupg2 lsb-release
wget -O tissamba-pubkey.gpg http://samba.tranquil.it/tissamba-pubkey.gpg
sha256sum tissamba-pubkey.gpg
bd0f7140edd098031fcb36106b24a6837b067f1c847f72cf262fa012f14ce2dd tissamba-pubkey.gpg
apt-key add tissamba-pubkey.gpg
echo "deb https://samba.tranquil.it/debian/samba-4.14/ $(lsb_release -c -s) main" > /etc/apt/sources.list.d/tissamba.listInstaller les paquets
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install samba winbind libnss-winbind krb5-user smbclient ldb-tools python3-crypto
unset DEBIAN_FRONTENDEditer le service Kerberos
nano /etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.NET
dns_lookup_kdc = true
dns_lookup_realm = falseEditer la configuration de Samba
nano /etc/samba/smb.conf
[global]
server services = -dns
netbios name = SAMBA
realm = DOMAIN.NET
server role = active directory domain controller
workgroup = DOMAIN
security = USER
ldap server require strong auth = no
log file = /var/log/samba/%m.log
log level = 3 auth:3
ldap ssl = off
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/domain.net/scripts
read only = NoProvisionnement de l'AD et chagement du mot de passe Administrateur
samba-tool domain provision --realm=DOMAIN.NET --domain DOMAIN --server-role=dc
samba-tool user setpassword administratorEditer la configuration IP des DNS
nano /etc/resolv.conf
search nadus.fr
nameserver 127.0.0.1
nameserver 1.1.1.1rm -f /var/lib/samba/private/krb5.conf
ln -s /etc/krb5.conf /var/lib/samba/private/krb5.conf
systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
systemctl disable samba winbind nmbd smbd
systemctl mask samba winbind nmbd smbd
Redémarrage du serveur
rebootTest de connectivité à l'AD
kinit administrator
klistTest de résolution des noms de domaines (service DNS)
apt-get install dnsutils
dig @localhost google.fr
dig @localhost samba.domain.net
dig -t SRV @localhost _ldap._tcp.domain.netInstaller et configurer Bind-DLZ pour Samba-AD avec le serveur DNS Bind9
https://samba.tranquil.it/doc/fr/samba_config_server/debian/server_install_binddlz_debian.html
Bien que Samba-AD vienne par défaut avec son propre serveur DNS interne, Tranquil IT recommande l’usage de Bind-DLZ.
Le serveur Samba-AD sera probablement sur un réseau NATé et il sera alors préférable de configurer un forwarder DNS :
Installer le paquet Bind :
apt-get install bind9Editer les configuration de Bind
nano /etc/bind/named.conf.options (penser à modifier le forwarder) :
options {
directory "/var/cache/bind";
forwarders { 1.1.1.1; };
allow-query { any;};
dnssec-validation no;
auth-nxdomain no;
listen-on-v6 { any; };
tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
minimal-responses yes;
};nano /etc/bind/named.conf.local
dlz "nadus.fr" {
database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";
};désactiver le bind en IPv6 sur le réseau local
nano /etc/default/bind9
RESOLVCONF=no
OPTIONS="-4 -u bind"Editer les configuration de Samba
Le plugin DLZ doit accéder directement aux bases LDB de Samba (l’équivalent de NTDS.DIT). Ce mode de fonctionnement n’est certes pas optimal pour la séparation des services au sein de l’AD. Toutefois, il est nécessaire.
nano /etc/samba/smb.conf
[global]
...
server services = -dns
# dns forwarder =
...Mise en relation de Smaba et Bind9
Les commandes suivantes vont créer un compte dans le serveur AD pour le serveur Bind. Cela n’est pas nécessaire si l’on ne veut pas bénéficier des mises à jour dynamiques (ce qui peut être éventuellement souhaitable).
créer deux répertoires dans /var/lib/samba :
mkdir /var/lib/samba/bind-dns
mkdir /var/lib/samba/bind-dns/dnsconfigurer les mises à jour dynamiques des entrées DNS
samba_upgradedns --dns-backend=BIND9_DLZenfin relancer les services samba et bind
systemctl restart samba-ad-dc
systemctl restart bind9Vérifier la bonne configuration de Bind et de DLZ
Vérifier que c’est bien le serveur bind qui écoute sur le port 53
netstat -tapn | grep 53 tcp 0 0 192.168.149.11:53 0.0.0.0:* LISTEN 5291/namedTester des requêtes locales et des requêtes en récursion :
dig @localhost google.fr
dig @localhost samba.domain.net
dig -t SRV @localhost _ldap._tcp.domain.netFélicitations, votre configuration avance et vous venez de franchir un pas supplémentaire vers la solidité et l’efficacité de votre installation Samba-AD.
Maintenant, nous allons configurer le service NTP pour que votre Samba-AD et les stations de travail de votre réseau soient tous bien à la bonne heure et synchronisés !!
Installer et configurer NTP pour Samba-AD sur Debian10
Mise en place du service NTP
Active Directory est basé sur le protocole Kerberos qui nécessite une quasi parfaite synchronisation des horloges entre les stations de travail membres du domaine et le contrôleur de domaine Samba-AD. NTP sert à assurer la synchronisation entre les horloges des différents appareils du réseau.
Installer les paquets NTP et choisir un serveur de temps sur Internet
apt-get install ntpdate ntp ntpdate -bu pool.ntp.orgRajouter les lignes suivantes à /etc/ntp.conf pour gérer le NTP signé utilisé par les postes windows pour qu’ils synchronisent automatiquement leurs horloges avec le service NTP
ntpsigndsocket /var/lib/samba/ntp_signd restrict default mssntpChanger le propriétaire du répertoire contenant la socket samba servant à authentifier le service NTP
chgrp ntp /var/lib/samba/ntp_signdRelancer NTP
systemctl restart ntpInstallation des RSAT tools (administration graphique de l'AD via poste Windows)
Get-WindowsCapability -Online | ? Name -like 'RSAT*'|Where{$_.State -eq 'NotPresent'} |foreach {Add-WindowsCapability -online -name $_.Name}
Pour aller plus loin avec Samba
Autoriser Nextcloud a se connecter
nano /etc/samba/smb.conf
[global]
server services = -dns
netbios name = SAMBA
realm = DOMAIN.NET
server role = active directory domain controller
workgroup = DOMAIN
security = USER
ldap server require strong auth = noTester la connexion au serveur LDAP
apt-get install ldap-utilsldapsearch -D "CN=Administrator,CN=Users,DC=domain,DC=net" -w P@ssword -p 389 -h samba.domain.net -b "DC=domain,DC=net"