
Insikten av att jag hamnat i en importsubstitution kom inte genast. Först nÀr friska leveranser av datorer frÄn den överordnade organisationen började stabilt ankomma med distributionen "Alt Linux" ombord, började jag ana ugglor i mossen.
Men under processen av att passera genom stadierna av acceptans av det oundvikliga, blev jag involverad och till och med började njuta lite av processen. Vid nÄgot tillfÀlle tÀnkte jag att i takt med detta kommer jag förr eller senare behöva sÀga farvÀl till Microsofts katalogtjÀnster och gÄ mot nÄgot mer exotiskt. DÀrför, för att vara beredd pÄ det oundvikliga och för att i möjligaste mÄn fÄnga upp sÄ mÄnga fallgropar som möjligt, beslutades det att rulla ut en testmiljö som inkluderade:
- DC1 â Windows Server 2012R2
- DC2 â Alt Server 8.2
- File Server â Windows Server 2012R2
- PC1 â Windows 7
- PC2 â Alt Arbetsstation 8.2
Testmiljöns uppgifter:
- Rulla ut en domÀn baserad pÄ w2k12r2. Skapa en minimal uppsÀttning av gruppolicyer (liknande de som anvÀnds i den arbetsinfrastruktur), inklusive policyn för överföring av anvÀndarnas arbetsmappar (Nedladdningar/Dokument/Skrivbord). MÄlet Àr att nÀr en anvÀndare byter arbetsplats frÄn Windows till Linux och tillbaka ska han ha bekvÀm tillgÄng till sina arbetsdokument.
- Införa Samba DC som den andra kontrollern. Kontrollera replikationen av katalogtjÀnsten och DNS.
- Konfigurera Linux-klienter för att arbeta med flyttbara mappar.
Genomförande:
- Installation och introduktion av den nya kontrolldatorn.Med installationen av MS Windows 2012R2 Àr allt enkelt och mer eller mindre klart. Det finns 1001 manualer pÄ internet för att rulla ut en domÀn pÄ Windows bÄde med hjÀlp av GUI och med Powershell, sÄ jag upprepar inte detta utan lÀmnar bara till den officiella dokumentationen, för de nyfikna och de som vill frÀscha upp sitt minne.
Men en viktig punkt i detta avsnitt finns det ÀndÄ. För nÀrvarande kan Samba inte arbeta med katalogscheman över 2008R2.
Spoiler Rubrik Eller snarare har utvecklarna deklarerat detta stöd som experimentellt. Men i praktiken kommer ett försök att införa Samba som andra DC i en befintlig Windows-domÀn med schema 69 att möta följande felmeddelande.
DsAddEntry misslyckades med status WERR_ACCESS_DENIED info (8567, âWERR_DS_INCOMPATIBLE_VERSIONâ)
Problemet Àr att Windows 2012 och 2012R2 anvÀnder WMI-verktyg för att interagera med domÀner och skogar, stabilt stöd för vilka först har annonserats för version 4.11 av Samba, som ska slÀppas före Ärets slut.
DÀrför Àr det enda alternativet för att införa Samba i en AD-domÀn som körs pÄ en 2012R2-server att nedgradera schemat frÄn 69 till 47. Naturligtvis bör detta inte göras pÄ en produktionsinfrastruktur utan giltiga skÀl, men hÀr har vi en testmiljö, sÄ varför inte.Vi installerar Alt Server 8.2. Under installationen vÀljer vi profilen "Samba-DC-server (AD-kontroller)." PÄ den installerade servern gör vi en fullstÀndig systemuppdatering och installerar paketet task-samba-dc, som drar in allt som behövs.
# apt-get install task-samba-dcOm task-samba-dc, trots pÄstÄenden frÄn Altas dokumentation, skulle vÀgra att installera allt som krÀvs.
# apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-develDÀrefter gÄr vi vidare till konfigurationen av Kerberos och begÀran av en biljett. Vi öppnar filen krb5.conf, gÄr till avsnittet [libdefaults] och justerar den till följande format:
# vim /etc/krb5.confdns_lookup_kdc = true dns_lookup_realm = true default_realm = TEST.LOCALVi begÀr en biljett.
# kinit administrator Password for administrator@TEST.LOCAL:Kontrollerar listan över erhÄllna Kerberos-biljetter.
# 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:35Nu tar vi bort eller omdöper den befintliga Samba-konfigurationen.
# mv smb.conf smb.conf.bak1Och slutligen inför vi som en andra kontroller i AD-domÀnen:
# samba-tool domain join test.local DC -U"TESTadministrator"Ett framgÄngsrikt införande kommer att Ätföljas av följande logg.
Hittar en skrivbar DC för domÀn 'test.local' Hittade DC DC1.TEST.LOCAL Lösenord för [TESTadministrator]: à teransluter till namnmaster e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.LOCAL DNS-namn för ny namnmaster Àr DC1.TEST.LOCAL arbetsgrupp Àr TEST domÀn Àr TEST.LOCAL LÀgger till CN=DC2,OU=DomÀnkontroller,DC=TEST,DC=LOCAL LÀgger till CN=DC2,CN=Servrar,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL LÀgger till CN=NTDS-instÀllningar,CN=DC2,CN=Servrar,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=TEST,DC=LOCAL LÀgger till SPN:er till CN=DC2,OU=DomÀnkontroller,DC=TEST,DC=LOCAL StÀller in konto-lösenord för DC2$ Aktiverar konto Ringer försörjning Letar upp IPv4-adresser Letar upp IPv6-adresser Ingen IPv6-adress kommer att tilldelas SÀtter upp share.ldb SÀtter upp secrets.ldb SÀtter upp registret SÀtter upp behörighetsdatabas SÀtter upp idmap-db SÀtter upp SAM-db SÀtter upp sam.ldb partitioner och instÀllningar SÀtter upp sam.ldb rootDSE Förladdar Samba 4 och AD-schema En Kerberos-konfiguration som Àr lÀmplig för Samba AD har skapats vid /var/lib/samba/private/krb5.conf Provision OK för domÀn DN DC=TEST,DC=LOCAL Startar replikering Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekt[402/1426] lÀnkade_vÀrden[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekt[804/1426] lÀnkade_vÀrden[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekt[1206/1426] lÀnkade_vÀrden[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekt[1608/1426] lÀnkade_vÀrden[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objekt[1743/1426] lÀnkade_vÀrden[0/0] Analysera och tillÀmpa schemavÀrden Partition[CN=Configuration,DC=TEST,DC=LOCAL] objekt[402/2240] lÀnkade_vÀrden[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objekt[804/2240] lÀnkade_vÀrden[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objekt[1206/2240] lÀnkade_vÀrden[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objekt[1608/2240] lÀnkade_vÀrden[0/24] Partition[CN=Configuration,DC=TEST,DC=LOCAL] objekt[1772/2240] lÀnkade_vÀrden[24/24] Replikerar kritiska objekt frÄn bas DN för domÀnen Partition[DC=TEST,DC=LOCAL] objekt[109/110] lÀnkade_vÀrden[26/29] Partition[DC=TEST,DC=LOCAL] objekt[394/5008] lÀnkade_vÀrden[29/29] FÀrdig med alltid replikerad NC (bas, konfiguration, schema) Replikerar DC=DomainDnsZones,DC=TEST,DC=LOCAL Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekt[42/42] lÀnkade_vÀrden[0/0] Replikerar DC=ForestDnsZones,DC=TEST,DC=LOCAL Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekt[20/20] lÀnkade_vÀrden[0/0] Exop pÄ[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objekt[3] lÀnkade_vÀrden[0] à tar SAM-databasen LÀgger till 1 fjÀrr-DNS-poster för DC2.TEST.LOCAL LÀgger till DNS A-post DC2.TEST.LOCAL för IPv4 IP: 192.168.90.201 LÀgger till DNS CNAME-post 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL för DC2.TEST.LOCAL Alla andra DNS-poster (som _ldap SRV-poster) kommer att skapas samba_dnsupdate vid första starten Replikerar nya DNS-poster i DC=DomainDnsZones,DC=TEST,DC=LOCAL Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objekt[1/42] lÀnkade_vÀrden[0/0] Replikerar nya DNS-poster i DC=ForestDnsZones,DC=TEST,DC=LOCAL Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objekt[1/20] lÀnkade_vÀrden[0/0] Skickar DsReplicaUpdateRefs för alla replikerade partitioner StÀller in isSynchronized och dsServiceName SÀtter upp secrets-databasen Gick med i domÀn TEST (SID S-1-5-21-3959064270-1572045903-2556826204) som en DCI ADUC-verktyget ska det dyka upp en post om den nya DC:n i domÀnen TEST.LOCAL, och i DNS-hanteraren ska det finnas en ny A-post som motsvarar DC2.
- Replikering mellan kontrollerFörst ska vi kontrollera att katalogreplikeringstjÀnsten (DRS) fungerar.
# samba-tool drs showreplAlla replikationsförsök i utskriften bör vara framgÄngsrika. I KCC-objektlistan ska vÄr DC1 pÄ Windows dyka upp inom 15 minuter efter inmatning.
Standard-Första-Plats-NamnDC2 DSA Alternativ: 0x00000001 DSA objekt GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf DSA invokations-id: 017997b5-d718-41d7-a3f3-e57ab5151b5c ==== INGà ENDE GRANNAR ==== DC=ForestDnsZones,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ MÄn Maj 27 12:56:31 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ MÄn Maj 27 12:56:31 2019 MSK DC=DomainDnsZones,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ MÄn Maj 27 12:56:32 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ MÄn Maj 27 12:56:32 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ MÄn Maj 27 12:56:32 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ MÄn Maj 27 12:56:32 2019 MSK DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ MÄn Maj 27 12:56:32 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ MÄn Maj 27 12:56:32 2019 MSK CN=Configuration,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ MÄn Maj 27 12:56:33 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ MÄn Maj 27 12:56:33 2019 MSK ==== UTà T Gà ENDE GRANNAR ==== DC=ForestDnsZones,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ Tors Maj 23 16:40:03 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ Tors Maj 23 16:40:03 2019 MSK DC=DomainDnsZones,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ Tors Maj 23 16:40:03 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ Tors Maj 23 16:40:03 2019 MSK CN=Schema,CN=Configuration,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ Tors Maj 23 16:40:08 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ Tors Maj 23 16:40:08 2019 MSK DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ Tors Maj 23 16:40:08 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ Tors Maj 23 16:40:08 2019 MSK CN=Configuration,DC=test,DC=local Standard-Första-Plats-NamnDC1 via RPC DSA objekt GUID: 60fb339d-efa3-4585-a42d-04974e6601b7 Senaste försök @ MÄn Maj 27 12:12:17 2019 MSK var framgÄngsrikt 0 konsekutiva misslyckanden. Senaste framgÄng @ MÄn Maj 27 12:12:17 2019 MSK ==== KCC KONTAKT OBJEN ==== Anslutning -- Anslutningsnamn: 6d2652b3-e723-4af7-a19f-1ee48915753c Aktiverad : SANT Server DNS namn : DC1.test.local Server DN namn : CN=NTDS InstÀllningar,CN=DC1,CN=Servrar,CN=Standard-Första-Plats-Namn,CN=Platser,CN=Konfiguration,DC=test,DC=local TransportType: RPC alternativ: 0x00000001 Varning: Ingen NC replikerad för Anslutning!Varning «Ingen NC replikerad för Anslutning!» kan utan tvekan ignoreras. Det uppstÄr eftersom Samba vid registrering av en ny DC felaktigt stÀller in vissa replikeringsflaggor.
Det Àr ocksÄ bra att kontrollera LDAP-replikationen.
# samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -UadministratorKommandot ovan kommer att jÀmföra attributvÀrdena för objekten i hela katalogen pÄ DC1 och DC2.
Exempel pÄ framgÄngsrik replikation
* JÀmför [DOMAIN]-kontext... * Objekt som ska jÀmföras: 249 * Resultat för [DOMAIN]: SUCCESS * JÀmför [CONFIGURATION]-kontext... * Objekt som ska jÀmföras: 1750 * Resultat för [CONFIGURATION]: SUCCESS * JÀmför [SCHEMA]-kontext... * Objekt som ska jÀmföras: 1739 * Resultat för [SCHEMA]: SUCCESS * JÀmför [DNSDOMAIN]-kontext... * Objekt som ska jÀmföras: 42 * Resultat för [DNSDOMAIN]: SUCCESS * JÀmför [DNSFOREST]-kontext... * Objekt som ska jÀmföras: 20 * Resultat för [DNSFOREST]: SUCCESSI vissa fall kan attributen för objekt pÄ olika kontrollerare skilja sig Ät, och kommandots output kommer att meddela om detta. Men i mÄnga fall innebÀr det inte nödvÀndigtvis ett problem med replikationen.
Det nÀsta steget Àr att manuellt konfigurera en stabil replikation av SysVol-katalogen.
Problemet Àr att Samba fortfarande inte stöder DFS-R, precis som den inte stödde den tidigare FRS. DÀrför Àr den enda fungerande lösningen för replikation mellan Samba DC och Windows för nÀrvarande ensidig replikation med hjÀlp av Robocopy frÄn paketet .Samba-utvecklarna rekommenderar, för att undvika kompatibilitetsproblem, att först installera verktygssatsen pÄ en vanlig arbetsstation och sedan kopiera Robocopy till kontrollern i mappen "C:Program Files (x86)Windows Resource KitsTools"
Efter installationen skapar vi ett schema i uppgiftshanteraren pÄ Windows-kontrollern för att utföra replikationen med följande parametrar:
â Utför för alla anvĂ€ndare
â Utlösare för att köra Dagligen var femte minut under dagen
â I Ă„tgĂ€rderna anger vi vĂ€gen till robocopy-verktyget, som argument anger vi:DC1SYSVOLtest.local DC2SYSVOLtest.local \/mir \/secI det specifika fallet kopierar vi innehĂ„llet i SysVol-katalogen frĂ„n DC1 till DC2.
- Flyttbara anvÀndarmappar med hjÀlp av pam_mount-konfigurationenGenom erfarenhet har jag identifierat tvÄ livskraftiga alternativ för att lösa denna uppgift med hjÀlp av det.
- Full mounting of the profile folder from the network into the /home section. A simple option. It works excellently if the folder names My Documents, Downloads, and Desktop match in both operating systems. It is assumed that the Linux PC is already joined to the domain and users log in with their domain accounts, using sssd as the authentication and authorization mechanism.
# 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"/>dÀr:
- uid="100000000-2000000000" â the UID range assigned to domain users by SSSD
- server="dfs" â the name of the file server
- path="Profile_Users/%(USER)" â resource on the file server where the user profile is located
- mountpoint="~" â mount point in the user's home folder
The user's login is passed to the macro variable "%(USER)", used by pam_mount, to connect to our network resource in the form in which it is entered in the display manager. Therefore, it is important that the login in the DM is entered without explicitly stating the domain name.
In sssd.conf, this is resolved by commenting or setting the value to False in the option use_fully_qualified_names, which enables the fully qualified names mode (including the domain) for users and groups.
- The second method is less straightforward and clumsy, and in my opinion, more convenient and preferable. The difference from the first is only in the configuration of pam_mount.
# vim /etc/security/pam_mount.conf.xmlThat is, we simply mount each of our folders separately into the corresponding directory.
- Full mounting of the profile folder from the network into the /home section. A simple option. It works excellently if the folder names My Documents, Downloads, and Desktop match in both operating systems. It is assumed that the Linux PC is already joined to the domain and users log in with their domain accounts, using sssd as the authentication and authorization mechanism.
Slutsatser
In half a month of work on the test stand, this setup successfully survived several alternating long-term and short-term outages of both controllers, with practically no consequences for clients (once a client on Windows 7 lost trust relationships).
Ăver lag har jag haft ganska trevliga upplevelser av att arbeta med den hĂ€r produkten, trots alla nyanser som jag stött pĂ„ bĂ„de i artikeln och "bakom kulisserna".
Det finns mÄnga fallgropar, och under arbetet med Samba kommer du att behöva fÄnga upp dem i stor mÀngd. Trots detta finns det idag inga andra lösningar som möjliggör en hybridmiljö med anvÀndning av katalogtjÀnster och utan att anvÀnda Windows.
KĂ€lla: habr.com
