Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Setup di samba 4 come AD DC —

Samba 4 è in grado di fornire servizi di Active Directory, in questo caso sarà il Domain Controller.
La Macchina con host name vedetta e IP 192.168.2.201 è una virtual machine Devuan Jessie samba e’ stato compilato con le opzioni standard di configurazione.

Il server DNS di appoggio è 192.168.2.203 ed è un normalissimo bind9 N.B. questo indirizzo non può essere cambiato in seguito, AD non può sostituire gli indirizzi DNS.
Il file /etc/hosts deve essere scritto in questo modo

127.0.0.1 localhost
192.168.2.201 vedetta.oceano.lan vedetta.myaddomaina.local vedetta MYADDOMAIN.LOCAL myaddomain.local

mettiamo in chiaro le cose, oceano.lan è il nome del dominio linux che si appoggia alla net 192.168.2.0/24

myaddomain è il chiamiamolo dominio Active Directory.
il file resolv.conf deve essere scritto a questo modo

domain MYADDOMAIN.LOCAL
search MYADDOMAIN.LOCAL oceano.lan
nameserver 192.168.2.201
nameserver 192.168.2.203

da ultimo vediamo il file /etc/krb5.conf

[libdefaults]
default_realm = MYADDOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true

e con questo abbiamo concluso la fase preliminare di configurazione e possiamo passare alla generazione (provisioning) vera e propria dell’AD.

[root@vedetta samba-4.6.5]# samba-tool domain provision –use-rfc2307 –interactive
Realm [OCEANO.LAN]: MYADDOMAIN.LOCAL
Domain [MARIOCOTTA]: MYADDOMAIN
Server Role (dc, member, standalone) [dc]: dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
DNS forwarder IP address (write ‘none’ to disable forwarding) [192.168.2.201]: 192.168.2.203
Administrator password: Passw0rd (DEVE ESSERE MINIMO 8 CARATTERI DI LUNGHEZZA AVERE UNA MAIUSCOLA E UN NUMERO)
Retype password: Passw0rd
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=myaddomain,DC=local
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=myaddomain,DC=local
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba AD has been generated at /usr/local/samba/private/krb5.conf
Setting up fake yp server settings
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: vedetta
NetBIOS Domain: MYADDOMAIN
DNS Domain: myaddomain.local
DOMAIN SID: S-1-5-21-2120746782-3726210898-4119346569

L’ultimo passo per poter poter far lavorare questa macchina come AD DC è quello di configurare per la sincronia dell’orario, e modifichiamo il file ntp.conf in questo modo

# Local clock. Note that is not the “localhost” address!
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example

server 0.debian.pool.ntp.org iburst prefer
server 1.debian.pool.ntp.org iburst prefer
server 2.debian.pool.ntp.org iburst prefer
server 3.debian.pool.ntp.org iburst prefer

restrict -4 default kod notrap nomodify nopeer mssntp
restrict -6 default kod notrap nomodify nopeer mssntp
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
restrict 0.debian.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 1.debian.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 2.debian.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 3.debian.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery

Assicuriamoci che il nostro samba parta all’avvio della macchina prendendo questo script
# wget “https://anonscm.debian.org/gitweb/?p=pkg-samba/samba.git;a=blob_plain;f=debian/samba.samba-ad-dc.init;h=3132d2e367675f822342a5b7bc2e50c046aa3b8f;hb=HEAD” -O /etc/init.d/samba-ad-dc
#chmod 775 /etc/init.d/samba-ad-dc &&  update-rc.d samba-ad-dc defaults

a questo punto qualche test per vedere se tutto funziona, col comando samba lanciamo il nostro server e diamo questo comando

# smbclient -L localhost -U%
Domain=[MYADDOMAIN] OS=[] Server=[]

Sharename Type Comment
——— —- ——-
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.6.5)
Domain=[MYADDOMAIN] OS=[] Server=[]

Server Comment
——— ——-

Workgroup Master
——— ——-

le share netlogon e sysvol sono  generate automaticamente e devono esserci un dominio AD
a questo punto apparirà  un messaggio che dice che la password ha ancora tot giorni di vita prima di dover essere cambiata, fastidioso come fatto, di facile soluzione con:
# samba-tool user setexpiry Administrator –noexpiry
Expiry for user ‘Administrator’ disabled.
Verifichiamo adesso l’autenticazione connettendoci alla share netlogon usando l’utente administrator

clark@vedetta:/usr/local/samba/private$ /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c ‘ls’
Enter MYADDOMAIN\Administrator’s password:
Domain=[MYADDOMAIN] OS=[] Server=[]
. D 0 Tue Sep 12 16:48:05 2017
.. D 0 Tue Sep 12 16:48:24 2017

3596128 blocks of size 1024. 866876 blocks available

E anche qui ci siamo. verifichiamo adesso se il DNS funziona correttamente facendo alcune query.
La prima query con tcp a ldap
clark@vedetta:/usr/local/samba/private$ host -t SRV _ldap._tcp.myaddomani.local
_ldap._tcp.myaddomain.local has SRV record 0 100 389 vedetta.myaddomain.local.
la seconda con udp a kerberos
clark@vedetta:/usr/local/samba/private$ host -t SRV _kerberos._udp.myaddomain.local
_kerberos._udp.myaddomain.local has SRV record 0 100 88 vedetta.myaddomain.local.
Da ultimo il record A per il domian controller
clark@vedetta:/usr/local/samba/private$ host -t A vedetta.myaddomain.local
vedetta.myaddomain.local has address 192.168.2.201
e anche qui ci siamo.

Reference: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller


Categorised as: Linux | Samba

Comments are disabled on this post


Comments are closed.