Napišete eno vrstico z naslovom razreševalnika in domeno podjetja ter pričakujete, da bodo samo imena v tej domeni uporabljala razreševalnik tunela. Na odjemalcu Apple zdaj vsa imena gredo tja, kratka imena v domeni pa se prav tako razrešijo. Vrstica počne dve ločeni stvari in le ena od njiju je o tem, katere poizvedbe obravnava tunel. Druga je udobje tipkanja, ki ga je željno branje povzdignilo v politiko.

Na kaj se vrstica DNS razdeli

Odjemalec vnos prebere kot seznam in vsak element razvrsti po obliki. Vse, kar je videti kot naslov, postane strežnik DNS; vse, kar je videti kot domena, postane pripona iskanja. Oba končata v nastavitvah tunela, a v različnih poljih. Ponazoritvena vrstica za tunel, ki nosi zasebni razreševalnik in eno notranjo domeno, je videti takole.

DNS = 10.24.8.53, lab.internal.example

Naslov zagotovi razreševalnik. Domena zagotovi pripono, ki odjemalcu omogoči vnos kratkega imena, sistemu pa pred vprašanjem doda preostanek. Nobeden od njiju ne pove ničesar o omejitvi razreševalnika na to domeno, in prav to ljudje pričakujejo, a ne dobijo. Samo eno polje na platformi lahko izrazi to omejitev, in to ni to polje.

Dve polji Apple, dve različni nalogi

Apple razkrije razliko v svojem objektu nastavitev DNS. Seznam iskalnih domen je dokumentiran kot seznam, ki se uporablja za kvalifikacijo imen gostiteljev z eno oznako: vnesite golo ime gostitelja in sistem lahko po vrsti doda vsako pripono. To je pravilo dopolnjevanja, ne pravilo usmerjanja. Nič na tem seznamu ne odloči, kateri strežnik je vprašan.

Seznam ujemajočih se domen je druga lastnost. Odloči, kateri imenski prostori uporabljajo ta nabor nastavitev DNS, in prazen vnos pomeni privzeto domeno, ne ene določene pripone. generator nastavitev paketnega tunela v odjemalcu Apple sledi temu modelu. Razčlenjene pripone iskanja vstavi na seznam iskanja, in ko so strežniki prisotni, nastavi seznam ujemanja na prazen niz. Rezultat je razreševalnik tunela, ki odgovori na vse, kar mu sistem pošlje, plus pripona, ki pomaga pri kratkih imenih.

Domena v tej vrstici torej ni izbirnik imenskega prostora. Dodajanje druge ne zoži poizvedb, ki jih uporablja tunel, odstranitev pa jih tudi ne razširi. Edino, kar se spremeni, je število dopolnjenih kratkih imen.

Zakaj vsako ime še vedno doseže razreševalnik tunela

S praznim vnosom ujemanja je tunel kandidat za razreševalnik običajnih imen, ne le za domeno podjetja. V konfiguraciji polnega tunela to običajno malo pomeni, ker je ves promet tako ali tako v tunelu. V razdeljenem tunelu to zelo pomeni. Javna imena zdaj lahko razreši razreševalnik, ki ima le zasebno cono, in napaka je videti kot pokvarjen VPN, ko gre v resnici za razreševalnik, ki odgovarja le na del imenskega prostora. Tunel je v redu, poizvedbe odidejo in odgovori se vrnejo prazni.

Na voljo sta dve popravili in to sta različni odločitvi. Naredite razreševalnik tunela popoln razreševalnik, ki javna imena posreduje po odobreni poti, ali prenehajte pošiljati javna imena tja tako, da spremenite konfiguracijo odjemalca namesto seznama domen. Prvo obdrži vsako poizvedbo v tunelu in zaupa nadrejenemu. Drugo obdrži nekatere poizvedbe lokalno in sprejme, da se zasebna imena lahko prenehajo razreševati, dokler je tunel izklopljen.

Kaj bi razdeljeni DNS dejansko potreboval

Politika razreševalnika, omejena na imenski prostor, zahteva odjemalca, ki vam jo omogoča izraziti: ujemajte domene na platformah Apple ali enakovredno nastavitev v izdelku, ki ga uporabljate. Konfiguracijsko polje, ki sprejema le strežnike in pripone, tega ne more izraziti, ne glede na ločila. Profil lahko nosi politiko, ker opisuje upravljano konfiguracijo in ne namiga ob povezavi. Lahko poimenuje domeno, strežnike in kaj naj se zgodi, ko ta domena ni dosegljiva. To je razlika med nastavitvijo in pogodbo.

Na upravljanih napravah Apple se to običajno dostavi prek konfiguracijskega profila, ki nosi nastavitve DNS, specifične za domeno. To je drug mehanizem kot konfiguracijska datoteka WireGuard, in oba lahko obstajata skupaj le, če odjemalec spoštuje profil. Preverite, kako vaš odjemalec dejansko imenuje polje, preden domnevate, da se izdelka obnašata enako. Skript wg-quick na Macu in aplikacija WireGuard na iPhonu bereta podobne vrstice in ju nameščata skozi različne plasti.

Berite nameščene nastavitve, ne konfiguracije

Na Macu lahko preverite, kam je sistem prišel, kar je bolj poučno kot ponovno branje datoteke, ki ste jo napisali. Seznam razreševalnikov pokaže, kateri strežniki so nastavljeni za katere domene, omejene poizvedbe pa pokažejo, kateri je zmagal. Odjemalec, ki vrstico pokvari, to pokaže tukaj in ne v datoteki, ki ste jo napisali. V iOS ni enakovredne ukazne vrstice, zato je dokaz tam rezultat: zasebno ime, ki se razreši skozi tunel, in javno ime, katerega odgovor razkrije, kateri razreševalnik je odgovoril.

scutil --dns | grep -A3 resolver
networksetup -getdnsservers Wi-Fi

Ta dva ukaza izpišeta trenutno konfiguracijo razreševalnika in strežnike DNS aktivne storitve. Če se razreševalnik tunela pojavi kot privzeti razreševalnik brez omejitve domene, konfiguracija počne natanko to, kar je odjemalec zahteval. To popravite s spremembo mehanizma, ne z dodajanjem druge pripone in upanjem, da se bo vedenje spremenilo.

Sorodni članki