În primul rând, dacă înțelegeți principiile funcționării DNS. atunci nimic super complicat nu va fi spus. De asemenea, nu vor mai exista dezasamblatori și alte piese "dificile". Totul este în limitele obișnuite, umane, de înțelegere.
Active Directory utilizează DNS ca mecanism pentru a găsi controlere de domeniu și alte obiecte. Există trei componente pe care depinde activitatea AD în DNS:
- Domeniu controler locator
- Numele de domenii Active Directory în DNS
- Obiectele Active Directory din DNS
Și acum să analizăm în detaliu:
Domeniu controler locator
Prezentat de serviciul NET LOGON, care permite clienților să găsească controlere de domeniu.
Numele de domenii Active Directory în DNS
Fiecare domeniu are un nume DNS (de exemplu: inadmin.ru), deoarece fiecare computer din acest domeniu are propriul nume DNS (de exemplu: Server01.inadmin.ru). Din punct de vedere arhitectural, fiecare componentă este stocată ca obiect în Active Directory și ca nod în DNS. Există o diferență fundamentală, deși numele sunt aceleași, dar au diferite roluri.- DNS rezolvă numele domeniului și al computerului din înregistrările de resurse. Pentru a face acest lucru, se trimite o solicitare serverului DNS care stochează baza de date DNS
- Active Directory rezolvă obiectele de domeniu. Acestea sunt obținute prin interogarea controlorilor de domeniu, cum ar fi solicitările LDAP.
Obiectele Active Directory din DNS
Când DNS este stocat în Active Directory, este creat un container pentru fiecare zonă DNS (clasa dnsZone). În interiorul acestui obiect sunt stocate obiecte DNS (clasa dnsNode) pentru fiecare nume unic. Aceste nume unice includ modificările asociate cu mașina gazdă. Fiecare obiect dnsNode are un atribut cu mai multe valori dnsRecord, care conține o valoare pentru fiecare înregistrare de resurse asociată cu numele obiectului.
Numele computerului
Alegerea serviciului de navigare
Numele DNS se numește numele complet sau FQDN (nume de domeniu complet calificat). FQDN se obține prin adăugarea numele computerului (primele 15 bytes sAMAccountName, fără caracterul „$“) și sufixul DNS primar (nume de domeniu DNS în care se află calculatorul). Pentru Windows, puteți să vă uitați la calea WIN + Break. În mod prestabilit, sufixul principal DNS pentru numele FQDN trebuie să fie același cu numele Active Directory al domeniului în care este localizat computerul. Dacă este necesar, puteți adăuga alte sufixe de domeniu care sunt create ca atribute msDS-AllowedDNSSuffixes.
Deci, avem pentru Server01.inadmin.ru
- Prefixul este prima parte a numelui. În exemplul meu: Server01
- Sufixul este a doua parte a numelui care conține domeniul în care se află computerul. În exemplul meu: inadmin.ru
Există și SPN (numele principal al serviciului), este puțin diferit. De obicei, numele SPN este obținut din numele gazdei DNS. SPN este folosit în procesul de autentificare reciprocă dintre client și serverul care are servicii specifice. Clientul găsește un cont al computerului utilizând serviciul SPN. Și încercând să mă conectez cu ea.
Active Directory în DNS
În timpul instalării controlerului de domeniu SRV și A, intrările sunt înregistrate dinamic în DNS. Ambele tipuri de înregistrări sunt necesare pentru localizarea controlerului de domeniu. După ce instalați Active Directory, puteți găsi intrările necesare pe controlerul de domeniu în.
% sistemroot% \ System32 \ Config \ Netlogon .dns.
- _msdcs este un subdomeniu definit de Microsoft. Sarcina sa este de a determina locația DC, care realizează anumite roluri în pădure și în domeniu. Această zonă este stocată în partiția de director pentru aplicații la nivel de pădure. Serviciul Net Logon înregistrează înregistrare SRV pentru identificarea resurselor bine-cunoscute, cum ar fi DC (Domain Controller), GC (catalog global), PDC (Primary Domain Controller), Domenii (Unique Identifier La nivel global, GUID), ambele prefixe un subdomeniu în _msdcs. Subdomeniile definite în acest fel definesc controlorii de domeniu care se află în domeniu sau în pădure și execută anumite roluri. Pentru a determina locația unui DC după tip sau GUID, serverele Windows înregistrează SRV utilizând următorul model:
_Service._Protocol.DcType._msdcs.DnsDomainName
- SRV Records. Când un controler de domeniu se învârte, serviciul Net Logon utilizează actualizări dinamice pentru a înregistra înregistrările SRV și A pe serverul DNS. Înregistrările SRV sunt utilizate pentru a fixa numele serviciului (de exemplu, LDAP) peste numele DNS al computerului pe care rulează serviciul. Atunci când o stație de lucru se conectează la un domeniu, acesta interoghează DNS pentru înregistrările SRV folosind formularul următor:
Deoarece Active Directory utilizează protocolul TCP, clienții găsesc serverul LDAP în această formă:
Înregistrările SRV înregistrate de serviciul Net Logon
În următorul tabel, vom vedea care înregistrări SRV sunt înregistrate de serviciul Net Logon. Și, de asemenea, domeniul de aplicare al înregistrării și care o înregistrează.
- DnsDomainName Numele DNS al domeniului în care este localizat serverul
- DnsForestName Numele DNS al pădurii, adică Numele DNS al domeniului rădăcină de pădure.
Cine a citit primul articol, pentru ei următoarele câteva mese sunt deja cunoscute.
Permite clientului să găsească serverul cu serviciul LDAP care rulează în domeniul DnsDomainName. De exemplu: _ldap._tcp.inadmin.ru
_ldap._tcp. NumeSite. _sites. Dnsdomainname.
Permite clientului să găsească serverul cu serviciul LDAP care rulează în domeniul DnsDomainName în site-ul SiteName. SiteName este un nume relativ care este stocat în containerul Configuration din Active Directory. De exemplu: _ldap._tcp.Moscow._Sites.inadmin.ru
Permite clientului să găsească controlerul de domeniu în domeniul DnsDomainName. Toate DC-urile înregistrează această înregistrare SRV.
_ldap._tcp. NumeSite. _sites.dc._msdcs. Dnsdomainname.
Permite clientului să găsească controlerul de domeniu în domeniul DnsDomainName în site-ul SiteName. Toate DC-urile înregistrează această înregistrare SRV.
Permite clientului să găsească PDC în domeniul DnsDomainName. Numai serverul PDC înregistrează această înregistrare SRV.
Permite clientului să găsească PDC în pădurea DnsForestName. Numai serverele GC înregistrează această înregistrare SRV.
_ldap._tcp. NumeSite. _sites.gc._msdcs. DnsForestName.
Permite clientului să găsească GC în pădurea DnsForestName. Numai serverele GC aparținând acestei păduri înregistrează această înregistrare SRV. De exemplu: _ldap._tcp.Moscow._Sites._gc._msdcs.inadmin.ru
Permite clientului să găsească GC în domeniul dat. Numai serverele GC aparținând acestei pădurii DnsForestName înregistrează această înregistrare SRV. De exemplu: _gc._tcp.inadmin.ru
Permite clientului să găsească GC în pădurea DnsForestName dată în site-ul SiteName. Numai serverele GC aparținând acestei pădurii DnsForestName înregistrează această înregistrare SRV. De exemplu: _gc._tcp._Moscow._Sites.inadmin.ru
_ldap._tcp. DomainGuid. domains._msdcs. DnsForestName.
Permite clienților să găsească DC după GUID. GUID este un pointer unic pe 128 biți. Calculat la momentul în care DnsDomainName și DnsForestName s-au modificat. De exemplu: _ldap._tcp.4f904480-7c78-11cf-b057-00aa006b4f8f.domains. _msdcs.inadmin.ru
Permite clienților să găsească Kerberos KDC în domeniul dat DnsDomainName. Toate DC-urile înregistrează această înregistrare SRV.
La fel ca _kerberos._tcp. DnsDomainName numai prin UDP
_kerberos._tcp. NumeSite. _sites. Dnsdomainname.
Permite clienților să găsească Kerberos KDC în domeniul DnsDomainName dat în SiteName. Toate DC-urile înregistrează această înregistrare SRV.
Permite clienților să găsească DC pe care rulează rolul Kerberos KDC în acest domeniu DnsDomainName. Toate DC-urile cu rolul KDC înregistrează această înregistrare SRV.
_kerberos.tcp. NumeSite. _sites.dc._msdcs. Dnsdomainname.
Permite clienților să găsească DC pe care rulează rolul Kerberos KDC în domeniul DnsDomainName în site-ul SiteName. Toate DC-urile cu rolul KDC înregistrează această înregistrare SRV.
Vă permite să găsiți Schimbarea parolei Kerberos pentru domeniul curent. Toate DC-urile cu rolul kerberos KDC înregistrează această înregistrare SRV
La fel ca _kpassword._tcp. DnsDomainName numai prin UDP
De asemenea, serviciul de conectare Net înregistrează înregistrarea resurselor CNAME pentru replicarea Active Directory.
DC Locator nu folosește această înregistrare. De fapt, această intrare ajută la redenumirea controlerului de domeniu.
De asemenea, înregistrările SRV au câmpuri suplimentare:
Prioritatea serverului. Clienții încearcă să se conecteze la serverele cu prioritate mai mică.
Utilizat în rolul Load-balanced pentru serverele cu aceeași prioritate. Clienții selectează aleator un server cu o probabilitate proporțională cu greutatea.
Serviciul Net Logon înregistrează, de asemenea, înregistrări de resurse de tip A pentru clienții LDAP care nu acceptă înregistrări SRV. DC Locator nu utilizează date de scriere.
Exemplu de înregistrare a numelor
Serviciul Net Logon. după cum am spus deja, înregistrează înregistrările necesare pentru detectare. Un exemplu simplu despre care înregistrări sunt actualizate sau create.
Vreau să adaug că nu numai nume DNS sunt înregistrate, dar și NetBIOS.
- Numele serverului DNS, este înregistrat pe serverul DNS (DC001.inadmin.ru)
- Numele NetBIOS, înregistrat pe serverul WINS (dacă există) (DC001)
Atunci când un client, computerul unui utilizator, încearcă să acceseze un domeniu, trebuie să efectueze una din cele două acțiuni
- Dacă numele domeniului căruia îi aparține clientul este numele DNS, atunci calculatorul trebuie să interogheze DNS pentru a căuta controlerul de domeniu
- Dacă numele domeniului căruia îi aparține clientul este un nume NetBIOS, atunci calculatorul trebuie să solicite WINS (este posibil să se folosească mesajul de difuzare pentru a căuta numele NetBIOS) pentru a căuta controlerul de domeniu
După aceasta, clientul stochează această înregistrare. Și-l stochează acasă, care nu ar mai genera trafic inutil și încărcare server.
Zona integrată Active Directory
Dacă citiți articolul anterior, îl puteți sări peste el. Locația de stocare a zonei DNS determină domeniul de replicare al acestei zone. Există mai multe zone de depozitare.
delegare
În detaliu am deschis acest subiect în prima parte a articolului. Acum vreau doar să menționez că spațiul de nume din întreaga pădure trebuie să fie unic. Rezoluția numelui ar trebui să treacă fără probleme pentru întreaga pădure. Delegarea contribuie la menținerea relevanței înregistrărilor resurselor, precum și la distribuirea sarcinilor administrative în fiecare domeniu.
În situația normală, spațiul de nume DNS este delegat, care este același cu numele domeniului Active Directory copil. Merită să ne amintim că atunci când delegarea rezoluției numelui ar trebui să apară nu numai din domeniul rădăcină "jos", ci invers. Adică serverele DNS aflate în domeniul rădăcină ar trebui să rezolve cu ușurință numele oricăror domenii Active Directory.
Lucrarea corectă a DNS va fi luată în considerare atunci când utilizatorii din domeniul copilului Sokolniki.moscow.inadmin.ru pot rezolva numele din domeniul rădăcină al Inadmin.ru și din toate domeniile sale copil. de exemplu SPB.inadmin.ru
Procesul de localizare a controlerului de domeniu
Mai întâi de toate, algoritmul constă în acțiunile de bază:
- Găsirea controlerelor de domeniu înregistrate în DNS
- Trimiteți o interogare DNS pentru a găsi controlori de domeniu într-un anumit domeniu
- Trimiteți o solicitare LDAP pentru a confirma starea de sănătate a controlerului de domeniu
- Interogare cache
Și acum să analizăm în detaliu.
- Pe client, computerul care dorește să găsească controlerul de domeniu Locator inițiază RPC pentru Log on Net (DsGetDcName)
- Clientul colectează informațiile necesare pentru a selecta un controler de domeniu și transferă informațiile către serviciul Net Logon utilizând API-ul DsGetDcName
- Serviciul Net Logon utilizează informațiile primite pentru a selecta un controler de domeniu din domeniu.
- Pentru numele DNS, Net Logon utilizează Localizatorul compatibil DNS al DnsQuery pentru a prelua înregistrările SRV și A.
- Pentru un nume scurt, căutarea unui controler de domeniu este efectuată utilizând un Locator compatibil NT 4.0, care se bazează, de exemplu, pe WINS.
Găsiți un controler de domeniu în cel mai apropiat site
Când DC Locator încearcă să găsească un controler de domeniu, încearcă să găsească cel mai apropiat controler de domeniu. Pentru aceasta, utilizează informațiile stocate în Active Directory.
Atunci când un controler de domeniu înregistrează înregistrările DNS, procedează astfel în mai multe locuri. Unul dintre aceste locuri este subdomeniul _sites, care stochează informații despre site-urile și serverele care se află în aceste site-uri. Atunci când este căutat un controler de domeniu, acesta este în primul rând o căutare în site-ul său și numai atunci în alte site-uri (de exemplu, dacă controlerele de domeniu nu sunt disponibile pe site-ul lor sau nu există deloc).
Probabil știți că fiecare site poate lega subrețeaua sa? Asta este pentru acest scop, și acest lucru trebuie făcut.
Notă: Când un computer nu cunoaște ultimul său site (din registru), acesta va accesa orice controler de domeniu. Există o opțiune de configurare a comenzii Netmask și apoi DNS va încerca să dea IP-ul celui mai apropiat controler de domeniu numai în ceea ce privește rutarea IP.
Adresele Active Directory și Subnet
Vă sfătuiesc să citiți acest articol. Foarte bine Ilya a descris site-urile și interacțiunea lor. Este descris pur și simplu, prin urmare, rescrierea din nou - nu are sens
Un site este un set de subrețele conectate printr-un canal rapid de schimb de date. Servește pentru gestionarea traficului de replicare;
- În Active Directory, site-urile sunt definite ca obiecte în cn = Sites, cn = Configuration, dc = ForestRootDomain container.
- Controlorii de domeniu sunt definiți în cn = servere, cn = site_name, cn = Site-uri, cn = Configurație, dc = ForestRootDomain
- Subnetul face parte din segmentul site-ului și este reprezentat de cn = Subnets, cn = Configuration, dc = Container ForestRootDomain. Fiecare obiect Subnet are un atribut siteObject care îl leagă de obiectul site-ului; valoarea siteObject este numele distins al site-ului.
- Obiectele de transport sunt reprezentate în CN = Inter-Site Transports, cn = Site-uri, cn = Configurație, dc = ForestRootDomain
Important: Site-urile pot conține una sau mai multe rețele IP. Setați ca rețea / mască_bits. Administratorul trebuie să determine manual site-urile, controlerele de domeniu și subrețelele.
Notă: deoarece obiectele site-ului sunt stocate în secțiunea Configurare, ele sunt replicate pe întreaga pădure Active Directory. Acest lucru face posibil ca fiecare controlor de domeniu să știe despre locația tuturor controlorilor de domeniu din pădure și să construiască o topologie. Serviciul Net Logon înregistrează, de asemenea, modificări în site.
în cheia DynamicSiteName
Notă: puteți suprascrie manual parametrul DynamicSiteName, utilizând parametrul SiteName (trebuie să-l creați) și DynamicSiteName nu va fi utilizat
Astfel, dacă clientul este conectat la același domeniu și site-ul (nu este mutat fizic), atunci acesta va accesa imediat controlerele de domeniu pe site-ul său, deoarece asta păstrează această informație în camera lui. Dacă site-ul sa schimbat, clientul va actualiza informațiile și în căutarea următoare va căuta în noul site.
Acoperirea site-ului
Există o astfel de posibilitate ca nu fiecare site să aibă un controler de domeniu. În mod implicit, fiecare controler de domeniu verifică toate site-urile din pădure și construiește o matrice de replicare. Toate controlerele de domeniu se înregistrează în site-uri care nu au controlere de domeniu sau au definit o conexiune low-cost. Acest lucru asigură că fiecare site va avea controlere de domeniu implicite pentru fiecare domeniu din pădure, chiar dacă site-ul nu are controlere de domeniu.
Algoritmul site-ului Acoperire
În acest algoritm, vom examina modul în care un controler de domeniu trebuie să determine dacă să înregistreze intrările necesare în site-uri care nu au controlere de domeniu.
- Construiți o listă a tuturor site-urilor țintă - în care nu există controlere de domeniu pentru domeniul curent.
- Creați o listă pentru toate site-urile - care au controlere de domeniu pentru domeniul curent
- Pentru fiecare site în care nu există un controler de domeniu care rulează:
- Construiți o listă de site-uri care au controlere de domeniu
- Dintre acestea, construiți o listă de site-uri care au un cost minim pentru site-uri din lista de p.1
- Dacă sunt mai multe, reduceți apoi la un candidat prin selectarea unui site cu un număr mare de controlere de domeniu.
- Dacă mai mult de unu, apoi lăsați un candidat, sortați în ordine alfabetică.
- Înregistrați înregistrările SRV pentru controlerul de domeniu din site.
Cache și timeout
Cache-urile servesc pentru a face mai puțin obișnuit să căutați controlori de domeniu. Cât de mult să stocați date despre controlerul de domeniu curent. Acesta este setat în câmpul registry CloseSiteTimeout. Timpul prestabilit este de 15 minute. (minim 1 minut, maxim 49 de zile).
Dacă cache-ul clientului stochează informații care nu se potrivesc cu locația curentă, de exemplu, site-ul sa schimbat. Serviciul Net Logon încearcă să determine cel mai apropiat controler de domeniu pentru client.
concluzie
După ce ați citit cele două articole, ar trebui să existe un concept general de funcționare a DNS, unde și ce este stocat. În ce scopuri. Pe bune, poți deschide mai departe acest subiect, dar apoi i-am spus noțiunile de bază. Mai adânc pot fi găsite pe TechNet-ul Microsoft.