Samba DC wekî kontrolkerek domaina duyemîn di domaina AD de Windows 2012R2 û peldankên gerok ji bo xerîdaran li ser Windows и Linux

Samba DC wekî kontrolkerek domaina duyemîn di domaina AD de Windows 2012R2 û peldankên gerok ji bo xerîdaran li ser Windows и Linux
Têgihîştina ku ez di nav tevliheviyek îthalatê de bûm tavilê nehat. Tenê gava ku radestkirina nû ya PC-yê bi domdarî ji rêxistinek bilindtir bi belavkirina Alt Linux-ê li ser rê dest pê kir, min guman kir ku tiştek xelet bû.

Lêbelê, gava ku ez di qonaxên pejirandina neçariyê re derbas bûm, min tev lê bû û tewra jî dest pê kir ku ji pêvajoyê piçek kêfê bikim. Û di demekê de min fikirîn ku bi vê rêjeyê, zû an dereng ez neçar bûm ku ji çareseriyên ji bo organîzekirina karûbarên pelrêça Microsoft-ê veqetiyam û ber bi tiştek biyanîtir ve biçim. Ji ber vê yekê, ji bo ku pêşî li ber neçariyê were amadekirin, û, heke gengaz be, bi qasî ku mimkun be, ji bo girtina gelek kelûpelan, biryar hate girtin ku qonaxek ceribandinê were danîn, ku tê de ye:

  • DC1 — Windows Server 2012R2
  • DC2 - Viola Server 8.2
  • Servera Pelê — Windows Server 2012R2
  • PC1 — Windows 7
  • PC2 - Viola Workstation 8.2

Armancên standê:

  1. Domaînek li ser bingeha w2k12r2 bicîh bike. Komek polîtîkayên komê yên herî kêm biafirîne (mîna yên ku di binesaziya hilberînê de têne bikar anîn), di nav de polîtîkayek ji bo veguhastina peldankên xebata bikarhêneran (Daxistin/Belge/Sermase). Di dawiyê de, ez dixwazim piştrast bikim ku dema bikarhênerek cîhê karê xwe diguherîne, Windows li ser Linux û dema vegeriya, ew bi rehetî digihîşte belgeyên karê xwe.
  2. Ketina Samba DC ji hêla kontrola duyemîn ve. Serlêdan û Repplication DNS kontrol bikin
  3. Sazkirina mişteriyan Linux ji bo xebatê bi peldankên veguhastinê re

Pêkanîn:

  1. Sazkirin û danîna kontrolkerek nûBi sazkirina MS-ê re Windows 2012R2 hêsan û kêm-zêde zelal e. Li ser înternetê 1001 rêbername hene ji bo bicihkirina domainekê li ser Windows hem GUI û hem jî Powershell bikar tînin, ji ber vê yekê ez ê dîsa dubare nekim, ez ê tenê biçim girêdanê on off. ji bo kesên meraqdar û yên ku dixwazin hafizaya xwe nû bikin belgename.

    Lêbelê, di vê xalê de hîn xalek girîng heye. Heya nuha, Samba nikare bi nexşeyên pelrêça ku ji 2008R2 bilindtir bixebite.

    sernavê spoiler Rasttir, pêşdebiran ev piştgirî wekî ceribandinî diyar kirin. Lê di pratîkê de, hewldanek ji bo danasîna Samba wekî DC-yek duyemîn di nav domainek heyî de ye. Windows bi nexşeya 69 - hûn ê bi xeletiya jêrîn werin pêşwazîkirin

    DsAddEntry bi rewşa WERR_ACCESS_DENIED agahî têk çû (8567, 'WERR_DS_INCOMPATIBLE_VERSION')

    Pirsgirêk ew e Windows 2012 û 2012R2 amûrên WMI bikar tînin da ku bi domain û daristanan re bixebitin, piştgiriya stabîl tenê ji bo guhertoya Samba 4.11 hatiye ragihandin, ku tê payîn ku berî dawiya vê salê derkeve.
    Ji vê yekê derdikeve ku yekane vebijarka ji bo danasîna samba di nav domainek AD-ê de ku li ser serverek 2012R2 hatî bicîh kirin ev e ku nexşeyê ji 69-ê berbi 47-an ve were daxistin. Bê guman, divê ev bêyî sedemek baş li ser binesaziyek hilberînê neyê kirin, lê me heye kursa testê li vir, ji ber vê yekê çima ne bi rastî ne.

    Alt Server 8.2 saz bikin. Di dema sazkirinê de, profîla "Samba-DC Server (Kontrolkerê AD)" hilbijêrin. Li ser servera hatî danîn, em nûvekirinek pergalê ya bêkêmasî pêk tînin û pakêta task-samba-dc saz dikin, ku dê her tiştê ku hûn hewce ne bikişîne.

    # apt-get install task-samba-dc

    Ger ji nişkê ve task-samba-dc, berevajî piştrastkirina belgeyê, Alta red dike ku her tiştê ku hewce bike bixwe saz bike.

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

    Piştre, em diçin sazkirina Kerberos û wergirtina bilêtek. Pelê krb5.conf vekin, biçin beşa [libdefaults], û wê bînin forma jêrîn:

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

    Daxwaza bilêtek

    # kinit administrator
    Password for administrator@TEST.LOCAL:

    Kontrolkirina navnîşa bilêtên Kerberos ên wergirtî

    # 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

    Naha em konfigurasyona samba ya heyî jêbirin an biguherînin.

    # mv smb.conf smb.conf.bak1

    Û di dawiyê de, em bi kontrola duyemîn re têkevin qada AD:

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

    Ketina serketî dê bi têketina jêrîn re were girêdan

    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

    Di snap-in ADUC de divê tomarek ji bo DC-ya nû di qada TEST.LOCAL de hebe, û di rêvebirê DNS de divê tomarek A-ya nû ya ku bi DC2 re têkildar be hebe.

  2. Replication di navbera kontrolkeran dePêşîn, bila em xebata Karûbarê Veguheztina Rêvebirê (DRS) kontrol bikin.
    # samba-tool drs showrepl

    Divê hemû hewldanên dubarekirinê di encamê de serkeftî bin. DC1-a me divê di nav 15 hûrdeman de piştî têketinê di navnîşa objeyên KCC de xuya bibe. 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!

    Parastina "Ji bo Girêdanê NC nayê dubare kirin!" dikare bi ewlehî were paşguh kirin. Wusa dixuye ji ber ku dema ku DCyek nû tomar dike, Samba bi xeletî hin alayên dubarekirinê destnîşan dike.

    Her weha dê ramanek baş be ku hûn dubarekirina LDAP-ê kontrol bikin.

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

    Fermana jorîn dê nirxên taybetmendiyê yên tevahiya pelrêça li ser DC1 û DC2 bide ber hev.

    Mînaka dubarekirina serketî

    * 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

    Di hin rewşan de, dibe ku taybetmendiyên tiştên li ser kontrolkerên cihêreng cûda bin, û derketina fermanê dê we di derheqê vê de agahdar bike. Lê ne di hemî rewşan de ev dê bibe nîşanek pirsgirêkek dubarekirinê.

    Pêngava paşîn ev e ku meriv bi destan vesazkirina stabîl a pelrêça SysVol mîheng bike.
    Mesele ev e ku Samba hîn jî piştgiriya DFS-R nake, mîna ku FRS-ya berê piştgirî nedikir. Ji ber vê yekê, ji bo dubarekirina di navbera DC-yan de, Samba û Windows Tenê çareseriya ku heta niha dixebite, dubarekirina yekalî bi karanîna amûrê ye. Robokopî ji kîtê Windows Server Amûrên Kîta Çavkaniyan a 2003an.

    Ji bo dûrketina ji pirsgirêkên lihevhatinê, pêşdebirên Samba pêşniyar dikin ku pêşî pakêta karûbaran li ser qadeke xebatê ya birêkûpêk saz bikin, û dûv re Robocopy li kontrolkerê di peldanka "C:\Program Files (x86)" de kopî bikin.Windows Kîtên ÇavkaniyanAmûr»

    Piştî sazkirinê, di plansazkerê peywirê de li ser kontrolkerê bi Windows Em peywirekê diafirînin da ku bi parametreyên jêrîn replikasyonê pêk bînin:

    - Ji bo hemî bikarhêneran bicîh bikin
    - Di nava rojê de her 5 hûrdeman Rojane bişopînin
    - Di çalakiyan de em riya karûbarê robocopy diyar dikin, wekî argûman destnîşan dikin:

    DC1SYSVOLtest.local DC2SYSVOLtest.local /mir /sec

    Di vê rewşa taybetî de, em naveroka pelrêça SysVol ji DC1 ber DC2 kopî dikin.

  3. Peldankên bikarhêner ên portable ku veavakirina pam_mount bikar tîninBi ezmûnê, min ji bo çareserkirina vê pirsgirêkê bi alîkariya wê du vebijarkên guncan dîtin.
    1. Bi tevahî peldankek profîlê ji torê bo dabeşa /home saz dike. Vebijarkek hêsan. Ger navên peldankên Belgeyên Min, Dakêşan, û Desktop di her du pergalên xebitandinê de yek bin, pir baş dixebite. Ev texmîn dike ku PC-ya li ser Linux berê hatiye nav domainê û bikarhêner bi karanîna ssd wekî mekanîzmayeke pejirandin û destûrdayînê bi hesabên xwe yên domainê têkevinê.
      # 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"/>
      

      derê

      • uid = "100000000-2000000000" - Rêjeya UID-ê ji bikarhênerên domainê re ji SSSD ve hatî destnîşan kirin
      • server = "dfs" - navê servera pelê
      • path="Profile_Bikarhêner/%(USER)" - çavkaniyek li ser serverek pelê bi profîla bikarhênerek mêvandar
      • mountpoint=”~” - rê li peldanka malê ya bikarhênerê bixin

      Têketina bikarhêner ji guhêrbara makro "%(USER)" re derbas dibe ku ji hêla pam_mount ve tê bikar anîn da ku çavkaniya torê ya me ya ku di rêvebirê dîmenderê de hatî nivîsandin ve girêbide. Ji ber vê yekê, girîng e ku têketin bêyî ku navê domainê bi eşkereyî diyar bike têkevin DM.

      Di sssd.conf de ev bi şîrovekirin an vebijarka li ser False veqetandî tê çareser kirin use_fully_qualified_names, ku ji bo bikarhêner û koman moda navê bi tevahî jêhatî (tevî domainê) çalak dike.

    2. Rêbaza duyemîn kêmtir serast û nebaş e, û bi dîtina min hêsantir û bijartir e. Cûdahiya ji ya yekem tenê di veavakirina pam_mount de ye
      # 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"/>

      Ango, em bi tenê her peldanka xwe ji hev cuda di pelrêça têkildar de siwar dikin

vebiguherin

Di nîv mehekê xebata li ser kursiya ceribandinê de, ev pakêt bi serkeftî li hember çend qutkirinên demdirêj û demkurt ên her du kontrolkeran sax ma, bêyî ku ti encam ji bo xerîdaran hebe (dema ku xerîdar li ser Windows7 têkiliyên baweriyê winda kirin).

Bi tevayî, min xwedan ezmûnek pir xweş bû ku bi vê hilberê re xebitîm, tewra tevî hemî hûrguliyên ku ez neçar bûm hem di gotarê de hem jî "li pişt perdeyê" bi wan re mijûl bibim.

Gelek kêmasî hene, û dema ku hûn bi Samba re dixebitin, hûn ê neçar bimînin ku hejmareke mezin ji wan eşkere bikin. Lêbelê, niha çareseriyên din nînin ku destûrê bidin we ku hûn hawîrdorek hîbrîd organîze bikin, hem bi karûbarek rêbernameyê û hem jî bêyî wê. Windows.

Source: www.habr.com

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster