Samba DC toisena toimialueen ohjaimena AD-toimialueella Windows 2012R2 ja roaming-kansiot asiakkaille Windows и Linux

Samba DC toisena toimialueen ohjaimena AD-toimialueella Windows 2012R2 ja roaming-kansiot asiakkaille Windows и Linux
Ymmärtäminen, että olin tuontisotkussa, ei tullut heti. Vasta kun uusia PC-toimituksia alkoi tulla tasaisesti korkeammasta organisaatiosta Alt Linux -jakelun mukana, epäilin jotain olevan vialla.

Kuitenkin, kun kävin läpi väistämättömän hyväksymisen vaiheita, osallistuin ja aloin jopa nauttia prosessista hieman. Ja jossain vaiheessa ajattelin, että tällä vauhdilla minun täytyy ennemmin tai myöhemmin erota Microsoftin hakemistopalveluiden järjestämisratkaisuista ja siirtyä kohti jotain eksoottisempaa. Siksi, jotta voidaan valmistautua etukäteen väistämättömään ja, jos mahdollista, saada kiinni mahdollisimman moniin sudenkuoppiin, päätettiin ottaa käyttöön testipenkki, joka sisältää:

  • DC1 — Windows Server 2012R2
  • DC2 - Viola Server 8.2
  • Tiedostopalvelin — Windows Server 2012R2
  • Tietokone1 — Windows 7
  • PC2 - Viola Workstation 8.2

Osaston tavoitteet:

  1. Ota käyttöön w2k12r2-pohjainen toimialue. Luo mahdollisimman vähän ryhmäkäytäntöjä (samanlaisia ​​kuin tuotantoympäristössä käytetään), mukaan lukien käytäntö käyttäjien työkansioiden siirtämiseksi (Lataukset/Tiedostot/Työpöytä). Haluan varmistaa, että kun käyttäjä vaihtaa työasemaansa, Windows päälle Linux ja takaisin hänellä oli mukava pääsy työasiakirjoihinsa.
  2. Samba DC -tulo toiselta ohjaimelta. Tarkistetaan hakemistoa ja DNS-replikaatiota
  3. Asiakkaiden asettaminen Linux työskennellä siirrettävien kansioiden kanssa

toteutus:

  1. Uuden säätimen asennus ja käyttöönottoMS-asennuksen kanssa Windows 2012R2 on yksinkertainen ja enemmän tai vähemmän selkeä. Internetissä on 1001 opasta verkkotunnuksen käyttöönottoon Windows sekä graafista käyttöliittymää että PowerShelliä käyttäen, joten en toista sitä uudelleen, jätän vain linkki päällä pois päältä. dokumentaatio uteliaille ja niille, jotka haluavat virkistää muistiaan.

    Tässä vaiheessa on kuitenkin vielä yksi tärkeä seikka. Tällä hetkellä Samba ei voi toimia 2008R2:ta korkeampien hakemistojärjestelmien kanssa.

    spoilerin otsikko Tarkemmin sanottuna kehittäjät ilmoittivat tämän tuen kokeelliseksi. Käytännössä yritys ottaa Samba käyttöön toisena toimialueen ohjauskonsolina Windows kaaviolla 69 - sinua tervehtii seuraava virheilmoitus

    DsAddEntry epäonnistui tilalla WERR_ACCESS_DENIED info (8567, 'WERR_DS_INCOMPATIBLE_VERSION')

    Ongelma on siinä Windows 2012 ja 2012R2 käyttävät WMI-työkaluja verkkotunnusten ja metsien käsittelyyn, ja vakaan tuen tälle on ilmoitettu tulevan vain versioon Samba 4.11, jonka on määrä ilmestyä ennen tämän vuoden loppua.
    Tästä seuraa, että ainoa mahdollisuus ottaa samba käyttöön AD-toimialueelle 2012R2-palvelimella on alentaa järjestelmä 69:stä 47:ään. Tätä ei tietenkään pidä tehdä tuotantoinfrastruktuurissa ilman hyvää syytä, mutta meillä on testipenkki täällä, joten miksi ei itse asiassa.

    Asenna Alt Server 8.2. Valitse asennuksen aikana "Samba-DC Server (AD Controller)" -profiili. Käytössä olevalle palvelimelle suoritamme täydellisen järjestelmäpäivityksen ja asennamme paketin task-samba-dc, joka vetää kaiken tarvitsemasi

    # apt-get install task-samba-dc

    Jos yhtäkkiä task-samba-dc, toisin kuin dokumentaatiossa vakuutetaan, Alta kieltäytyy asentamasta kaikkea tarpeellista itse.

    # apt-get install python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-common-libs libpytalloc-devel

    Seuraavaksi siirrymme Kerberosin määrittämiseen ja lipun saamiseen. Avaa krb5.conf-tiedosto, siirry [libdefaults]-osioon ja tuo se seuraavaan muotoon:

    # vim /etc/krb5.conf
     dns_lookup_kdc = true
     dns_lookup_realm = true
     default_realm = TEST.LOCAL

    Lipun pyytäminen

    # kinit administrator
    Password for administrator@TEST.LOCAL:

    Tarkistetaan vastaanotettujen Kerberos-lippujen luetteloa

    # 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

    Nyt poistamme tai nimeämme uudelleen olemassa olevan samba-kokoonpanon.

    # mv smb.conf smb.conf.bak1

    Ja lopuksi syötämme AD-verkkotunnukseen toisella ohjaimella:

    # samba-tool domain join test.local DC -U"TESTadministrator"

    Onnistuneen syöttämisen mukana seuraa seuraava loki

    Finding a writeable DC for domain 'test.local'
    Found DC DC1.TEST.LOCAL
    Password for [TESTadministrator]:
    Reconnecting to naming master e31d7da6-8f56-4420-8473-80f2b3a31338._msdcs.TEST.                           LOCAL
    DNS name of new naming master is DC1.TEST.LOCAL
    workgroup is TEST
    realm is TEST.LOCAL
    Adding CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
    Adding CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC                           =TEST,DC=LOCAL
    Adding CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN                           =Configuration,DC=TEST,DC=LOCAL
    Adding SPNs to CN=DC2,OU=Domain Controllers,DC=TEST,DC=LOCAL
    Setting account password for DC2$
    Enabling account
    Calling bare provision
    Looking up IPv4 addresses
    Looking up IPv6 addresses
    No IPv6 address will be assigned
    Setting up share.ldb
    Setting up secrets.ldb
    Setting up the registry
    Setting up the privileges database
    Setting up idmap db
    Setting up SAM db
    Setting up sam.ldb partitions and settings
    Setting up sam.ldb rootDSE
    Pre-loading the Samba 4 and AD schema
    A Kerberos configuration suitable for Samba AD has been generated at /var/lib/sa                           mba/private/krb5.conf
    Provision OK for domain DN DC=TEST,DC=LOCAL
    Starting replication
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[402/1426] linked                           _values[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[804/1426] linked                           _values[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1206/1426] linke                           d_values[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1608/1426] linke                           d_values[0/0]
    Schema-DN[CN=Schema,CN=Configuration,DC=TEST,DC=LOCAL] objects[1743/1426] linke                           d_values[0/0]
    Analyze and apply schema objects
    Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[402/2240] linked_values[0/                           24]
    Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[804/2240] linked_values[0/                           24]
    Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1206/2240] linked_values[0                           /24]
    Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1608/2240] linked_values[0                           /24]
    Partition[CN=Configuration,DC=TEST,DC=LOCAL] objects[1772/2240] linked_values[2                           4/24]
    Replicating critical objects from the base DN of the domain
    Partition[DC=TEST,DC=LOCAL] objects[109/110] linked_values[26/29]
    Partition[DC=TEST,DC=LOCAL] objects[394/5008] linked_values[29/29]
    Done with always replicated NC (base, config, schema)
    Replicating DC=DomainDnsZones,DC=TEST,DC=LOCAL
    Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objects[42/42] linked_values[0/0]
    Replicating DC=ForestDnsZones,DC=TEST,DC=LOCAL
    Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objects[20/20] linked_values[0/0]
    Exop on[CN=RID Manager$,CN=System,DC=TEST,DC=LOCAL] objects[3] linked_values[0]
    Committing SAM database
    Adding 1 remote DNS records for DC2.TEST.LOCAL
    Adding DNS A record DC2.TEST.LOCAL for IPv4 IP: 192.168.90.201
    Adding DNS CNAME record 6ff1df40-cbb5-41f0-b7b3-53a27dde8edf._msdcs.TEST.LOCAL                            for DC2.TEST.LOCAL
    All other DNS records (like _ldap SRV records) will be created samba_dnsupdate o                           n first startup
    Replicating new DNS records in DC=DomainDnsZones,DC=TEST,DC=LOCAL
    Partition[DC=DomainDnsZones,DC=TEST,DC=LOCAL] objects[1/42] linked_values[0/0]
    Replicating new DNS records in DC=ForestDnsZones,DC=TEST,DC=LOCAL
    Partition[DC=ForestDnsZones,DC=TEST,DC=LOCAL] objects[1/20] linked_values[0/0]
    Sending DsReplicaUpdateRefs for all the replicated partitions
    Setting isSynchronized and dsServiceName
    Setting up secrets database
    Joined domain TEST (SID S-1-5-21-3959064270-1572045903-2556826204) as a DC

    ADUC:lla tulee olla tietue uudelle DC:lle TEST.LOCAL-toimialueella, ja DNS Managerilla tulee olla uusi A-tietue, joka vastaa DC2:ta.

  2. Replikointi ohjaimien välilläEnsin tarkistetaan Directory Replication Service (DRS) -palvelun toiminta.
    # samba-tool drs showrepl

    Kaikkien tulosteen replikointiyritysten pitäisi onnistua. DC1:n pitäisi näkyä KCC-objektiluettelossa 15 minuutin kuluessa syötteestä. Windows

    Default-First-Site-NameDC2
    	DSA Options: 0x00000001
    	DSA object GUID: 0e9f5bce-ff59-401e-bdbd-fc69df3fc6bf
    	DSA invocationId: 017997b5-d718-41d7-a3f3-e57ab5151b5c
    
    	==== INBOUND NEIGHBORS ====
    
    	DC=ForestDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Mon May 27 12:56:31 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Mon May 27 12:56:31 2019 MSK
    
    	DC=DomainDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Mon May 27 12:56:32 2019 MSK
    
    	CN=Schema,CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Mon May 27 12:56:32 2019 MSK
    
    	DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Mon May 27 12:56:32 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Mon May 27 12:56:32 2019 MSK
    
    	CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Mon May 27 12:56:33 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Mon May 27 12:56:33 2019 MSK
    
    	==== OUTBOUND NEIGHBORS ====
    
    	DC=ForestDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Thu May 23 16:40:03 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Thu May 23 16:40:03 2019 MSK
    
    	DC=DomainDnsZones,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Thu May 23 16:40:03 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Thu May 23 16:40:03 2019 MSK
    
    	CN=Schema,CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Thu May 23 16:40:08 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Thu May 23 16:40:08 2019 MSK
    
    	DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Thu May 23 16:40:08 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Thu May 23 16:40:08 2019 MSK
    
    	CN=Configuration,DC=test,DC=local
    	        Default-First-Site-NameDC1 via RPC
    	                DSA object GUID: 60fb339d-efa3-4585-a42d-04974e6601b7
    	                Last attempt @ Mon May 27 12:12:17 2019 MSK was successful
    	                0 consecutive failure(s).
    	                Last success @ Mon May 27 12:12:17 2019 MSK
    
    	==== KCC CONNECTION OBJECTS ====
    
    	Connection --
    	        Connection name: 6d2652b3-e723-4af7-a19f-1ee48915753c
    	        Enabled        : TRUE
    	        Server DNS name : DC1.test.local
    	        Server DN name  : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=local
    	                TransportType: RPC
    	                options: 0x00000001
    	Warning: No NC replicated for Connection!

    Varovaisuus "Ei NC replikoitua yhteyttä varten!" voidaan turvallisesti jättää huomiotta. Se näyttää siltä, ​​koska rekisteröidessään uutta DC:tä Samba asettaa väärin joitakin replikointilippuja.

    Olisi myös hyvä idea tarkistaa LDAP-replikaatio.

    # samba-tool ldapcmp ldap://dc1.test.local ldap://dc2.test.local -Uadministrator

    Yllä oleva komento vertaa DC1:n ja DC2:n koko hakemistoobjektien attribuuttiarvoja.

    Esimerkki onnistuneesta replikaatiosta

    * Comparing [DOMAIN] context...
    
    	* Objects to be compared: 249
    
    	* Result for [DOMAIN]: SUCCESS
    
    	* Comparing [CONFIGURATION] context...
    
    	* Objects to be compared: 1750
    
    	* Result for [CONFIGURATION]: SUCCESS
    
    	* Comparing [SCHEMA] context...
    
    	* Objects to be compared: 1739
    
    	* Result for [SCHEMA]: SUCCESS
    
    	* Comparing [DNSDOMAIN] context...
    
    	* Objects to be compared: 42
    
    	* Result for [DNSDOMAIN]: SUCCESS
    
    	* Comparing [DNSFOREST] context...
    
    	* Objects to be compared: 20
    
    	* Result for [DNSFOREST]: SUCCESS

    Joissakin tapauksissa eri ohjaimien objektien attribuutit voivat vaihdella, ja komennon ulostulo kertoo sinulle tästä. Mutta kaikissa tapauksissa tämä ei ole merkki replikointiongelmasta.

    Seuraava vaihe on manuaalisesti määrittää SysVol-hakemiston vakaa replikointi.
    Asia on niin, että Samba ei vielä tue DFS-R:ää, aivan kuten se ei tukenut aiempaa FRS:ääkään. Siksi Samba ja DC:iden välistä replikointia varten Windows Ainoa toimiva ratkaisu tähän mennessä on yksisuuntainen replikointi apuohjelman avulla. Robocopy sarjasta Windows Server Vuoden 2003 resurssipaketin työkalut.

    Yhteensopivuusongelmien välttämiseksi Samban kehittäjät suosittelevat ensin apuohjelmapaketin asentamista tavalliselle työasemalle ja sitten Robocopyn kopioimista ohjaimeen kansioon "C:\Program Files (x86)".Windows ResurssipaketitTyökalut»

    Asennuksen jälkeen ohjaimen tehtävien ajoituksessa Windows Luomme tehtävän replikoinnin suorittamiseksi seuraavilla parametreilla:

    - Suorita kaikille käyttäjille
    — Käynnistä päivittäin 5 minuutin välein päivän aikana
    — Toiminnoissa määritämme polun robocopy-apuohjelmaan ja määritämme argumenteiksi:

    DC1SYSVOLtest.local DC2SYSVOLtest.local /mir /sec

    Tässä nimenomaisessa tapauksessa kopioimme SysVol-hakemiston sisällön DC1:stä DC2:een.

  3. Kannettavat käyttäjäkansiot, joissa käytetään pam_mount-kokoonpanoaKokemuksen kautta löysin kaksi käyttökelpoista vaihtoehtoa tämän ongelman ratkaisemiseksi sen avulla.
    1. Profiilikansion täydellinen liittäminen verkosta /home-osioon. Yksinkertainen vaihtoehto. Toimii loistavasti, jos Omat tiedostot-, Lataukset- ja Työpöytä-kansioiden nimet ovat samat molemmissa käyttöjärjestelmissä. Tämä edellyttää, että tietokone Linux on jo syötetty verkkotunnukseen ja käyttäjät kirjautuvat sisään verkkotunnustileillään käyttäen sssd:tä todennus- ja valtuutusmekanismina.
      # 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"/>
      

      jos:

      • uid="100000000-2000000000" — SSSD:ltä verkkotunnuksen käyttäjille määritetty UID-alue
      • server="dfs" - tiedostopalvelimen nimi
      • path="Profile_Users/%(USER)" — resurssi tiedostopalvelimella, jolla on isännöity käyttäjäprofiili
      • mountpoint=”~” — liitä polku käyttäjän kotikansioon

      Käyttäjän kirjautuminen välitetään makromuuttujalle "%(USER)", jota pam_mount käyttää verkkoresurssimme yhdistämiseen näytönhallinnassa syötetyllä tavalla. Siksi on tärkeää, että sisäänkirjautuminen syötetään DM:ään ilman nimenomaista toimialueen nimeä.

      Sssd.confissa tämä ratkaistaan ​​kommentoimalla tai asettamalla vaihtoehdoksi False käytä_täysin_päteviä_nimiä, joka mahdollistaa täysin pätevän nimitilan (mukaan lukien verkkotunnus) käyttäjille ja ryhmille.

    2. Toinen menetelmä on vähemmän yksinkertainen ja kömpelö, ja mielestäni kätevämpi ja parempi. Ero ensimmäiseen on vain pam_mount-kokoonpanossa
      # vim /etc/security/pam_mount.conf.xml
      <volume uid="100000000-2000200000" 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"/>
      <volume uid="100000000-2000200000" fstype="cifs" server="dfs" path="Profile_Users/%(USER)/Downloads" mountpoint="~/Загрузки" options="sec=krb5,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775"/>
      <volume uid="100000000-2000200000" 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"/>

      Eli yksinkertaisesti liitämme jokaisen kansion erikseen vastaavaan hakemistoon

Tulokset

Puolen kuukauden testipenkillä työskentelyn aikana tämä paketti selvisi onnistuneesti useista vuorotellen tapahtuneista molempien ohjainten pitkäaikaisista ja lyhytaikaisista sammutuksista käytännössä ilman seurauksia asiakkaille (kun asiakas oli kerran päällä Windows7 menetettyä luottamuksellista ihmissuhdetta).

Kaiken kaikkiaan minulla oli melko miellyttävä kokemus työskennellä tämän tuotteen kanssa, huolimatta kaikista vivahteista, joita minun piti käsitellä sekä artikkelissa että "kulissien takana".

Sudenkuoppia on paljon, ja Samban kanssa työskennellessäsi joudut paljastamaan niitä suuren määrän. Tällä hetkellä ei kuitenkaan ole muita ratkaisuja, joiden avulla voit järjestää hybridiympäristön sekä hakemistopalvelun kanssa että ilman sitä. Windows.

Lähde: will.com

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster