Samba DC si një kontrollues i dytë në domenin AD Windows 2012R2 dhe dosjet e zhvendosura për klientët në Windows dhe Linux

Samba DC si një kontrollues i dytë në domenin AD Windows 2012R2 dhe dosjet e zhvendosura për klientët në Windows dhe Linux
Të ardhurat për të kuptuar se isha në një proces zëvendësimi nuk erdhën menjëherë. Vetëm kur nga organizata më e lartë furnizimet e reja të kompjuterëve filluan të mbërrinin sistematikisht me distribucionin "Alt Linux" në bord, dyshova se diçka nuk ishte në rregull.

Megjithatë, gjatë kalimit nëpër fazat e pranimit të të paevitueshmes, u angazhova dhe madje fillova të shijoj procesin. Në një moment, mendova se me këtë ritëm do të duhej të ndahem nga zgjidhjet për organizimin e shërbimit të katalogëve nga Microsoft dhe të kërkoja diçka më ekzotike. Prandaj, për t'u përgatitur për të paevitueshmen dhe për të kapur sa më shumë pengesa, ishte vendosur të ndërtohej një test shtand që përfshin:

  • DC1 — Windows Server 2012R2
  • DC2 — Alt Server 8.2
  • File Server — Windows Server 2012R2
  • PC1 — Windows 7
  • PC2 — Alt Workstation 8.2

Detyrat e shtandit:

  1. Shkruani një domen mbi w2k12r2. Krijoni një grup minimal politikash të grupit (ngjashëm me ato që përdoren në infrastrukturën e punës), duke përfshirë politikën e transferimit të dosjeve të punës së përdoruesve (Shkarkime/Dokumenti/Desktop). Në fund, dëshiroj që kur përdoruesi të kalojë nga Windows në Linux dhe anasjelltas, ai të ketë qasje të rehatshme në dokumentet e tij të punës.
  2. Futja e Samba DC si një kontrollues i dytë. Kontrolli i replikimit të shërbimeve të katalogut dhe DNS
  3. Konfigurimi i klientëve Linux për të punuar me dosjet e lëvizshme

