Samba DC mint második vezérlő az AD Windows 2012R2 tartományában és átjárható mappák kliensek számára Windows és Linux rendszeren.

Samba DC mint második vezérlő az AD Windows 2012R2 tartományában és átjárható mappák kliensek számára Windows és Linux rendszeren.
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:

  1. 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.
  2. 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.
  3. Linux kliens beállítása a mozgatható mappák használatára.

Megvalósítás:

  1. Ú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: linkre 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-dc

    Ha 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-devel

    Ezutá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.conf
     dns_lookup_kdc = true
     dns_lookup_realm = true
     default_realm = TEST.LOCAL

    Ké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:35

    Most 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 DC

    Az 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.

  2. 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 showrepl

    Minden 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 -Uadministrator

    A 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: SIKER

    Bizonyos 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 Windows Server 2003 Resource Kit Tools.

    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 \/sec

    A konkrét esetben a SysVol mappa tartalmát másoljuk a DC1-ről a DC2-re.

  3. 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.
    1. 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.

    2. 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.xml

      Tehát egyszerűen külön-külön mountoljuk minden mappánkat a megfelelő könyvtárába.

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

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster