Napišete jednu liniju s adresom resolvera i domenom kompanije, očekujući da samo imena u toj domeni koriste resolver tunela. Na Apple klijentu sada sva imena idu tamo, a kratka imena u domeni se također razrješavaju. Linija radi dvije odvojene stvari, a samo jedna od njih tiče se toga koje upite tunel obrađuje. Druga je pogodnost za tipkanje koja je željnim čitanjem promaknuta u politiku.

U šta se DNS linija raščlanjuje

Klijent čita unos kao listu i klasificira svaku stavku prema obliku. Sve što liči na adresu postaje DNS server; sve što liči na domenu postaje sufiks za pretragu. Oboje završi u postavkama tunela, ali u različitim poljima. Ilustrativna linija za tunel koji nosi privatni resolver i jednu internu domenu izgleda ovako.

DNS = 10.24.8.53, lab.internal.example

Adresa daje resolver. Domena daje sufiks koji klijentu omogućava da otkuca kratko ime, a sistem dopiše ostatak prije nego što pita. Nijedna stavka ne govori ništa o ograničavanju resolvera na tu domenu, a to je dio koji ljudi očekuju i ne dobiju. Samo jedno polje na platformi može izraziti to ograničenje, a to nije ovo polje.

Dva Apple polja, dva različita posla

Apple izlaže tu razliku u svom objektu DNS postavki. Lista domena pretrage dokumentirana je kao lista koja se koristi za kvalificiranje hostnameova s jednom oznakom: otkucajte goli hostname i sistem može redom dodati svaki sufiks. To je pravilo dovršavanja, a ne pravilo usmjeravanja. Ništa na toj listi ne odlučuje koji se server pita.

Lista domena podudaranja je drugačije svojstvo. Ona odlučuje koji imenski prostori koriste ovaj skup DNS postavki, a prazan unos znači zadanu domenu, a ne jedan određeni sufiks. generator postavki paketnog tunela na Apple klijentu slijedi taj model. Raščlanjene sufikse pretrage stavlja na listu pretrage, a kada su serveri prisutni, postavlja listu podudaranja na prazan niz. Rezultat je resolver tunela koji odgovara na sve što mu sistem pošalje, plus sufiks koji pomaže s kratkim imenima.

Dakle, domena na toj liniji nije birač imenskog prostora. Dodavanje još jedne ne sužava upite koje tunel koristi, a uklanjanje je također ne širi. Jedino što se mijenja jeste koliko se kratkih imena dovrši.

Zašto svako ime ipak stiže do resolvera tunela

S praznim unosom podudaranja tunel je kandidat-resolver za obična imena, a ne samo za domenu kompanije. Na konfiguraciji punog tunela to obično malo znači, jer je sav promet ionako u tunelu. Na podijeljenom tunelu to mnogo znači. Javna imena sada može razriješiti resolver koji drži samo privatnu zonu, a neuspjeh izgleda kao pokvaren VPN kad je zapravo resolver koji odgovara samo na dio imenskog prostora. Tunel je u redu, upiti izlaze, a odgovori se vraćaju prazni.

Dostupna su dva popravka i to su različite odluke. Učinite resolver tunela potpunim resolverom koji prosljeđuje javna imena odobrenim putem, ili prestanite slati javna imena tamo mijenjajući konfiguraciju klijenta, a ne listu domena. Prvi zadržava svaki upit na tunelu i vjeruje nadređenom. Drugi zadržava neke upite lokalno i prihvaća da privatna imena mogu prestati da se razrješavaju dok je tunel isključen.

Šta bi podijeljeni DNS zapravo tražio

Politika resolvera ograničena na imenski prostor zahtijeva klijenta koji vam omogućava da je izrazite: podudaranje domena na Apple platformama ili ekvivalentna postavka u proizvodu koji koristite. Konfiguracijsko polje koje prihvata samo servere i sufikse ne može je izraziti, bez obzira na to kako je punktuirano. Profil može nositi politiku jer opisuje upravljanu konfiguraciju, a ne nagovještaj u vrijeme povezivanja. Može navesti domenu, servere i šta treba da se dogodi kada ta domena nije dostupna. To je razlika između postavke i ugovora.

Na upravljanim Apple uređajima to se obično isporučuje kroz konfiguracijski profil koji nosi DNS postavke specifične za domenu. To je drugačiji mehanizam od WireGuard konfiguracijske datoteke, a njih dvoje mogu postojati zajedno samo ako klijent poštuje profil. Provjerite kako vaš klijent zapravo naziva polje prije nego pretpostavite da se dva proizvoda ponašaju isto. Skripta wg-quick na Macu i WireGuard aplikacija na iPhoneu čitaju slične linije i instaliraju ih kroz različite slojeve.

Čitajte instalirane postavke, a ne konfiguraciju

Na Macu možete provjeriti do čega je sistem došao, što daje više informacija od ponovnog čitanja datoteke koju ste napisali. Lista resolvera pokazuje koji su serveri konfigurisani za koje domene, a ograničeni upiti pokazuju koji je pobijedio. Klijent koji iskvari liniju to pokazuje ovdje, a ne u datoteci koju ste napisali. Na iOS-u nema ekvivalentne komandne linije, pa je dokaz tamo ishod: privatno ime koje se razrješava kroz tunel i javno ime čiji odgovor otkriva koji je resolver odgovorio.

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

Ove dvije komande ispisuju trenutnu konfiguraciju resolvera i DNS servere za aktivnu uslugu. Ako se resolver tunela pojavljuje kao zadani resolver bez ograničenja domene, konfiguracija radi tačno ono što je klijent tražio. Popravite to promjenom mehanizma, a ne dodavanjem drugog sufiksa i nadom da će se ponašanje promijeniti.

Povezani članci