Zbatimi:

  1. Instalimi dhe futja e kontrolluesit të riMe instalimin e MS Windows 2012R2 është e thjeshtë dhe mëse e kuptueshme. Në internet ka 1001 manual për vendosjen e domenit në Windows, si përmes GUI ashtu edhe me mjetet Powershell, prandaj nuk do ta përsëris edhe një herë, do të lë vetëm këtu në dokumentacionin zyrtar, për ata që janë kuriozë dhe për ata që duan të freskojnë memorjen e tyre.

    Megjithatë, ka një pikë të rëndësishme në këtë pikë. Në ditët e sotme, Samba nuk di të punojë me skemat e katalogut mbi 2008R2.

    Kreu i spojlerit Saktë, zhvilluesit e saj e kanë deklaruar këtë mbështetje si eksperimentale. Por në praktikë, përpjekja për të futur Samba si një DC të dytë në një domen ekzistues Windows me skemën 69 do t'ju përballë me një gabim të tillë.

    DsAddEntry dështoi me statusin WERR_ACCESS_DENIED info (8567, ‘WERR_DS_INCOMPATIBLE_VERSION’)

    Problemi është se Windows 2012 dhe 2012R2 përdorin veglat WMI për të punuar me dome dhe pyje, mbështetje stabile e të cilave është paralajmëruar vetëm për versionin Samba 4.11, i cili pritet të dalë para përfundimit të këtij viti.
    Nga kjo del se opsioni i vetëm për të futur Samba në domenin AD, i vendosur në një server 2012R2, është ulja e skemës nga 69 në 47. Në siguri, në infrastrukturën aktive nuk është e nevojshme ta bëni këtë pa arsye të forta, por këtu kemi një test, kështu që përse jo.

    Instalojmë Alt Server 8.2. Gjatë instalimit, zgjidhni profilin 'Server Samba-DC (kontroller AD)'. Në serverin e vendosur, kryejmë një përditësim të plotë të sistemit, dhe instalar paketën task-samba-dc, e cila do të sjellë gjithçka të nevojshme.

    # apt-get install task-samba-dc

    Nëse ndonjëherë task-samba-dc, përkundër premtimeve të dokumentacionit të Altës, refuzon të instalojë gjithçka të nevojshme vetë.

    # apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-devel

    Tani kalojmë në konfigurimin e Kerberos dhe marrjen e biletës. Hapim skedarin krb5.conf, kalojmë në seksionin [libdefaults], dhe e sjellim në këtë formë:

    # vim /etc/krb5.conf
     dns_lookup_kdc = true
     dns_lookup_realm = true
     default_realm = TEST.LOCAL

    Kërkojmë biletën

    # kinit administrator
    Password for administrator@TEST.LOCAL:

    Kontrollojmë listën e biletave të marra nga Kerberos

    # 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:35

    Tani fshijmë ose rinominojmë konfigurimin ekzistues të Samba.

    # mv smb.conf smb.conf.bak1

    Dhe përfundimisht, e regjistrojmë në domenin AD si kontrolluesin e dytë:

    # samba-tool domain join test.local DC -U"TESTadministrator"

    Regjistrimi i suksesshëm do të shoqërohet me logun e mëposhtëm

    Po gjetur një DC të shkruar për domenin 'test.local'
    Gjetur DC DC1.TEST.LOCAL
    Fjalëkalimi për [TESTadministrator]:
    Rikonekting në masterin e emrave e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.LOCAL
    Emri DNS i masterit të ri të emrave është DC1.TEST.LOCAL
    Grupi i punës është TEST
    Rrethi është TEST.LOCAL
    Duke shtuar CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
    Duke shtuar CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL
    Duke shtuar CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL
    Duke shtuar SPNs në CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
    Duke vendosur fjalëkalimin e llogarisë për DC2$
    Duke aktivizuar llogarinë
    Duke thirrur provizionin e zbrazët
    Duke kërkuar adresat IPv4
    Duke kërkuar adresat IPv6
    Nuk do të vihet një adresë IPv6
    Duke vendosur share.ldb
    Duke vendosur secrets.ldb
    Duke vendosur regjistrin
    Duke vendosur bazën e privilegjeve
    Duke vendosur db idmap
    Duke vendosur db SAM
    Duke vendosur partitë dhe cilësimet e sam.ldb
    Duke vendosur rootDSE të sam.ldb
    Duke ngarkuar skemën Samba 4 dhe AD
    Një konfigurim Kerberos i përshtatshëm për Samba AD është krijuar në /var/lib/samba/private/krb5.conf
    Provision OK për DN e domenit DC=TEST,DC=LOCAL
    Duke filluar replikimin
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekte[402/1426] vlera_të lidhura[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekte[804/1426] vlera_të lidhura[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekte[1206/1426] vlera_të lidhura[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekte[1608/1426] vlera_të lidhura[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekte[1743/1426] vlera_të lidhura[0/0]
    Analizoni dhe aplikoni objektet e skemës
    Particioni[CN=Configuration,DC=TEST,DC=LOCAL] objekte[402/2240] vlera_të lidhura[0/24]
    Particioni[CN=Configuration,DC=TEST,DC=LOCAL] objekte[804/2240] vlera_të lidhura[0/24]
    Particioni[CN=Configuration,DC=TEST,DC=LOCAL] objekte[1206/2240] vlera_të lidhura[0/24]
    Particioni[CN=Configuration,DC=TEST,DC=LOCAL] objekte[1608/2240] vlera_të lidhura[0/24]
    Particioni[CN=Configuration,DC=TEST,DC=LOCAL] objekte[1772/2240] vlera_të lidhura[24/24]
    Duke replikuar objektet kritike nga DN bazi i domenit
    Particioni[DC=TEST,DC=LOCAL] objekte[109/110] vlera_të lidhura[26/29]
    Particioni[DC=TEST,DC=LOCAL] objekte[394/5008] vlera_të lidhura[29/29]
    Përfunduar me NC gjithmonë të replikuar (baza, konfig, skemë)
    Duke replikuar DC=DomainDnsZones,DC=TEST,DC=LOCAL
    Particioni[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekte[42/42] vlera_të lidhura[0/0]
    Duke replikuar DC=ForestDnsZones,DC=TEST,DC=LOCAL
    Particioni[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekte[20/20] vlera_të lidhura[0/0]
    Exop për[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objekte[3] vlera_të lidhura[0]
    Duke angazhuar bazën e SAM
    Duke shtuar 1 rekord DNS të largët për DC2.TEST.LOCAL
    Duke shtuar rekord A DNS DC2.TEST.LOCAL për IPv4 IP: 192.168.90.201
    Duke shtuar rekord CNAME DNS 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL për DC2.TEST.LOCAL
    Të gjitha rekordet e tjera DNS (si rekordet _ldap SRV) do të krijohen në sambadnsupdate në nisjen e parë
    Duke replikuar rekordet e reja DNS në DC=DomainDnsZones,DC=TEST,DC=LOCAL
    Particioni[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekte[1/42] vlera_të lidhura[0/0]
    Duke replikuar rekordet e reja DNS në DC=ForestDnsZones,DC=TEST,DC=LOCAL
    Particioni[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekte[1/20] vlera_të lidhura[0/0]
    Duke dërguar DsReplicaUpdateRefs për të gjithë partitë e replikuara
    Duke vendosur isSynchronized dhe dsServiceName
    Duke vendosur bazën e sekreteve
    U bashkuar në domenin TEST (SID S-1-5-21-3959064270-1572045903-2556826204) si një DC

    Në mjetin ADUC duhet të shfaqet një regjistër për DC-në e re në domainin TEST.LOCAL, dhe në menaxherin e DNS duhet të shfaqet një regjistër A i ri që i përshtatet DC2.

  2. Replikimi midis kontrollorëveSë pari, le të kontrollojmë funksionimin e shërbimit të replikimit të katalogëve (DRS)
    # samba-tool drs showrepl

    Të gjitha përpjekjet për replikim në daljen duhet të jenë të suksesshme. Në listën e objekteve KCC, brenda 15 minutash pas hyrjes, duhet të shfaqet DC1 ynë në Windows

    Default-First-Site-NameDC2
    	Opsionet DSA: 0x00000001
    	GUID-i objektit DSA: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf
    	Id-invokimit të DSA: 017997b5-d718-41d7-a3f3-e57ab5151b5c
    
    	==== FQIT GJÈNDRAT ====
    
    	DC=ForestDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ E hënë, 27 Maj 2019, 12:56:31 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ E hënë, 27 Maj 2019, 12:56:31 MSK
    
    	DC=DomainDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ E hënë, 27 Maj 2019, 12:56:32 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ E hënë, 27 Maj 2019, 12:56:32 MSK
    
    	CN=Schema,CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ E hënë, 27 Maj 2019, 12:56:32 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ E hënë, 27 Maj 2019, 12:56:32 MSK
    
    	DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ E hënë, 27 Maj 2019, 12:56:32 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ E hënë, 27 Maj 2019, 12:56:32 MSK
    
    	CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ E hënë, 27 Maj 2019, 12:56:33 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ E hënë, 27 Maj 2019, 12:56:33 MSK
    
    	==== FQIT Tjerë ====
    
    	DC=ForestDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ Enjten, 23 Maj 2019, 16:40:03 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ Enjten, 23 Maj 2019, 16:40:03 MSK
    
    	DC=DomainDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ Enjten, 23 Maj 2019, 16:40:03 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ Enjten, 23 Maj 2019, 16:40:03 MSK
    
    	CN=Schema,CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ Enjten, 23 Maj 2019, 16:40:08 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ Enjten, 23 Maj 2019, 16:40:08 MSK
    
    	DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ Enjten, 23 Maj 2019, 16:40:08 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ Enjten, 23 Maj 2019, 16:40:08 MSK
    
    	CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 përmes RPC
    	                GUID-i objektit DSA: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Përpjekja e fundit @ E hënë, 27 Maj 2019, 12:12:17 MSK ishte e suksesshme
    	                0 dështime të njëpasnjëshme.
    	                Suksesi i fundit @ E hënë, 27 Maj 2019, 12:12:17 MSK
    
    	==== OBJEKTET E KCC KONEKSIONIT ====
    
    	Koneksioni --
    	        Emri i koneksionit: 6d2652b3-e723-4af7-a19f-1ee48915753c
    	        Aktivizuar        : E VËRTETË
    	        Emri DNS i serverit : DC1.test.local
    	        Emri DN i serverit  : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=local
    	                Lloji i Transportit: RPC
    	                opsionet: 0x00000001
    	Kujdes: Nuk ka NC të replikuar për koneksion!

    Kujdes «Nuk është replikimi NC për Lidhjen!» mund të injorohet me siguri. Ky mesazh shfaqet sepse gjatë regjistrimit të një DC të ri, Samba vendos gabimisht disa flamuj replikimi.

    Po ashtu, do të ishte mirë të kontrolloni replikimin LDAP.

    # samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -Uadministrator

    Komanda e dhënë më parë do të krahasojë vlerat e atributeve të objekteve në të gjithë katalogun mes DC1 dhe DC2.

    Shembulli i replikimit të suksesshëm

    * Duke krahasuar kontekstin [DOMAIN]...
    
    	* Objeksionet që do të krahasohen: 249
    
    	* Rezultati për [DOMAIN]: SUKSE
    
    	* Duke krahasuar kontekstin [CONFIGURATION]...
    
    	* Objeksionet që do të krahasohen: 1750
    
    	* Rezultati për [CONFIGURATION]: SUKSE
    
    	* Duke krahasuar kontekstin [SCHEMA]...
    
    	* Objeksionet që do të krahasohen: 1739
    
    	* Rezultati për [SCHEMA]: SUKSE
    
    	* Duke krahasuar kontekstin [DNSDOMAIN]...
    
    	* Objeksionet që do të krahasohen: 42
    
    	* Rezultati për [DNSDOMAIN]: SUKSE
    
    	* Duke krahasuar kontekstin [DNSFOREST]...
    
    	* Objeksionet që do të krahasohen: 20
    
    	* Rezultati për [DNSFOREST]: SUKSE

    Në disa raste, atributet e objekteve në kontrollues të ndryshëm mund të ndryshojnë, dhe dalja e komandës do ta bëjë këtë të ditur. Por, në mënyrë të ngjashme, kjo nuk do të jetë shenjë e një problemi me replikimin në të gjitha rastet.

    Hapi i ardhshëm është të konfiguroni manualisht replikimin e stabilizuar të katalogut SysVol.
    Mënyra se si qëndron e vërteta është se Samba aktualisht nuk mbështet DFS-R, ashtu siç nuk mbështeti as FRS-in më të hershëm. Prandaj, për replikimin mes DC Samba dhe Windows, zgjidhja e vetme funksionale sot është replikimi njëanshëm nëpërmjet utilitarit Robocopy nga paketa Mjetet e Kitit të Burimeve të Windows Server 2003.

    Zhvilluesit e Sambas, për të shmangur probleme të pajtueshmërisë, rekomandojnë që fillimisht të instaloni paketën e mjeteve në një stacion të zakonshëm punimi dhe pastaj të kopjoni Robocopy në kontrollorin në dosjen «C:Program Files (x86)Windows Resource KitsTools»

    Pas instalimit, në menaxherin e detyrave në kontrollorin Windows krijoni një detyrë për të zbatuar replikimin me parametrat e mëposhtëm:

    — Të ekzekutohet për të gjithë përdoruesit
    — Trigger-i për ekzekutim çdo ditë çdo 5 minuta gjatë ditës
    — Në veprat specifikoni rrugën drejt utilitarit robocopy, si argumente jepni:

    DC1SYSVOLtest.local DC2SYSVOLtest.local /mir /sec

    Në këtë rast konkret kopjojmë përmbajtjen e katalogut SysVol nga DC1 në DC2.

  3. Dosjet e përdoruesve të lëvizshme me anë të konfigurimit pam_mountNë mënyrë eksperimentale kam gjetur dy opsione të vlefshme për zgjidhjen e kësaj çështjeje me ndihmën e tij.
    1. Montimi i plotë i dosjes me profil nga rrjeti në seksionin /home. Një variant i thjeshtë. Punon shkëlqyeshëm, nëse emrat e dosjeve Dokumentet e mia, Shkarkimet dhe Sipërfaqja punojnë të njëjtën mënyrë në të dy sistemet operative. Supozohet se PC-ja në Linux është tashmë e futur në domen dhe përdoruesit hyjnë me llogaritë e tyre të domenit, duke përdorur sssd si mekanizëm autentikimi dhe autorizimi.
      # 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"/>
      

      ku:

      • uid=«100000000-2000000000» — diapazoni i UID-ve që u jepet përdoruesve të domenit nga SSSD
      • server=«dfs» — emri i serverit të skedarëve
      • path=«Profile_Users/%(USER)» — burimi në serverin e skedarëve ku ruhet profili i përdoruesit
      • mountpoint=»~» — rruga e montimit në dosjen e përdoruesit

      Login-i i përdoruesit kalon në macro-variablen «%(USER)», e cila përdoret nga pam_mount për të lidhur burimin tonë të rrjetit, në formën që është shkruar në menaxherin e ekranit. Pra, është e rëndësishme që në DM login-i të jepet pa shënimin e emrit të domenit.

      Në sssd.conf, kjo zgjidhet duke komentuar ose duke vendosur vlerën False në opsionin përdorni_emra_të_kualifikuar_për_këtë, që përfshin modulin e emrave të plota (duke përfshirë domain) për përdoruesit dhe grupet.

    2. Mënyra e dytë është më pak e drejtpërdrejtë dhe më e ashpër, dhe sipas mendimit tim, është më e përshtatshme dhe e preferuar. Dallimi nga e para qëndron vetëm në konfigurimin pam_mount.
      # vim /etc/security/pam_mount.conf.xml

      Kështu që thjesht monta çdo dosje të tonën në katalogun përkatës.

Përfundimet

Në gjashtë muaj pune në testin e mjedisit, kjo lidhje ka kaluar me sukses disa humbje të dyfishta dhe të përkohshme të të dyve kontrolluesve, praktikisht pa pasoja për klientët (një herë klienti në Windows7 humbi marrëdhëniet e besimit).

Përgjithësisht, kam mbetur mjaft i kënaqur nga puna me këtë produkt, edhe pse përballë të gjitha nuancave me të cilat pata të bëja si në artikull, ashtu edhe 'mbrapa skenave'.

Ka shumë pengesa dhe do të jetë e nevojshme të zbuloni një numër të madh prej tyre gjatë punës me Samba. Megjithatë, deri më sot nuk ka zgjidhje të tjera që lejojnë organizimin e një ambienti hibrid, duke përdorur shërbimin e katalogëve dhe pa përdorimin e Windows.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster