
Az a felismerés, hogy beléptem az importhelységbe, nem jött azonnal. Csak amikor a feljebbvaló szervezettől a friss PC szállítmányok folyamatosan érkezni kezdtek az „Alt Linux” disztribúcióval, kezdtem gyanakodni.
Az elkerülhetetlen elfogadásának szakaszainak követése közben azonban belemerültem, és valamennyire kezdtem élvezni a folyamatot. Egy idő után azt gondoltam, hogy ilyen ütemben tôt-hamarosan el kell búcsúznom a Microsoft adatközponti megoldásaitól, és valami egzotikusabb irányba kell elmozdulnom. Ezért, hogy előre felkészüljek a megkerülhetetlenre, és lehetőség szerint minél több buktatót elkerüljek, úgy döntöttem, hogy egy tesztkörnyezetet állítok fel, amely a következőkből áll:
- DC1 — Windows Server 2012R2
- DC2 — Alt Server 8.2
- File Server — Windows Server 2012R2
- PC1 — Windows 7
- PC2 — Alt Munkaállomás 8.2
A tesztkörnyezet feladatai:
- Egy domain felállítása w2k12r2 alapjain. Egy minimális csoportházirend beállítása (hasonlóan a munkahelyi infrastruktúrában használtakhoz), beleértve a felhasználói munkafüzetek átmozgatásának politikáját (Letöltések/Dokumentumok/Munkaasztal). A cél végül az, hogy amikor a felhasználó vált a Windowsról Linuxra és vissza, kényelmesen hozzáférhessen a munkakönyvehez.
- Samba DC második vezérlőként való bevezetése. A címkék és a DNS szolgáltatások replikációjának ellenőrzése.
- Linux kliens beállítása a mozgatható mappák használatára.
Megvalósítás:
- Új vezérlő telepítése és bevezetése.A MS Windows 2012R2 telepítése egyszerű, és többnyire érthető. Az interneten megtalálható 1001 útmutató a domainek Windows alatti telepítéséről, akárcsak GUI segítségével, akárcsak Powershell eszközökkel, ezért nem kívánom megismételni, csak az alábbiakat hagyom meg: az off. dokumentációt, a kíváncsiaknak és azoknak, akik szeretnék felfrissíteni az emlékeiket.
Van azonban egy fontos szempont ebben a pontban. Jelenlegi állapot szerint a Samba nem képes 2008R2-nál magasabb katalógussémákkal dolgozni.
Spoiler cím Vagyis a fejlesztők ezt a támogatást kísérleti jelleggel nyújtják. De a gyakorlatban a Samba második DC-ként való bevezetése egy meglévő Windows domainbe a 69-es sémával a következő hibát fogja okozni:
DsAddEntry failed with status WERR_ACCESS_DENIED info (8567, ‘WERR_DS_INCOMPATIBLE_VERSION’)
A probléma az, hogy a Windows 2012 és 2012R2 a WMI eszközöket használja a tartományokkal és erdőkkel való munkához, amelynek stabil támogatását csak a Samba 4.11-es verzióval jelentették be, amely az év végéig megjelenik.
Ebből következik, hogy a Samba AD doménbe való bevezetésének egyetlen lehetősége a séma 69-ről 47-re való visszaminősítése. Természetesen a működő infrastruktúrán komoly okok nélkül ezt nem kell megtenni, de itt van egy tesztkörnyezetünk, úgyhogy miért ne.Telepítjük az Alt Server 8.2-t. A telepítés során válasszuk a 'Samba-DC szerver (AD vezérlő)' profilt. A telepített szerveren végezzük el a rendszer teljes frissítését, és telepítsük a task-samba-dc csomagot, amely magával hozza a szükséges összes komponenst.
# apt-get install task-samba-dcHa a task-samba-dc, a dokumentáció szerint, valamiért nem telepítené a szükséges összes elemet.
# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-develEzután áttérünk a Kerberos beállítására és a jegy beszerzésére. Megnyitjuk a krb5.conf fájlt, átmegyünk a [libdefaults] szakaszra, és az alábbi formára hozunk.
# vim /etc/krb5.confdns_lookup_kdc = true dns_lookup_realm = true default_realm = TEST.LOCALKérjük a jegyet.
# kinit administrator Password for administrator@TEST.LOCAL:Ellenőrizzük a megszerzett Kerberos jegyek listáját.
# 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:35Most töröljük vagy nevezzük át a meglévő Samba konfigurációt.
# mv smb.conf smb.conf.bak1És végül csatlakozunk az AD doménhez második vezérlőként.
# samba-tool domain join test.local DC -U"TESTadministrator"A sikeres csatlakozást a következő napló kíséri.
Írható DC keresése a 'test.local' domainhez Megtalált DC DC1.TEST.LOCAL Jelszó a [TESTadministrator]: Újra csatlakozás a névadó mesterhez e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.LOCAL Az új névadó mester DNS neve DC1.TEST.LOCAL Munka csoport: TEST Birodalom: TEST.LOCAL CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL hozzáadása CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL hozzáadása CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL hozzáadása SPN-ek hozzáadása CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL A DC2$ fiók jelszavának beállítása Fiók engedélyezése Alapértelmezett provision hívása IPv4 címek keresése IPv6 címek keresése Nincs IPv6 cím hozzárendelve share.ldb beállítása secrets.ldb beállítása A regisztrációs adatbázis beállítása A privilégiumok adatbázisának beállítása idmap db beállítása SAM db beállítása sam.ldb partíciók és beállítások konfigurálása sam.ldb rootDSE beállítása A Samba 4 és az AD séma előtöltése A Samba AD-hoz megfelelő Kerberos konfiguráció generálódott a /var/lib/samba/private/krb5.conf helyen Provision OK a domain DN DC=TEST,DC=LOCAL számára Replikáció elindítása Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objektumok[402/1426] összekapcsolt értékek[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objektumok[804/1426] összekapcsolt értékek[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objektumok[1206/1426] összekapcsolt értékek[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objektumok[1608/1426] összekapcsolt értékek[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objektumok[1743/1426] összekapcsolt értékek[0/0] Séma objektumok elemzése és alkalmazása Partition[CN=Configuration,DC=TEST,DC=LOCAL] objektumok[402/2240] összekapcsolt_értékek[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objektumok[804/2240] összekapcsolt_értékek[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objektumok[1206/2240] összekapcsolt_értékek[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objektumok[1608/2240] összekapcsolt_értékek[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objektumok[1772/2240] összekapcsolt_értékek[24/24] A domain alap DN-jéből a kritikus objektumok replikálása Partition[DC=TEST,DC=LOCAL] objektumok[109/110] összekapcsolt_értékek[26/29] Partition[DC=TEST,DC=LOCAL] objektumok[394/5008] összekapcsolt_értékek[29/29] Kész az állandóan replikált NC (alap, konfiguráció, séma) Replikálás DC=DomainDnsZones,DC=TEST,DC=LOCAL Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objektumok[42/42] összekapcsolt_értékek[0/0] Replikálás DC=ForestDnsZones,DC=TEST,DC=LOCAL Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objektumok[20/20] összekapcsolt_értékek[0/0] Exop on[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objektumok[3] összekapcsolt_értékek[0] A SAM adatbázis elkötelezése 1 távoli DNS rekord hozzáadása a DC2.TEST.LOCAL-hoz DNS A rekord hozzáadása DC2.TEST.LOCAL IPv4 IP-hez: 192.168.90.201 DNS CNAME rekord hozzáadása 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL a DC2.TEST.LOCAL számára Minden más DNS rekord (mint például _ldap SRV rekordok) az első indításkor a samba_dnsupdate révén jön létre Új DNS rekordok replikálása a DC=DomainDnsZones,DC=TEST,DC=LOCAL alatt Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objektumok[1/42] összekapcsolt_értékek[0/0] Új DNS rekordok replikálása a DC=ForestDnsZones,DC=TEST,DC=LOCAL alatt Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objektumok[1/20] összekapcsolt_értékek[0/0] DsReplicaUpdateRefs küldése az összes replikált partícióhoz Az isSynchronized és dsServiceName beállítása A secrets adatbázis beállítása Csatlakozott a TEST domainhez (SID S-1-5-21-3959064270-1572045903-2556826204) mint DCAz ADUC eszközben meg kell jelennie az új DC bejegyzésének a TEST.LOCAL tartományban, és a DNS kezelőben – az új A bejegyzésnek, amely megfelel a DC2-nek.
- Replikáció a vezérlők közöttElőször ellenőrizzük a katalógusok replikációs szolgáltatásának (DRS) működését
# samba-tool drs showreplMinden replikációs kísérlet kimenete sikeresnek kell lennie. A KCC objektumlistájában, 15 perccel a bevitel után, meg kell jelennie a DC1-nek Windows alatt
Alapértelmezett - Első webhely név DC2 DSA opciók: 0x00000001 DSA objektum GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c ==== BEJÖVŐ SZOMSZÉDOK ==== DC=ForestDnsZones,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 27. hétfő 12:56:31 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 27. hétfő 12:56:31 MSK DC=DomainDnsZones,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 27. hétfő 12:56:32 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 27. hétfő 12:56:32 MSK CN=Scheme,CN=Configuration,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 27. hétfő 12:56:32 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 27. hétfő 12:56:32 MSK DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 27. hétfő 12:56:32 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 27. hétfő 12:56:32 MSK CN=Configuration,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 27. hétfő 12:56:33 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 27. hétfő 12:56:33 MSK ==== KIMENŐ SZOMSZÉDOK ==== DC=ForestDnsZones,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 23. csütörtök 16:40:03 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 23. csütörtök 16:40:03 MSK DC=DomainDnsZones,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 23. csütörtök 16:40:03 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 23. csütörtök 16:40:03 MSK CN=Schema,CN=Configuration,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 23. csütörtök 16:40:08 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 23. csütörtök 16:40:08 MSK DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 23. csütörtök 16:40:08 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 23. csütörtök 16:40:08 MSK CN=Configuration,DC=test,DC=local Alapértelmezett - Első webhely név DC1 RPC-n keresztül DSA objektum GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Utolsó kísérlet: 2019. május 27. hétfő 12:12:17 MSK, sikeres volt 0 egymást követő hiba. Utolsó siker: 2019. május 27. hétfő 12:12:17 MSK ==== KCC KAPCSOLATI OBJEGTUMOK ==== Kapcsolat -- Kapcsolat neve: 6d2652b3-e723-4af7-a19f-1ee48915753c Engedélyezve : IGAZ Szerver DNS név: DC1.test.local Szerver DN név: CN=NTDS Settings,CN=DC1,CN=Servers,CN=Alapértelmezett - Első webhely,CN=Helyszínek,CN=Konfiguráció,DC=test,DC=local Szállítási típus: RPC opciók: 0x00000001 Figyelmeztetés: Nincs NC replikálva a kapcsolathoz!Figyelmeztetés «Nincs NC replikálva a kapcsolathoz!» nyugodtan figyelmen kívül hagyható. Ennek az az oka, hogy a Samba új DC regisztrálásakor helytelenül állít be bizonyos replikációs jelzőket.
Érdemes lenne az LDAP replikációt is ellenőrizni.
# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -UadministratorA fent említett parancs összehasonlítja a DC1 és DC2 összes objektumának attribútumértékeit.
Példa sikeres replikációra
* Összehasonlítás [DOMAIN] kontextussal... * Összehasonlítandó objektumok: 249 * Eredmény [DOMAIN] szempontjából: SIKER * Összehasonlítás [CONFIGURATION] kontextussal... * Összehasonlítandó objektumok: 1750 * Eredmény [CONFIGURATION] szempontjából: SIKER * Összehasonlítás [SCHEMA] kontextussal... * Összehasonlítandó objektumok: 1739 * Eredmény [SCHEMA] szempontjából: SIKER * Összehasonlítás [DNSDOMAIN] kontextussal... * Összehasonlítandó objektumok: 42 * Eredmény [DNSDOMAIN] szempontjából: SIKER * Összehasonlítás [DNSFOREST] kontextussal... * Összehasonlítandó objektumok: 20 * Eredmény [DNSFOREST] szempontjából: SIKERBizonyos esetekben az objektumok attribútumai különbözhetnek a különböző vezérlőkön, és a parancs kimenete erről tájékoztat. De messze nem minden esetben lesz ez a replikáció problémájának jele.
A következő lépés a SysVol mappa stabil replikációjának manuális beállítása.
A helyzet az, hogy a Samba jelenleg nem támogatja a DFS-R-t, mint ahogy korábban a FRS-t sem. Ezért a Samba DC és a Windows közötti replikáció egyetlen jelenleg működő megoldása az egyirányú replikáció az eszköz segítségével Robocopy az alábbi csomagból .A Samba fejlesztői, a kompatibilitási problémák elkerülése érdekében, javasolják, hogy először telepítse az eszközkészletet egy szokásos munkagépre, majd onnan másolja át a Robocopy-t a vezérlőre a következő mappába: "C:Program Files (x86)Windows Resource KitsTools"
A telepítés után a Windows vezérlőn a feladat ütemezőben készítsünk egy feladatot a replikáció végrehajtására a következő paraméterekkel:
— Minden felhasználó számára végrehajtani
— Trigger napi 5 percenként a nap folyamán
— Az intézkedések között megadjuk a robocopy eszköz útvonalát, argumentumként megadva:DC1SYSVOLtest.local DC2SYSVOLtest.local \/mir \/secA konkrét esetben a SysVol mappa tartalmát másoljuk a DC1-ről a DC2-re.
- Felhasználói mappák átmozgatása a pam_mount konfigurációvalKísérleti úton két életképes megoldást találtam erre a feladatra.
- A mappa teljes mountolása a hálózati profilból a /home mappába. Egyszerű megoldás. Kiválóan működik, ha a Mappa nevek - Dokumentumok, Letöltések és Asztal - egyeznek mindkét operációs rendszerben. Feltételezhető, hogy a Linux rendszerű PC-t már felvették a doménbe, és a felhasználók a saját domén felhasználói fiókjukkal jelentkeznek be, a sssd mint hitelesítési és jogosultságkezelő mechanizmus használatával.
# 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"/>ahol:
- uid="100000000-2000000000" — az SSSD által a domén felhasználók számára kiosztott UID tartomány
- server="dfs" — a fájlszerver neve
- path="Profile_Users/%(USER)" — erőforrás a fájlszerveren, ahol a felhasználói profil található
- mountpoint="~" — a felhasználó otthoni mappájában lévő mountolási hely
A felhasználó bejelentkezése egy makróváltozón keresztül kerül átadásra, amelyet a pam_mount használ az általunk csatlakoztatott hálózati erőforráshoz, ugyanúgy, ahogyan azt a kijelző kezelőn beírják. Ezért fontos, hogy a DM-ben a bejelentkezéskor ne szerepeljen a domén neve.
Az sssd.conf fájlban ez a fully_qualified_names opció kikommentelésével vagy False értékbe állításával kezelhető. use_fully_qualified_names, amely a teljes nevek (doménnel együtt) módot kapcsolja be a felhasználók és csoportok számára.
- A második lehetőség kevésbé egyenes és körülményes, véleményem szerint kényelmesebb és kedvezőbb. A különbség az elsőhöz képest csupán a pam_mount konfigurációjában rejlik.
# vim /etc/security/pam_mount.conf.xmlTehát egyszerűen külön-külön mountoljuk minden mappánkat a megfelelő könyvtárába.
- A mappa teljes mountolása a hálózati profilból a /home mappába. Egyszerű megoldás. Kiválóan működik, ha a Mappa nevek - Dokumentumok, Letöltések és Asztal - egyeznek mindkét operációs rendszerben. Feltételezhető, hogy a Linux rendszerű PC-t már felvették a doménbe, és a felhasználók a saját domén felhasználói fiókjukkal jelentkeznek be, a sssd mint hitelesítési és jogosultságkezelő mechanizmus használatával.
Következtetések
A tesztkörnyezetben eltöltött másfél hónap alatt a rendszer kiválóan túlélte a két vezérlő éppen váltakozó, hosszú távú és rövid távú leállításait, gyakorlatilag következmények nélkül az ügyfelek számára (egyszer egy Windows 7-es ügyfél elveszítette a megbízási kapcsolatát).
Összességében kellemes benyomásokat szereztem erről a termékről, még akkor is, ha számos részletet kellett kezelni, mind a cikkben, mind a „színfalak mögött”.
Sok buktató van, és a munka során sokat kell majd kiszűrni a Sambával kapcsolatban. Ennek ellenére jelenleg nincsenek más megoldások, amelyek lehetővé tennék a hibrid környezet kialakítását, katalogizáló szolgáltatás használatával és Windows nélkül.
Forrás: habr.com
