Svaki zahtjev za podijeljeni DNS počinje istom rečenicom: imena kompanije idu na DNS kompanije, a sve ostalo nastavlja raditi. Pretvaranje te rečenice u konfiguraciju znači odgovoriti na tri pitanja po operativnom sistemu, a odgovori koriste različite mehanizme na svakom od njih. Profili koji rade na Linux laptopu često ne rade na Windowsu iz razloga koji nemaju veze s tunelom. Razlika je obično u tome što se postavka rezolvera zamijeni s rutom.

Prvo imenujte politiku, a zatim odaberite primitiv platforme koji je izražava.

Tri postavke koje je lako pobrkati

Sufiks za pretragu proširuje kratko ime: upisivanje files postaje files.corp.example kada rezolver isprobava sufikse po redu. Rutirajuća domena odabire koji rezolver odgovara na upite unutar imenskog prostora. IP ruta samo čini odabrani rezolver dostupnim. Te tri stvari žive u različitim slojevima, a zamjena jedne drugom daje konfiguraciju koja izgleda ispravno i ništa ne rješava.

Zbrka ima cijenu: dodavanje sufiksa za pretragu šalje svako kratko ime poslovnom rezolveru, uključujući imena koja pripadaju negdje drugdje. Odabir rutirajuće domene zadržava nepovezane upite na lokalnom rezolveru, dok *.corp.example i dalje ide kroz tunel.

Linux: domena samo za rutiranje, a ne sufiks za pretragu

Na systemd-resolvedu, domena s tildom na početku je domena samo za rutiranje, što znači da upiti za taj imenski prostor idu povezanom rezolveru, a da pritom ne postaju i sufiks za pretragu. resolvectl domain tun0 '~corp.example' to postavlja, a resolvectl dns tun0 10.8.0.1 imenuje server. Obje postavke pripadaju interfejsu, pa nestaju s njim. Tilda je dio koji ljudi izostavljaju, a bez nje kratka imena počinju da se rješavaju preko poslovnog rezolvera.

Ne instalirajte istu domenu i kao globalni sufiks za pretragu. Te dvije postavke nisu suvišne; jedna rutira, a druga prepisuje ono što ste otipkali.

Windowsu treba politika imenskog prostora, a ne sufiks

Windows čuva politiku podijeljenog DNS-a u tablici pravila razrješavanja imena, a ne u DNS sufiksu adaptera. Pravilo preslikava imenski prostor na određene servere: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Postavljanje samo sufiksa mijenja izgled kratkih imena; ono ne usmjerava upit na drugi server.

Provjerite važeću politiku pomoću Get-DnsClientNrptPolicy nakon povezivanja, jer pravilo iz ranije veze može nadživjeti tunel. Uklonite pravila po imenu kada tunel padne, i držite prikazno ime stabilnim da čišćenje pogodi pravi unos.

Zadržite jednog vlasnika rezolvera po platformi

Upravitelj radne površine, up skripta OpenVPN-a i lokalni demon rezolvera mogu svi pokušati upisati istu konfiguraciju. Kada se ne slažu, pobjeđuje onaj koji je zadnji pisao, a rezultat zavisi od reda rasklapanja. Odaberite jednu komponentu koja posjeduje stanje rezolvera, pustite ostale da izvještavaju umjesto da pišu, i testirajte ponovno povezivanje: politika bi ga trebala preživjeti bez dupliciranja pravila. Testirajte i prekid veze, jer preostalo stanje je ono zbog čega se sljedeća veza ponaša drugačije.

Aplikacije koje donose vlastiti šifrirani rezolver potpuno zanemaruju politiku operativnog sistema. To je svojstvo aplikacije, a ne nedostatak u tunelu.

Provjerite rezultat, a ne tekst profila

Razriješite jedno ime koje treba ići kroz tunel i jedno koje ne treba, na svakoj platformi, i potvrdite koji je server odgovorio. resolvectl query host.corp.example i Resolve-DnsName host.corp.example oba izvještavaju koji je server odgovorio. Ponovite nakon ponovnog povezivanja. Zatim potvrdite da je rezolver tunela dostupan na adresi koju profil nameće, jer ispravna politika koja pokazuje na nedostupan server pada isto kao i nikakva politika.

Zapišite namjeravano ponašanje u bilješke profila: koji sufiks rutira, koji server na njega odgovara i šta se dešava sa svim ostalim. Sljedećoj platformi koju podržite ta će rečenica trebati više nego konfiguracijska datoteka.

Povezani članci