Uvedenie dvoch prekladačov na jednom adaptéri vyzerá ako spôsob, ako poslať jednu doménu na jeden server a inú doménu na druhý, a nič v zozname prekladačov tak nefunguje. Windows prekladá podľa mena a rozhodnutie, ktorý server sa má opýtať, prichádza z objektov politiky, nie z usporiadaného zoznamu adries. Myšlienkový model, ktorý treba nahradiť, je front: neexistuje prvý server pre doménu A a druhý server pre doménu B. Existuje sada pravidiel pre každý menný priestor, ktorá servery výslovne pomenúva, a keď tieto pravidlá existujú, zoznam adaptéra prestáva byť zaujímavý.

Mýtus: dve adresy rozdeľujú dve domény

Presvedčenie prežíva, pretože funguje náhodou, keď jeden server odpovedá na všetko a druhý je len záloha. Klient sa opýta prvého servera, ten prepošle dopyt alebo vykoná rekurziu, a odpoveď dorazí; nikto si nevšimne, ktorý prekladač zónu skutočne držal. Ilúzia sa zrúti v okamihu, keď oba menné priestory žijú v oddelených privátnych zónach bez preposielania medzi sebou, pretože prvý server potom autoritatívne odpovie, že meno neexistuje. Negatívna odpoveď od prvého servera nespustí záložnú možnosť, keďže klient dostal konečnú odpoveď, a nie zlyhanie.

Usporiadaný zoznam nemá pojem domény, takže nemôže vyjadriť zámer. Zoznam v skutočnosti riadi, ktorý server sa pýta prvý a ktorý sa skúša druhý, a obe odpovede platia rovnako pre každé meno.

Čo Windows skutočne používa na výber

Tabuľka zásad prekladu mien porovnáva meno s nakonfigurovanými mennými priestormi a vyberá servery a možnosti pre túto zhodu. Pravidlá možno nakonfigurovať lokálne, doručiť skupinovou politikou alebo zadať profilom VPN, a efektívna politika je kombinácia, nie jediný zoznam. Preto je prvá diagnostika vždy efektívny stav: lokálne vytvorené pravidlo, ktoré prehráva so spravovanou politikou, dáva laboratórium, ktoré sa správa úplne inak, než naznačuje jeho konfigurácia. Pravidlá sa porovnávajú aj podľa špecifickosti, takže široký záznam menného priestoru môže zatieniť úzky spôsobom, ktorý v zozname nakonfigurovaných položiek nie je vidieť. Čítanie efektívneho poradia je jediný spôsob, ako zistiť, ktoré pravidlo vyhráva.

Get-DnsClientNrptRule
Get-DnsClientNrptPolicy -Effective

Prvý príkaz vypíše, čo je na stroji nakonfigurované; druhý ukáže, čo klient skutočne použije, vrátane položiek, ktoré prišli odinakiaľ. Ak efektívny výstup obsahuje spravované menné priestory, správnym miestom pre žiadosť o zmenu je vlastník tejto politiky, nie lokálny zoznam pravidiel. Oba príkazy iba čítajú stav, takže ich spustenie predtým, než sa niekto zhodne na zmene, nič nestojí.

Jedno pravidlo na menný priestor, objekt si ponechajte

Keď je efektívny stav pochopený, vytvorte jedno pravidlo na menný priestor a uchovajte objekt, ktorý každý príkaz vráti. Zobrazované názvy sú štítky pre ľudí a jedinečný identifikátor vo vrátenom objekte je potom spoľahlivým cieľom vymazania. Zapíšte oba identifikátory do tej istej poznámky o zmene, ktorá zaznamenáva menné priestory a prekladače, pretože relácia, ktorá ich vytvorila, nebude reláciou, ktorá upratuje.

$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

Počiatočná bodka označuje zhodu prípony, takže pravidlo pokrýva app.svc.internal.example a všetko pod ním. Dve adresy tu patria k vlastnému plánu smerovania tohto laboratória; pravidlo nevytvára zónu, neinštaluje trasu ani neoprávňuje aplikáciu, ktorá sa nakoniec pripojí, a referenčná stránka Add-DnsClientNrptRule presne dokumentuje, ktorý parameter čo robí.

Všimnite si, čo tieto príkazy nerobia: sú pre celý stroj, nie sú obmedzené na reláciu VPN, a prežijú zatvorenie okna. Laboratórium, ktoré na to zabudne, po zániku tunela zanechá politiky.

Dokážte, že klient zvolil server

Opýtať sa konkrétneho servera, či pozná meno, dokazuje, že server dokáže odpovedať, čo nie je to isté tvrdenie ako to, že klient zvolil tento server. Test, na ktorom záleží, preloží skutočné meno obvyklou cestou klienta a potom potvrdí, ktorý prekladač sa oň postaral, ideálne vtedy, keď je tunel poskytujúci trasu aktívny. Ak je tunel mimo prevádzky, správne obmedzené pravidlo stále ukazuje na nedostupný server, a to je problém smerovania, nie zásad. Otestujte oba stavy, aby sa dali neskôr rozlíšiť.

Resolve-DnsName app.svc.internal.example
Resolve-DnsName build.research.internal.example
Resolve-DnsName app.svc.internal.example -DnsOnly -NoHostsFile

Sledujte odpovede uložené v medzipamäti z obdobia pred vznikom pravidiel a aplikácie, ktoré úplne obchádzajú systémový prekladač vlastným šifrovaným DNS. Vyhľadávacie prípony sú ďalšia samostatná funkcia: pravidlo môže zvoliť prekladač pre plné meno bez toho, aby učilo Windows rozširovať holé meno hostiteľa do tohto menného priestoru.

Odstráňte presne to, čo ste vytvorili

Upratovanie je miesto, kde sa laboratórium mení na výstražný príbeh. Vymazať každé pravidlo na stroji je rýchle a odstráni politiky, na ktoré sa spolieha niekto iný, preto použite identifikátory zachytené pri vytváraní pravidiel a potom znova prečítajte efektívny stav, aby ste potvrdili, že stroj sa vrátil tam, kde začínal. Ak relácia, ktorá ich vytvorila, už neexistuje, poznámka o zmene je jediné miesto, kde identifikátory existujú. Preto sa zapisujú pred spustením prvého príkazu, nie po ňom.

Remove-DnsClientNrptRule -Name $svcRule.Name -Force
Remove-DnsClientNrptRule -Name $resRule.Name -Force
Get-DnsClientNrptPolicy -Effective

Pri nasadení, a nie laboratóriu, je otázka životnosti rovnako dôležitá ako pravidlo. Profil VPN môže niesť pravidlá menných priestorov a zvoliť, či pretrvajú aj po pripojení; pravidlo, ktoré pretrváva, kým je prekladač nedostupný, necháva klientov uprednostňovať mŕtvy server, a pravidlo obmedzené na pripojenie zmizne spolu s tunelom. Rozhodnite, ktoré z týchto správaní služba potrebuje, označte, kto pravidlo vlastní, a nechajte rozdelenie právomocí zdokumentované vedľa profilu, a nie v niekoho pamäti na laboratórium.

Súvisiace články