Dy serverë DNS në një përshtatës nuk i ndajnë hapësirat e emrave
Listimi i dy zgjidhësve në një përshtatës nuk i jep çdo domeni autoritetin e vet. Ndërtoni dy rregulla me shtrirje, provoni zgjedhjen dhe hiqni pikërisht ato.
Listimi i dy zgjidhësve në një përshtatës duket si një mënyrë për të dërguar një domen në një server dhe një domen tjetër në tjetrin, dhe asgjë në listën e zgjidhësve nuk funksionon kështu. Windows zgjidh sipas emrit, dhe vendimi se cili server do të pyetet vjen nga objekte politike dhe jo nga një listë e renditur adresash. Modeli mendor që duhet zëvendësuar është radha: nuk ka një server të parë për domenin A dhe një server të dytë për domenin B. Ekziston një grup rregullash për çdo hapësirë emrash që i emërton serverët në mënyrë të qartë, dhe sapo ekzistojnë këto rregulla, lista e përshtatësit nuk është më interesante.
Miti: dy adresa ndajnë dy domenë
Besimi mbijeton sepse funksionon rastësisht kur një server përgjigjet për gjithçka dhe i dyti është vetëm rezervë. Një klient pyet serverin e parë, ai server përcjell ose bën rekursion, dhe përgjigjja arrin; askush nuk vëren se cili zgjidhës e mbante në të vërtetë zonën. Iluzioni thyhet në momentin kur dy hapësirat e emrave jetojnë në zona private të ndara pa përcjellje mes tyre, sepse atëherë serveri i parë përgjigjet me autoritet se emri nuk ekziston. Një përgjigje negative nga serveri i parë nuk aktivizon rezervën, pasi klienti ka marrë një përgjigje përfundimtare dhe jo një dështim.
Një listë e renditur nuk ka konceptin e domenit, prandaj nuk mund të shprehë qëllimin. Ajo që lista kontrollon në të vërtetë është cili server pyetet i pari dhe cili provohet i dyti, dhe të dyja përgjigjet vlejnë njësoj për çdo emër.
Çfarë përdor Windows në të vërtetë për të zgjedhur
Tabela e Politikës së Zgjidhjes së Emrave përputh një emër me hapësirat e konfiguruara të emrave dhe zgjedh serverët dhe opsionet për atë përputhje. Rregullat mund të konfigurohen lokalisht, të dorëzohen nga Politika e Grupit ose të sigurohen nga një profil VPN, dhe politika efektive është një kombinim dhe jo një listë e vetme. Prandaj diagnoza e parë është gjithmonë gjendja efektive: një rregull i krijuar lokalisht që humbet ndaj një politike të menaxhuar prodhon një laborator që sillet krejt ndryshe nga sa sugjeron konfigurimi i tij. Rregullat përputhen edhe sipas specifikës, kështu që një hyrje e gjerë e hapësirës së emrave mund të mbulojë një të ngushtë në mënyra të padukshme në një listë elementësh të konfiguruar. Leximi i rendit efektiv është mënyra e vetme për të parë se cili rregull fiton.
Get-DnsClientNrptRule
Get-DnsClientNrptPolicy -Effective
Komanda e parë liston çfarë është konfiguruar në makinë; e dyta tregon çfarë do të zbatojë në të vërtetë klienti, përfshirë hyrjet që kanë ardhur nga diku tjetër. Nëse dalja efektive përmban hapësira emrash të menaxhuara, pronari i asaj politike është vendi i duhur për të kërkuar ndryshimin, jo lista lokale e rregullave. Të dyja komandat vetëm lexojnë gjendjen, prandaj ekzekutimi i tyre përpara se dikush të pajtohet me ndryshimin nuk kushton asgjë.
Një rregull për çdo hapësirë emrash, mbajeni objektin
Pasi gjendja efektive të jetë kuptuar, krijoni një rregull për çdo hapësirë emrash dhe ruani objektin që kthen çdo komandë. Emrat e shfaqjes janë etiketa për njerëzit, dhe identifikuesi unik në objektin e kthyer është më pas objektivi i besueshëm i fshirjes. Shkruani të dy identifikuesit në të njëjtën shënim ndryshimi që regjistron hapësirat e emrave dhe zgjidhësit, sepse sesioni që i krijoi nuk do të jetë sesioni që pastron.
$svcRule = Add-DnsClientNrptRule -Namespace ".svc.internal.example" -NameServers "10.60.0.53" -DisplayName "VPN lab services" -PassThru
$resRule = Add-DnsClientNrptRule -Namespace ".research.internal.example" -NameServers "10.61.0.53" -DisplayName "VPN lab research" -PassThru
$svcRule | Select-Object Name, Namespace, NameServers
$resRule | Select-Object Name, Namespace, NameServers
Pika fillestare tregon një përputhje prapashtese, kështu që rregulli mbulon app.svc.internal.example dhe çdo gjë tjetër nën të. Dy adresat këtu i përkasin planit të rrugëzimit të këtij laboratori; një rregull nuk krijon zonë, nuk instalon rrugë dhe nuk autorizon aplikacionin që lidhet në fund, dhe referenca e Add-DnsClientNrptRule dokumenton saktësisht se cili parametër bën çfarë.
Vini re çfarë nuk bëjnë këto komanda: ato janë për të gjithë makinën, nuk kufizohen në një sesion VPN, dhe mbijetojnë pas mbylljes së dritares. Një laborator që harron këtë lë politikë pas vetes pasi tuneli largohet.
Provoni se klienti zgjodhi serverin
Të pyesësh një server të caktuar nëse e njeh një emër provon se serveri mund të përgjigjet, që nuk është i njëjti pohim me atë se klienti zgjodhi atë server. Testi që ka rëndësi zgjidh një emër real përmes rrugës së zakonshme të klientit dhe më pas konfirmon cili zgjidhës e trajtoi, në mënyrë ideale ndërsa tuneli që siguron rrugën është aktiv. Nëse tuneli është i ndalur, një rregull i kufizuar saktë vazhdon të tregojë një server të paarritshëm, dhe ky është problem rrugëzimi dhe jo politike. Provoni të dyja gjendjet që ato të mund të dallohen më vonë.
Resolve-DnsName app.svc.internal.example
Resolve-DnsName build.research.internal.example
Resolve-DnsName app.svc.internal.example -DnsOnly -NoHostsFile
Vini re përgjigjet e ruajtura në cache nga periudha para se të ekzistonin rregullat, dhe aplikacionet që anashkalojnë plotësisht zgjidhësin e sistemit me DNS-në e tyre të kriptuar. Prapashtesat e kërkimit janë një funksion tjetër i veçantë: një rregull mund të zgjedhë një zgjidhës për një emër të plotë pa i mësuar Windows të zgjerojë një emër hosti të zhveshur në atë hapësirë emrash.
Hiqni pikërisht atë që krijuat
Pastrimi është vendi ku një laborator bëhet një histori paralajmëruese. Fshirja e çdo rregulli në makinë është e shpejtë dhe heq politikë nga e cila varet dikush tjetër, prandaj përdorni identifikuesit e kapur kur u krijuan rregullat, dhe më pas rilexoni gjendjen efektive për të konfirmuar se makina u kthye atje ku filloi. Nëse sesioni që i krijoi nuk është më, shënimi i ndryshimit është i vetmi vend ku ekzistojnë identifikuesit. Kjo është arsyeja pse ata shkruhen përpara se të ekzekutohet komanda e parë, dhe jo pas saj.
Remove-DnsClientNrptRule -Name $svcRule.Name -Force
Remove-DnsClientNrptRule -Name $resRule.Name -Force
Get-DnsClientNrptPolicy -Effective
Për një vendosje dhe jo një laborator, çështja e jetëgjatësisë ka po aq rëndësi sa rregulli. Një profil VPN mund të mbajë rregullat e hapësirës së emrave dhe të zgjedhë nëse ato vazhdojnë pas lidhjes; një rregull që vazhdon ndërsa zgjidhësi është i paarritshëm i lë klientët të preferojnë një server të vdekur, dhe një rregull i kufizuar në lidhje zhduket kur largohet tuneli. Vendosni se cila nga këto sjellje i nevojitet shërbimit, shënoni kush e zotëron rregullin, dhe lini ndarjen e autoritetit të dokumentuar pranë profilit dhe jo në kujtesën e dikujt për një laborator.