
Conștientizarea că am intrat în procesul de substituție nu a venit imediat. Numai când livrările recente de PC-uri din organizația superioară au început să sosească constant cu distribuția „Alt Linux” la bord, am început să suspectez ceva neîn regulă.
Cu toate acestea, în procesul de trecere prin etapele acceptării inevitabilului, m-am implicat și chiar am început să mă bucur puțin de acest proces. La un moment dat, m-am gândit că, în acest ritm, mai devreme sau mai târziu va trebui să mă despart de soluțiile de organizare a serviciului de directoare de la Microsoft și să mă îndrept spre ceva mai exotic. Prin urmare, pentru a mă pregăti din timp pentru inevitabil și a identifica, pe cât posibil, mai multe capcane, am decis să desfășor un stand de testare, care să includă:
- DC1 — Windows Server 2012R2
- DC2 — Alt Server 8.2
- File Server — Windows Server 2012R2
- PC1 — Windows 7
- PC2 — Alt Stație de lucru 8.2
Sarcinile standului:
- Desfășurarea unui domeniu pe baza w2k12r2. Crearea unui set minim de politici de grup (similar celor utilizate în infrastructura de lucru), inclusiv politica de migrare a folderelor de lucru ale utilizatorilor (Descărcări/Documente/desktop). În cele din urmă, îmi doresc ca, atunci când utilizatorul schimbă locul de muncă de la Windows la Linux și invers, să aibă un acces confortabil la documentele sale de lucru.
- Introduceți Samba DC ca al doilea controler. Verificarea replicării serviciului de directoare și DNS.
- Configurarea clienților Linux pentru a lucra cu folderele mutabile.
Implementare:
- Instalarea și introducerea noului controler.Instalarea MS Windows 2012R2 este simplă și mai mult sau mai puțin clară. Există 1001 de tutoriale pe internet pentru desfășurarea unui domeniu pe Windows, atât prin intermediul GUI, cât și cu ajutorul Powershell, așa că nu voi repeta din nou, voi lăsa doar documentația oficială, pentru cei curioși și cei care doresc să își reînvie memoria.
Cu toate acestea, există un punct important în această secțiune. La momentul actual, Samba nu poate lucra cu schemele de directoare mai mari de 2008R2.
Titlu spoiler Mai precis, dezvoltatorii au declarat că acest suport este experimental. Dar în practică, încercarea de a introduce Samba ca al doilea DC într-un domeniu Windows existent cu schema 69 va întâlni următoarea eroare:
DsAddEntry a eșuat cu status WERR_ACCESS_DENIED info (8567, ‘WERR_DS_INCOMPATIBLE_VERSION’)
Problema este că Windows 2012 și 2012R2 folosesc instrumentele WMI pentru a lucra cu domeniile și pădurile, iar suportul stabil pentru acestea a fost anunțat abia în versiunea Samba 4.11, care ar trebui să iasă înainte de sfârșitul acestui an.
Din aceasta reiese că singura opțiune pentru a introduce Samba în domeniul AD desfășurat pe un server 2012R2 este retrogradarea schemei de la 69 la 47. Desigur, pe o infrastructură de lucru, fără motive întemeiate, nu este nevoie să facem asta, dar avem aici un mediu de testare, așa că de ce nu?Instalăm Alt Server 8.2. În timpul instalării, alegem profilul „Server Samba-DC (controler AD)”. Pe serverul desfășurat, realizăm o actualizare completă a sistemului și instalăm pachetul task-samba-dc, care va aduce tot ce este necesar.
# apt-get install task-samba-dcDacă dintr-o dată task-samba-dc, contrar asigurărilor documentației Alt, refuză să instaleze tot ce este necesar.
# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-develApoi trecem la configurarea Kerberos și obținerea unui bilet. Deschidem fișierul krb5.conf, mergem în secțiunea [libdefaults] și îl aducem la următoarea formă:
# vim /etc/krb5.confdns_lookup_kdc = true dns_lookup_realm = true default_realm = TEST.LOCALCerem un bilet
# kinit administrator Password for administrator@TEST.LOCAL:Verificăm lista biletelor Kerberos obținute
# klist Ticket cache: KEYRING:persistent:0:0 Default principal: administrator@TEST.LOCAL Valid starting Expires Service principal 16.05.2019 11:51:38 16.05.2019 21:51:38 krbtgt/TEST.LOCAL@TEST.LOCAL renew until 23.05.2019 11:51:35Acum ștergem sau redenumim configurația existentă a Samba.
# mv smb.conf smb.conf.bak1Și în sfârșit, ne introducem în domeniul AD ca al doilea controler:
# samba-tool domain join test.local DC -U"TESTadministrator"Introducerea reușită va fi însoțită de următoarea logare
Găsirea unui DC scriabil pentru domeniul 'test.local' DC găsit DC1.TEST.LOCAL Parola pentru [TESTadministrator]: Reconectare la masterul de nume e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.LOCAL Numele DNS al noului master de nume este DC1.TEST.LOCAL grup de lucru este TEST regatul este TEST.LOCAL Adăugare CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL Adăugare CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL Adăugare CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL Adăugare SPN-uri la CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL Setare parolă cont pentru DC2$ Activare cont apelare provisionare bare Căutare adrese IPv4 Căutare adrese IPv6 Nicio adresă IPv6 nu va fi alocată Configurare share.ldb Configurare secrets.ldb Configurare registru Configurare baza de date privilegii Configurare db idmap Configurare db SAM Configurare partiții și setări sam.ldb Configurare rootDSE sam.ldb Încărcare prealabilă a schemei Samba 4 și AD O configurație Kerberos adecvată pentru Samba AD a fost generată la \/var\lib\/samba\/private\/krb5.conf Provisionare OK pentru DN-ul domeniului DC=TEST,DC=LOCAL Înnodare replicare Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] obiecte[402\/1426] valori_linked[0\/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] obiecte[804\/1426] valori_linked[0\/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] obiecte[1206\/1426] valori_linked[0\/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] obiecte[1608\/1426] valori_linked[0\/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] obiecte[1743\/1426] valori_linked[0\/0] Analizați și aplicați obiectele schemei Partiție[CN=Configuration,DC=TEST,DC=LOCAL] obiecte[402\/2240] valori_linked[0\/24] Partiție[CN=Configuration,DC=TEST,DC=LOCAL] obiecte[804\/2240] valori_linked[0\/24] Partiție[CN=Configuration,DC=TEST,DC=LOCAL] obiecte[1206\/2240] valori_linked[0\/24] Partiție[CN=Configuration,DC=TEST,DC=LOCAL] obiecte[1608\/2240] valori_linked[0\/24] Partiție[CN=Configuration,DC=TEST,DC=LOCAL] obiecte[1772\/2240] valori_linked[24\/24] Replicare obiecte critice din DN-ul de bază al domeniului Partiție[DC=TEST,DC=LOCAL] obiecte[109\/110] valori_linked[26\/29] Partiție[DC=TEST,DC=LOCAL] obiecte[394\/5008] valori_linked[29\/29] Finalizat cu NC replicat întotdeauna (bază, configurare, schemă) Replicare DC=DomainDnsZones,DC=TEST,DC=LOCAL Partiție[DC=DomainDnsZones,DC=TEST,DC=LOCAL] obiecte[42\/42] valori_linked[0\/0] Replicare DC=ForestDnsZones,DC=TEST,DC=LOCAL Partiție[DC=ForestDnsZones,DC=TEST,DC=LOCAL] obiecte[20\/20] valori_linked[0\/0] Exop pe[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] obiecte[3] valori_linked[0] Comiterea bazei de date SAM Adăugare 1 înregistrări DNS externe pentru DC2.TEST.LOCAL Adăugare înregistrare DNS A DC2.TEST.LOCAL pentru IPv4 IP: 192.168.90.201 Adăugare înregistrare DNS CNAME 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL pentru DC2.TEST.LOCAL Toate celelalte înregistrări DNS (cum ar fi înregistrările SRV _ldap) vor fi create samba_dnsupdate la prima pornire Replicare înregistrări DNS noi în DC=DomainDnsZones,DC=TEST,DC=LOCAL Partiție[DC=DomainDnsZones,DC=TEST,DC=LOCAL] obiecte[1\/42] valori_linked[0\/0] Replicare înregistrări DNS noi în DC=ForestDnsZones,DC=TEST,DC=LOCAL Partiție[DC=ForestDnsZones,DC=TEST,DC=LOCAL] obiecte[1\/20] valori_linked[0\/0] Trimitere DsReplicaUpdateRefs pentru toate partițiile replicate Setare isSynchronized și dsServiceName Configurare bază de date a secretelor Alăturare domeniului TEST (SID S-1-5-21-3959064270-1572045903-2556826204) ca un DCÎn instrumentul ADUC ar trebui să apară o intrare despre noul DC din domeniul TEST.LOCAL, iar în managerul DNS – o nouă înregistrare A corespunzătoare DC2.
- Replicația între controlerePentru început, să verificăm funcționarea serviciului de replicare a directoarelor (DRS)
# samba-tool drs showreplToate încercările de replicare din ieșire ar trebui să fie de succes. În lista obiectelor KCC, în decurs de 15 minute după introducere, ar trebui să apară DC1-ul nostru pe Windows
Default-First-Site-NameDC2 DSA Options: 0x00000001 DSA object GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c ==== VECINII ÎNTRĂRII ==== DC=ForestDnsZones,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Lun Mai 27 12:56:31 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Lun Mai 27 12:56:31 2019 MSK DC=DomainDnsZones,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Lun Mai 27 12:56:32 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Lun Mai 27 12:56:32 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Lun Mai 27 12:56:32 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Lun Mai 27 12:56:32 2019 MSK DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Lun Mai 27 12:56:32 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Lun Mai 27 12:56:32 2019 MSK CN=Configuration,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Lun Mai 27 12:56:33 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Lun Mai 27 12:56:33 2019 MSK ==== VECINII IESIRE ==== DC=ForestDnsZones,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Joi Mai 23 16:40:03 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Joi Mai 23 16:40:03 2019 MSK DC=DomainDnsZones,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Joi Mai 23 16:40:03 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Joi Mai 23 16:40:03 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Joi Mai 23 16:40:08 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Joi Mai 23 16:40:08 2019 MSK DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Joi Mai 23 16:40:08 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Joi Mai 23 16:40:08 2019 MSK CN=Configuration,DC=test,DC=local Default-First-Site-NameDC1 prin RPC DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Ultima încercare @ Lun Mai 27 12:12:17 2019 MSK a avut succes 0 eșecuri consecutive. Ultim succes @ Lun Mai 27 12:12:17 2019 MSK ==== OBIECTE DE CONEXIUNE KCC ==== Conexiune -- Numele conexiunii: 6d2652b3-e723-4af7-a19f-1ee48915753c Activat : ADEVĂRAT Numele DNS al serverului : DC1.test.local Numele DN al serverului : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=local TipTransport: RPC opțiuni: 0x00000001 Avertisment: «Niciun NC replicat pentru Conexiune!»Avertisment «Niciun NC replicat pentru Conexiune!» poate fi ignorat cu încredere. Acesta apare din cauza că, la înregistrarea unui nou DC Samba, unele flaguri de replicare sunt setate incorect.
Ar fi bine să verificați și replicarea LDAP.
# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -UadministratorComanda menționată mai sus va compara valorile atributelor obiectelor din întreaga catalog pe DC1 și DC2.
Exemplu de replicare reușită
* Comparând contextul [DOMAIN]... * Obiecte de comparat: 249 * Rezultatul pentru [DOMAIN]: SUCCES * Comparând contextul [CONFIGURATION]... * Obiecte de comparat: 1750 * Rezultatul pentru [CONFIGURATION]: SUCCES * Comparând contextul [SCHEMA]... * Obiecte de comparat: 1739 * Rezultatul pentru [SCHEMA]: SUCCES * Comparând contextul [DNSDOMAIN]... * Obiecte de comparat: 42 * Rezultatul pentru [DNSDOMAIN]: SUCCES * Comparând contextul [DNSFOREST]... * Obiecte de comparat: 20 * Rezultatul pentru [DNSFOREST]: SUCCESÎn unele cazuri, atributele obiectelor de pe diferite controlere pot diferi, iar ieșirea comenzii va indica acest lucru. Totuși, nu în toate cazurile aceasta va fi un semn al unei probleme cu replicarea.
Următorul pas este să configurați manual o replicare stabilă a catalogului SysVol.
Problema este că Samba nu suportă în prezent DFS-R, la fel cum nu a suportat FRS anterior. Prin urmare, pentru replicarea între DC Samba și Windows, soluția funcțională de până acum este replicarea unidirecțională folosind utilitarul Robocopy din pachetul .Dezvoltatorii Samba, pentru a evita problemele de compatibilitate, recomandă mai întâi instalarea pachetului de utilitare pe o stație de lucru obișnuită, după care să copiați Robocopy pe controler în folderul „C:Program Files (x86)Windows Resource KitsTools”
După instalare, în planificatorul de sarcini de pe controlerul cu Windows, creăm o sarcină pentru executarea replicării cu următoarele setări:
— Executați pentru toți utilizatorii
— Declanșator pentru execuție zilnică la fiecare 5 minute pe parcursul zilei
— În acțiuni, specificăm calea către utilitarul robocopy, ca argumente indicând:DC1SYSVOLtest.local DC2SYSVOLtest.local /mir /secÎn acest caz, copiem conținutul directorului SysVol de la DC1 la DC2.
- Folderele portabile ale utilizatorilor folosind configurația pam_mountPe cale experimentativă, am identificat două variante viabile pentru a rezolva această problemă cu ajutorul său.
- Montarea completă a dosarului cu profil din rețea în secțiunea /home. O variantă simplă. Funcționează excelent dacă numele dosarelor Documents, Downloads și Desktop coincid în ambele sisteme de operare. Se presupune că PC-ul pe Linux este deja introdus în domeniu și utilizatorii se autentifică cu conturile lor de domeniu, folosind sssd ca mecanism de autentificare și autorizare.
# vim /etc/security/pam_mount.conf.xml<volume uid="100000000-2000000000" fstype="cifs" server="dfs" path="Profile_Users/%(USER)" mountpoint="~" options="sec=krb5,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775"/>unde:
- uid=„100000000-2000000000“ — intervalul UID atribuit utilizatorilor de domeniu de la SSSD
- server=„dfs“ — numele serverului de fișiere
- path=„Profile_Users/%(USER)“ — resursa pe serverul de fișiere care conține profilul utilizatorului
- mountpoint=„~“ — calea de montare în dosarul principal al utilizatorului
Login-ul utilizatorului este transmis în variabila macro „%(USER)“, folosită de pam_mount, pentru a conecta resursa noastră de rețea, așa cum a fost introdusă în managerul de afișare. Prin urmare, este important ca în DM login-ul să fie introdus fără a specifica explicit numele domeniului.
În sssd.conf, se rezolvă comentând sau setând valoarea False în opțiunea use_fully_qualified_names, care activează modul numelui complet (inclusiv domeniul) pentru utilizatori și grupuri.
- A doua metodă este mai puțin directă și mai rudimentară, dar din punctul meu de vedere este mai convenabilă și preferabilă. Diferența față de prima constă în configurația pam_mount.
# vim /etc/security/pam_mount.conf.xmlAdică, pur și simplu montăm separat fiecare dintre dosarele noastre în directorul corespunzător
- Montarea completă a dosarului cu profil din rețea în secțiunea /home. O variantă simplă. Funcționează excelent dacă numele dosarelor Documents, Downloads și Desktop coincid în ambele sisteme de operare. Se presupune că PC-ul pe Linux este deja introdus în domeniu și utilizatorii se autentifică cu conturile lor de domeniu, folosind sssd ca mecanism de autentificare și autorizare.
Conclusions
În decurs de o jumătate de lună de activitate pe suportul de testare, acest sistem a rezistat cu succes la mai multe întreruperi prelungite și scurte ale ambilor controleri, practic fără urmări pentru clienți (o dată, un client pe Windows7 a pierdut relațiile de încredere).
În general, am rămas cu impresii destul de plăcute despre utilizarea acestui produs, chiar dacă am întâmpinat numeroase nuanțe atât în articol, cât și „în culise”.
Există multe capcane, iar pe parcursul lucrului cu Samba va trebui să le descoperi în cantitate mare. Cu toate acestea, în prezent nu există alte soluții care să permită organizarea unui mediu hibrid, folosind serviciul de catalog și fără a utiliza Windows.
Sursa: habr.com
