
Svijest o tome da sam ušao u proces zamjene došla je pomalo iznenada. Samo kada su iz viših organizacija novi PC-ji počeli redovito stizati s distribucijom 'Alt Linux' na brodu, posumnjao sam da nešto nije u redu.
Međutim, tijekom procesa prolaska kroz faze prihvaćanja neizbježnog, počeo sam se uvlačiti u to i čak sam malo uživao u procesu. U nekom trenutku pomislio sam da će mi prije ili kasnije trebati napustiti Microsoftova rješenja za upravljanje katalogom i krenuti u nešto egzotičnije. Stoga sam odlučio unaprijed se pripremiti za neizbježno i, koliko god je to moguće, izbjeći zamke, tako da sam odlučio postaviti testnu platformu koja uključuje:
- DC1 — Windows Server 2012R2
- DC2 — Alt Server 8.2
- File Server — Windows Server 2012R2
- PC1 — Windows 7
- PC2 — Alt Radna stanica 8.2
Zadaci platforme:
- Postaviti domenu na bazi w2k12r2. Stvoriti minimalni set grupnih politika (kao u radnoj infrastrukturi), uključujući politiku premještanja radnih mapa korisnika (Preuzimanja/Dokumenti/Radna površina). Na kraju, želim da korisnik, pri prelasku s Windows na Linux i obrnuto, ima lak pristup svojim radnim dokumentima.
- Uvođenje Samba DC kao drugog kontrolora. Provjera replikacije usluge kataloga i DNS-a
- Postavljanje Linux klijenata za rad s premještanjem mapa
Implementacija:
- Instalacija i uvođenje novog kontroloraInstalacija MS Windows 2012R2 je jednostavna i više-manje jasna. Na internetu postoji tisuću i jedan vodič za postavljanje domene na Windows putem GUI-a ili alata Powershell, stoga neću ponavljati, ostavljam samo na službenu dokumentaciju, za znatiželjne i one koji žele obnoviti sjećanje.
Međutim, jedan važan aspekt u ovoj točki ipak postoji. Trenutno Samba ne može raditi s shemama kataloga višim od 2008R2.
Naslov proširivanja U razvijačima se ta podrška izjavljuje kao eksperimentalna. No, u praksi će pokušaj uključivanja Sambe kao drugog DC-a u postojeću Windows domenu sa shemom 69 naići na sljedeću pogrešku
DsAddEntry failed with status WERR_ACCESS_DENIED info (8567, 'WERR_DS_INCOMPATIBLE_VERSION')
Problem je u tome što Windows 2012 i 2012R2 koriste WMI alate za rad s domenama i šumama, čija stabilna podrška najavljena je tek za verziju Samba 4.11, koja bi trebala izaći do kraja ove godine.
Iz toga slijedi da je jedina opcija za uvođenje Sambe u AD domenu postavljenu na serveru 2012R2 smanjenje sheme s 69 na 47. Naravno, na radnoj infrastrukturi ne treba to raditi bez važnih razloga, ali imamo testnu platformu, pa zašto ne.Instaliramo Alt Server 8.2. Tijekom instalacije odabiremo profil „Samba-DC server (AD kontroler)“. Na postavljenom serveru provodimo potpuno ažuriranje sustava i instaliramo paket task-samba-dc, koji će obuhvatiti sve potrebno.
# apt-get install task-samba-dcAko slučajno task-samba-dc, uprkos uvjeravanjima dokumentacije Alt, odbije instalirati sve potrebne komponente.
# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-develDalje prelazimo na postavljanje Kerberosa i dobivanje karte. Otvorimo datoteku krb5.conf, prelazimo u odjeljak [libdefaults], i dovedemo je u sljedeći oblik:
# vim /etc/krb5.confdns_lookup_kdc = true dns_lookup_realm = true default_realm = TEST.LOCALZatražujemo kartu
# kinit administrator Password for administrator@TEST.LOCAL:Provjeravamo popis dobivenih Kerberos karata
# 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:35Sada uklanjamo ili preimenujemo postojeći Samba konfiguracijski fajl.
# mv smb.conf smb.conf.bak1I konačno unosimo u AD domenu kao drugi kontroler:
# samba-tool domain join test.local DC -U"TESTadministrator"Uspješni unos bit će praćen sljedećim logom
Pronalaženje zapisive DC za domenu 'test.local' Pronađen DC DC1.TEST.LOCAL Lozinka za [TESTadministrator]: Ponovno povezivanje na naziv majstora e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.LOCAL DNS ime novog naziva majstora je DC1.TEST.LOCAL radna grupa je TEST kraljevstvo je TEST.LOCAL Dodavanje CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL Dodavanje CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL Dodavanje CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL Dodavanje SPN-ova za CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL Postavljanje lozinke za račun DC2$ Omogućavanje računa Pozivanje osnovne provision Pretraživanje IPv4 adresa Pretraživanje IPv6 adresa Nema IPv6 adrese koja će biti dodeljena Postavljanje share.ldb Postavljanje secrets.ldb Postavljanje registra Postavljanje privilegija baze podataka Postavljanje idmap db Postavljanje SAM db Postavljanje sam.ldb particija i postavki Postavljanje sam.ldb rootDSE Pre-učitavanje Samba 4 i AD sheme Kerberos konfiguracija pogodna za Samba AD generisana je na /var/lib/samba/private/krb5.conf Provision OK za domenu DN DC=TEST,DC=LOCAL Pokretanje replikacije Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekti[402/1426] povezani_vrednosti[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekti[804/1426] povezani_vrednosti[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekti[1206/1426] povezani_vrednosti[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekti[1608/1426] povezani_vrednosti[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekti[1743/1426] povezani_vrednosti[0/0] Analiza i primena objekata sheme Particija[CN=Configuration,DC=TEST,DC=LOCAL] objekti[402/2240] povezani_vrednosti[0/24] Particija[CN=Configuration,DC=TEST,DC=LOCAL] objekti[804/2240] povezani_vrednosti[0/24] Particija[CN=Configuration,DC=TEST,DC=LOCAL] objekti[1206/2240] povezani_vrednosti[0/24] Particija[CN=Configuration,DC=TEST,DC=LOCAL] objekti[1608/2240] povezani_vrednosti[0/24] Particija[CN=Configuration,DC=TEST,DC=LOCAL] objekti[1772/2240] povezani_vrednosti[24/24] Replikacija kritičnih objekata iz osnovnog DN-a domene Particija[DC=TEST,DC=LOCAL] objekti[109/110] povezani_vrednosti[26/29] Particija[DC=TEST,DC=LOCAL] objekti[394/5008] povezani_vrednosti[29/29] Završeno sa uvek replikovanim NC (osnovna, konfiguracija, shema) Replikacija DC=DomainDnsZones,DC=TEST,DC=LOCAL Particija[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekti[42/42] povezani_vrednosti[0/0] Replikacija DC=ForestDnsZones,DC=TEST,DC=LOCAL Particija[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekti[20/20] povezani_vrednosti[0/0] Exop na[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objekti[3] povezani_vrednosti[0] Zatvaranje SAM baze podataka Dodavanje 1 udaljene DNS zapisa za DC2.TEST.LOCAL Dodavanje DNS A zapisa DC2.TEST.LOCAL za IPv4 IP: 192.168.90.201 Dodavanje DNS CNAME zapisa 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL za DC2.TEST.LOCAL Svi ostali DNS zapisi (kao što su _ldap SRV zapisi) biće kreirani samba_dnsupdate pri prvom pokretanju Replikacija novih DNS zapisa u DC=DomainDnsZones,DC=TEST,DC=LOCAL Particija[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekti[1/42] povezani_vrednosti[0/0] Replikacija novih DNS zapisa u DC=ForestDnsZones,DC=TEST,DC=LOCAL Particija[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekti[1/20] povezani_vrednosti[0/0] Slanje DsReplicaUpdateRefs za sve replike particije Postavljanje isSynchronized i dsServiceName Postavljanje baze podataka sekreta Priključen domen TEST (SID S-1-5-21-3959064270-1572045903-2556826204) kao DCU ADUC alatu trebala bi se pojaviti stavka o novom DC-u u domeni TEST.LOCAL, a u DNS upravitelju nova A stavka koja odgovara DC2.
- Replikacija između kontroleraZa početak provjerimo rad usluge replikacije direktorija (DRS)
# samba-tool drs showreplSve pokušaje replikacije u ispisu trebaju biti uspješni. U KCC popisu objekata, unutar 15 minuta nakon unosa, trebao bi se pojaviti naš DC1 na Windowsu.
Zadani- prvi-naziv-mjestaDC2 DSA opcije: 0x00000001 DSA objekt GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c ==== ULAZNI SUSJEDI ==== DC=ForestDnsZones,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Pon 27. svibnja 12:56:31 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Pon 27. svibnja 12:56:31 2019 MSK DC=DomainDnsZones,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Pon 27. svibnja 12:56:32 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Pon 27. svibnja 12:56:32 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Pon 27. svibnja 12:56:32 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Pon 27. svibnja 12:56:32 2019 MSK DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Pon 27. svibnja 12:56:32 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Pon 27. svibnja 12:56:32 2019 MSK CN=Configuration,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Pon 27. svibnja 12:56:33 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Pon 27. svibnja 12:56:33 2019 MSK ==== IZLAZNI SUSJEDI ==== DC=ForestDnsZones,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Čet 23. svibnja 16:40:03 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Čet 23. svibnja 16:40:03 2019 MSK DC=DomainDnsZones,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Čet 23. svibnja 16:40:03 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Čet 23. svibnja 16:40:03 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Čet 23. svibnja 16:40:08 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Čet 23. svibnja 16:40:08 2019 MSK DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Čet 23. svibnja 16:40:08 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Čet 23. svibnja 16:40:08 2019 MSK CN=Configuration,DC=test,DC=local Zadani - prvi-naziv-mjestaDC1 preko RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Posljednji pokušaj @ Pon 27. svibnja 12:12:17 2019 MSK bio je uspješan 0 uzastopnih neuspjeha. Posljednji uspjeh @ Pon 27. svibnja 12:12:17 2019 MSK ==== KCC VEZE OBJEKTI ==== Veza -- Ime veze: 6d2652b3-e723-4af7-a19f-1ee48915753c Omogućeno : DA Naziv DNS poslužitelja : DC1.test.local Naziv DN poslužitelja : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Zadani-prvi-naziv-mjesta,CN=Sites,CN=Configuration,DC=test,DC=local TransportType: RPC opcije: 0x00000001 Upozorenje: Nema NC repliciranog za vezu!Upozorenje «Nema NC repliciranog za vezu!» možete slobodno ignorirati. Pojavljuje se jer prilikom registracije nove Samba DC pogrešno postavlja neke zastavice replikacije.
Također bi bilo dobro provjeriti replikaciju LDAP-a.
# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -UadministratorGore navedena naredba usporedit će vrijednosti atributa objekata cijelog direktorija na DC1 i DC2.
Primjer uspješne replikacije
* Uspoređivanje [DOMENA] konteksta... * Objekti koji se uspoređuju: 249 * Rezultat za [DOMENU]: USPJEH * Uspoređivanje [KONFIGURACIJA] konteksta... * Objekti koji se uspoređuju: 1750 * Rezultat za [KONFIGURACIJU]: USPJEH * Uspoređivanje [SHEMA] konteksta... * Objekti koji se uspoređuju: 1739 * Rezultat za [SHEMA]: USPJEH * Uspoređivanje [DNSDOMENA] konteksta... * Objekti koji se uspoređuju: 42 * Rezultat za [DNSDOMENU]: USPJEH * Uspoređivanje [DNSŠUMA] konteksta... * Objekti koji se uspoređuju: 20 * Rezultat za [DNSŠUMU]: USPJEHU nekim slučajevima atributi objekata na različitim kontrolerima mogu se razlikovati, a ishod naredbe će vas o tome obavijestiti. No, ne u svim slučajevima to će biti znak problema s replikacijom.
Sljedeći korak je ručno postaviti stabilnu replikaciju SysVol direktorija.
Činjenica je da Samba još ne podržava DFS-R, kao što nije podržavala raniji FRS. Stoga je trenutno jedino radno rješenje za replikaciju između Samba DC-a i Windows-a jednomjerno replikacija pomoću alata Robocopy iz kompleta .Razvijatelji Sambe, kako bi izbjegli probleme s kompatibilnošću, preporučuju prvo instalirati paket alata na običnu radnu stanicu, a zatim kopirati Robocopy na kontroler u folder «C:Program Files (x86)Windows Resource KitsTools»
Nakon instalacije, u planeru zadataka na kontroleru s Windows-om kreiramo zadatak za izvršenje replikacije s sljedećim parametrima:
— Izvršavati za sve korisnike
— Okidač za izvršenje Dnevno svake 5 minuta tokom dana
— U akcijama navodimo put do alata robocopy, kao argumente postavljamo:DC1SYSVOLtest.local DC2SYSVOLtest.local \/mir \/secU konkretnom slučaju kopiramo sadržaj direktorija SysVol s DC1 na DC2.
- Prenosive mape korisnika uz pomoć konfiguracije pam_mountEmperički sam pronašao dva održiva rješenja za ovaj zadatak uz njegovu pomoć.
- Potpuno montiranje mape profila iz mreže u odjeljak /home. Jednostavna opcija. Odlično funkcionira ako se nazivi mapa Moji dokumenti, Preuzimanja i Radna površina podudaraju u oba operacijska sustava. Podrazumijeva se da je PC na Linuxu već uključen u domenu i da se korisnici prijavljuju pod svojim domenama, koristeći sssd kao mehanizam autentifikacije i autorizacije.
# 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"/>gdje:
- uid=«100000000-2000000000» — raspon UID koji se dodjeljuje domenim korisnicima od SSSD
- server=«dfs» — naziv datotečnog servera
- path=«Profile_Users/%(USER)» — resurs na datotečnom serveru s pohranjenim korisničkim profilom
- mountpoint=»~» — put do montaže u korisnički home direktorij
Korisničko ime se prenosi u makro varijablu «%(USER)», koja se koristi u pam_mount za povezivanje našeg mrežnog resursa, u obliku u kojem je uneseno u upravitelju prikaza. Zato je važno da se u DM korisničko ime unosi bez izričitog navođenja domenskog imena.
U sssd.conf to se rješava komentiranjem ili postavljanjem vrijednosti False u opciju use_fully_qualified_names, koja uključuje način rada s punim imenima (uključujući domenu) za korisnike i grupe.
- Drugi način je manje izravan i grub, a po mom mišljenju udobniji i poželjniji. Razlika od prvog je samo u konfiguraciji pam_mount
# vim /etc/security/pam_mount.conf.xmlDrugim riječima, jednostavno odvojeno montiramo svaku našu mapu u odgovarajući katalog
- Potpuno montiranje mape profila iz mreže u odjeljak /home. Jednostavna opcija. Odlično funkcionira ako se nazivi mapa Moji dokumenti, Preuzimanja i Radna površina podudaraju u oba operacijska sustava. Podrazumijeva se da je PC na Linuxu već uključen u domenu i da se korisnici prijavljuju pod svojim domenama, koristeći sssd kao mehanizam autentifikacije i autorizacije.
Zaključci
Tijekom polu mjeseca rada na testnom okruženju, ova kombinacija uspješno je preživjela nekoliko dugotrajnih i kratkotrajnih prekida rada oba kontrolera, praktički bez posljedica za klijente (jednom je klijent na Windows7 izgubio povjerenje).
Sve u svemu, ostali su mi prilično prijatni utisci o radu s ovim proizvodom, čak i uz sve nijanse s kojima sam se suočio, kako u članku, tako i 'iza kulisa'.
Ima puno zamki koje će se tokom rada sa Sambom morati pronaći u velikom broju. Ipak, trenutno ne postoje druga rešenja koja omogućavaju organizaciju hibridnog okruženja koristeći uslugu direktorija bez korišćenja Windows-a.
Izvor: habr.com
