
Uvědomění si, že jsem se dostal do procesu importu, nepřišlo hned. Až když začaly čerstvé dodávky PC z vyšší organizace stabilně přicházet se systémem "Alt Linux" na palubě, začal jsem mít podezření, že něco není v pořádku.
Během procházení fázemi přijetí nevyhnutelného jsem se však zapojil a dokonce jsem si začal trochu užívat proces. V určitém okamžiku jsem si pomyslel, že pokud to takto půjde dál, dříve nebo později budu muset opustit řešení pro správu adresářových služeb od Microsoftu a vydat se směrem k něčemu exotickému. Proto, abych se co nejlépe připravil na nevyhnutelné a abych co nejlépe identifikoval potenciální problémy, bylo rozhodnuto spustit testovací stand, který zahrnoval:
- DC1 — Windows Server 2012R2
- DC2 — Alt Server 8.2
- Souborový server — Windows Server 2012R2
- PC1 — Windows 7
- PC2 — Alt Pracovní stanice 8.2
Úkoly standu:
- Nastavit doménu na bázi w2k12r2. Vytvořit minimální sadu skupinových politik (podobně jako ty, které se používají v pracovní infrastruktuře), včetně politiky přesunu pracovních složek uživatelů (Stahování/Dokumenty/Úvodní stránka). Nakonec bych chtěl, aby uživatel měl pohodlný přístup ke svým pracovním dokumentům při změně pracovního místa mezi Windows a Linuxem.
- Zavedení Samba DC jako druhého kontroléru. Ověření replikace adresářových služeb a DNS.
- Nastavení klientů Linux na práci s přesouvatelnými složkami.
Realizace:
- Instalace a uvedení nového kontroléru.S instalací MS Windows 2012R2 je to jednoduché a víceméně jasné. Na internetu je 1001 manuálů pro nastavení domény na Windows jak pomocí GUI, tak prostřednictvím Powershell, proto to znovu opakovat nebudu, nechám jen odkaz na oficiální dokumentaci pro zvědavé a ty, kteří si chtějí osvěžit paměť.
Avšak je zde jeden důležitý moment. V současnosti Samba neumí pracovat se schématy adresářů vyššími než 2008R2.
Název spoileru Tedy vývojáři tuto podporu deklarovali jako experimentální. Ale v praxi pokus o zavedení Samby jako druhého DC do existující domény Windows se schématem 69 vás přivítá následující chybou
DsAddEntry selhalo se stavem WERR_ACCESS_DENIED info (8567, ‘WERR_DS_INCOMPATIBLE_VERSION’)
Problém je v tom, že Windows 2012 a 2012R2 používají nástroje WMI pro práci s doménami a lesy, jejichž stabilní podpora byla oznámena až pro verzi Samba 4.11, která by měla vyjít do konce tohoto roku.
Z toho vyplývá, že jedinou možností pro integraci Samby do domény AD vytvořené na serveru 2012R2 je snížení schématu z 69 na 47. Samozřejmě, na produkční infrastruktuře to bez vážných důvodů dělat nemá smysl, ale máme tady testovací prostředí, takže proč ne.Instalujeme Alt Server 8.2. Během instalace vybíráme profil „Server Samba-DC (AD kontroler)“. Na nasazeném serveru provedeme úplnou aktualizaci systému a nainstalujeme balíček task-samba-dc, který si stáhne vše potřebné.
# apt-get install task-samba-dcPokud balíček task-samba-dc, navzdory ujištěním dokumentace Alty, odmítne nainstalovat vše potřebné, udělejte to ručně.
# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-develDále přejdeme k nastavení Kerberos a získání lístku. Otevřeme soubor krb5.conf, přejdeme do sekce [libdefaults] a přivedeme jej do následující podoby:
# vim /etc/krb5.confdns_lookup_kdc = true dns_lookup_realm = true default_realm = TEST.LOCALZískáváme lístek
# kinit administrator Password for administrator@TEST.LOCAL:Kontrolujeme seznam získaných lístků 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:35Nyní odstraníme nebo přejmenujeme stávající konfiguraci Samby.
# mv smb.conf smb.conf.bak1A nakonec provedeme připojení k doméně AD jako druhý kontroler:
# samba-tool domain join test.local DC -U"TESTadministrator"Úspěšné připojení bude doprovázeno následujícím logem
Hledání zapisovatelného DC pro doménu 'test.local' Nalezen DC DC1.TEST.LOCAL Heslo pro [TESTadministrator]: Znovu se připojuji k názvovému masteru e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.LOCAL DNS název nového názvového masteru je DC1.TEST.LOCAL Pracovní skupina je TEST Realm je TEST.LOCAL Přidávání CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL Přidávání CN=DC2,CN=Servery,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL Přidávání CN=NTDS Settings,CN=DC2,CN=Servery,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL Přidávání SPN k CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL Nastavení hesla účtu pro DC2$ Povolování účtu Volání prostého zajištění Hledání IPv4 adres Hledání IPv6 adres Žádná IPv6 adresa nebude přiřazena Nastavení share.ldb Nastavení secrets.ldb Nastavení registru Nastavení databáze privilegí Nastavení idmap db Nastavení SAM db Nastavení oddílů a nastavení sam.ldb Nastavení sam.ldb rootDSE Předběžné načítání schématu Samba 4 a AD Konfigurace Kerberos vhodná pro Samba AD byla vygenerována na /var/lib/samba/private/krb5.conf Zajištění OK pro doménový DN DC=TEST,DC=LOCAL Zahájení replikace Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekty[402/1426] propojené_hodnoty[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekty[804/1426] propojené_hodnoty[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekty[1206/1426] propojené_hodnoty[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekty[1608/1426] propojené_hodnoty[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekty[1743/1426] propojené_hodnoty[0/0] Analyzování a aplikování schématových objektů Oddíl[CN=Configuration,DC=TEST,DC=LOCAL] objekty[402/2240] propojené_hodnoty[0/24] Oddíl[CN=Configuration,DC=TEST,DC=LOCAL] objekty[804/2240] propojené_hodnoty[0/24] Oddíl[CN=Configuration,DC=TEST,DC=LOCAL] objekty[1206/2240] propojené_hodnoty[0/24] Oddíl[CN=Configuration,DC=TEST,DC=LOCAL] objekty[1608/2240] propojené_hodnoty[0/24] Oddíl[CN=Configuration,DC=TEST,DC=LOCAL] objekty[1772/2240] propojené_hodnoty[24/24] Replikace kritických objektů z base DN domény Oddíl[DC=TEST,DC=LOCAL] objekty[109/110] propojené_hodnoty[26/29] Oddíl[DC=TEST,DC=LOCAL] objekty[394/5008] propojené_hodnoty[29/29] Hotovo s vždy replikovaným NC (base, config, schema) Replikace DC=DomainDnsZones,DC=TEST,DC=LOCAL Oddíl[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekty[42/42] propojené_hodnoty[0/0] Replikace DC=ForestDnsZones,DC=TEST,DC=LOCAL Oddíl[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekty[20/20] propojené_hodnoty[0/0] Exop na[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objekty[3] propojené_hodnoty[0] Zajištění databáze SAM Přidání 1 vzdáleného DNS záznamu pro DC2.TEST.LOCAL Přidání DNS A záznamu DC2.TEST.LOCAL pro IPv4 IP: 192.168.90.201 Přidání DNS CNAME záznamu 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL pro DC2.TEST.LOCAL Všechny ostatní DNS záznamy (například _ldap SRV záznamy) budou vytvořeny pomocí samba_dnsupdate při prvním spuštění Replikace nových DNS záznamů v DC=DomainDnsZones,DC=TEST,DC=LOCAL Oddíl[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekty[1/42] propojené_hodnoty[0/0] Replikace nových DNS záznamů v DC=ForestDnsZones,DC=TEST,DC=LOCAL Oddíl[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekty[1/20] propojené_hodnoty[0/0] Odeslání DsReplicaUpdateRefs pro všechny replikované oddíly Nastavení isSynchronized a dsServiceName Nastavení databáze secrets Připojení do domény TEST (SID S-1-5-21-3959064270-1572045903-2556826204) jako DCV nástroji ADUC by se měla objevit položka nového DC v doméně TEST.LOCAL, a v DNS správci by měl být nový A záznam odpovídající DC2.
- Replikace mezi řadiči.Nejprve zkontrolujeme funkčnost služby replikace katalogů (DRS).
# samba-tool drs showreplVšechny pokusy o replikaci v výstupu by měly být úspěšné. V seznamu objektů KCC by se během 15 minut po zadání měl objevit náš DC1 na Windows.
Výchozí-první-název-stránkyDC2 DSA možnosti: 0x00000001 DSA objekt GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c ==== PŘÍCHOZÍ SOUSEDÉ ==== DC=ForestDnsZones,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Po 27. května 12:56:31 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Po 27. května 12:56:31 2019 MSK DC=DomainDnsZones,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Po 27. května 12:56:32 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Po 27. května 12:56:32 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Po 27. května 12:56:32 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Po 27. května 12:56:32 2019 MSK DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Po 27. května 12:56:32 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Po 27. května 12:56:32 2019 MSK CN=Configuration,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Po 27. května 12:56:33 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Po 27. května 12:56:33 2019 MSK ==== ODCHOZÍ SOUSEDÉ ==== DC=ForestDnsZones,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Čt 23. května 16:40:03 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Čt 23. května 16:40:03 2019 MSK DC=DomainDnsZones,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Čt 23. května 16:40:03 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Čt 23. května 16:40:03 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Čt 23. května 16:40:08 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Čt 23. května 16:40:08 2019 MSK DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Čt 23. května 16:40:08 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Čt 23. května 16:40:08 2019 MSK CN=Configuration,DC=test,DC=local Výchozí-první-název-stránkyDC1 přes RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Poslední pokus @ Po 27. května 12:12:17 2019 MSK byl úspěšný 0 po sobě jdoucích selhání. Poslední úspěch @ Po 27. května 12:12:17 2019 MSK ==== KCC SPOJENÍ OBJEKTY ==== Spojení -- Název spojení: 6d2652b3-e723-4af7-a19f-1ee48915753c Povoleno : TRUE Server DNS název : DC1.test.local Server DN název : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Výchozí-první-název-stránky,CN=Sítě,CN=Konfigurace,DC=test,DC=local TransportType: RPC možnosti: 0x00000001 Upozornění: „Žádný NC nebyl replikován pro spojení!“Upozornění „Žádný NC nebyl replikován pro spojení!“ lze s klidem ignorovat. Objevuje se, protože při registraci nového DC Samba nesprávně nastaví některé replikace flagy.
Také je dobré zkontrolovat replikaci LDAP.
# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -UadministratorVýše uvedený příkaz porovná hodnoty atributů objektů celého adresáře na DC1 a DC2.
Příklad úspěšné replikace
* Porovnání kontextu [DOMAIN]... * Počet objektů k porovnání: 249 * Výsledek pro [DOMAIN]: ÚSPĚCH * Porovnání kontextu [CONFIGURATION]... * Počet objektů k porovnání: 1750 * Výsledek pro [CONFIGURATION]: ÚSPĚCH * Porovnání kontextu [SCHEMA]... * Počet objektů k porovnání: 1739 * Výsledek pro [SCHEMA]: ÚSPĚCH * Porovnání kontextu [DNSDOMAIN]... * Počet objektů k porovnání: 42 * Výsledek pro [DNSDOMAIN]: ÚSPĚCH * Porovnání kontextu [DNSFOREST]... * Počet objektů k porovnání: 20 * Výsledek pro [DNSFOREST]: ÚSPĚCHV některých případech se atributy objektů na různých kontrolerech mohou lišit a výstup příkazu to oznámí. Ale ne vždy to bude indikátor problému s replikací.
Dalším krokem je ruční nastavení stabilní replikace adresáře SysVol.
Faktem je, že Samba zatím nepodporuje DFS-R, stejně jako dříve nepodporovala FRS. Proto jediným funkčním řešením pro replikaci mezi DC Samba a Windows je dnes jednosměrná replikace pomocí nástroje Robocopy z balíčku .Vývojáři Sambu, aby se vyhnuli problémům s kompatibilitou, doporučují nejprve nainstalovat balík utilit na běžnou pracovní stanici a poté zkopírovat Robocopy na kontroler do adresáře „C:Program Files (x86)Windows Resource KitsTools“
Po instalaci vytvořte v plánovači úloh na kontroleru s Windows úlohu pro provádění replikace s následujícími parametry:
- Provádět pro všechny uživatele
- Spoušť pro provádění Každodenně každých 5 minut během dne
- V akcích uvedeme cestu k utilitě robocopy a jako argumenty zadáme:DC1SYSVOLtest.local DC2SYSVOLtest.local /mir /secV konkrétním případě kopírujeme obsah adresáře SysVol z DC1 na DC2.
- Přenosové složky uživatelů pomocí konfigurace pam_mountPrakticky jsem našel dvě životaschopné varianty, jak tuto úlohu vyřešit pomocí něj.
- Plné připojení složky s profilem ze sítě do části /home. Jednoduchá varianta. Skvěle funguje, pokud se názvy složek Dokumenty, Stažené a Plocha shodují v obou operačních systémech. Předpokládá se, že PC na Linuxu je již zařazené do domény a uživatelé se přihlašují pomocí svých doménových účtů, přičemž jako mechanismus autentizace a autorizace používají sssd.
# 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"/>kde:
- uid="100000000-2000000000" — rozsah UID přidělený doménovým uživatelům od SSSD
- server="dfs" — název souborového serveru
- path="Profile_Users/%(USER)" — zdroj na souborovém serveru, kde je umístěn uživatelský profil
- mountpoint="~" — cesta k montování v domovské složce uživatele
Uživatelské jméno je předáno do makro proměnné „%(USER)“, která je používána pam_mount pro připojení našeho síťového zdroje, tak jak bylo zadáno v správci zobrazení. Proto je důležité, aby se v DM přihlašovalo bez explicitního uvedení doménového jména.
V sssd.conf se to řeší zakomentováním nebo nastavením hodnoty False pro volbu use_fully_qualified_names, která včetně domény aktivuje režim plného jména pro uživatele a skupiny.
- Druhý způsob je méně přímočarý a zbrklý, a podle mého názoru je pohodlnější a preferovanější. Rozdíl oproti prvnímu spočívá pouze v konfiguraci pam_mount.
# vim /etc/security/pam_mount.conf.xmlTedy jednoduše samostatně připojíme každou naši složku do odpovídajícího katalogu.
- Plné připojení složky s profilem ze sítě do části /home. Jednoduchá varianta. Skvěle funguje, pokud se názvy složek Dokumenty, Stažené a Plocha shodují v obou operačních systémech. Předpokládá se, že PC na Linuxu je již zařazené do domény a uživatelé se přihlašují pomocí svých doménových účtů, přičemž jako mechanismus autentizace a autorizace používají sssd.
Závěry
Během půl měsíce testování tato kombinace úspěšně přežila několik dlouhodobých a krátkodobých odpojení obou řídicích jednotek, prakticky bez následků pro klienty (jednou klient na Windows7 ztratil důvěryhodnost).
Celkově mám z práce s tímto produktem docela příjemné dojmy, i když jsem se setkal s mnoha nuancemi jak v článku, tak i „za scénou“.
Existují skryté problémy, je jich mnoho a při práci se Sambou je potřeba je odhalovat v hojném počtu. Nicméně v současnosti neexistují žádná jiná řešení, která by umožnila organizaci hybridního prostředí s využitím služeb adresářů a bez použití Windows.
Zdroj: habr.com
