Tunel se dvigne, intranet se naloži in ime tiskalnika se neha razreševati. Ali obratno: lokalna imena še delujejo, medtem ko vse v podjetniškem omrežju poteče. Oba simptoma prihajata z istega mesta, s seznama razreševalnikov, ki ga je odjemalec VPN ob povezavi prepisal.

Seznam popravite namerno, nato pa se lotite mehanizma push ločeno. Poti so tretja tema in ne tisto, kar se tu popravlja.

Kateri seznam aplikacije dejansko uporabljajo

Windows razrešuje prek nastavitev na ravni vmesnika in ne prek tega, kar prikazuje pogovorno okno, zato začnite z učinkovitimi seznami za vsak vmesnik. Vzdevek je pomembnejši od prikazanega imena, ker vsak ukaz spodaj naslavlja vmesnik. Zmotite se pri vzdevku in popravek pristane na napačnem vmesniku. Videti bo, da deluje, do naslednje ponovne povezave, ko se vrne lasten vnos tunela.

Vprašanje je, kateri strežniki so prišli naprej in ali so prišli kot statični vnosi ali kot najem DHCP. Obe dejstvi določata, katera poprava vam je na voljo.

netsh interface ipv4 show dnsservers
Get-DnsClientServerAddress -AddressFamily IPv4

Preberite izpis za vmesnik tunela in za fizični vmesnik ter zapišite vsak naslov na vsakem od njiju. Statični vnos je mogoče odstraniti s pravilnikom ali skriptom; vnos, ki ga priskrbi DHCP, je vezan na najem in se bo vrnil, kar spremeni popravo, ki jo morate izbrati. Imena v oddaljenem omrežju razrešuje oglaševani razreševalnik, imena v lokalnem omrežju LAN fizični vmesnik, poizvedba pa gre na seznam, ki se pregleda prvi.

Odstranite potisnjene strežnike ali jih razvrstite nižje

Izbrišite potisnjene strežnike, ko jih nič v tunelu ne potrebuje, ker lastni razreševalniki fizičnega vmesnika spet prevzamejo. Obdržite jih le, če ima oddaljeno omrežje območja, na katera lahko odgovorijo samo njegovi strežniki, in v tem primeru prednje postavite lokalni razreševalnik. Ukaza spodaj pokrivata obe možnosti, zato izberite tistega, ki ustreza položaju, namesto da zaženete oba.

netsh interface ipv4 delete dnsservers name="Corp VPN" address=all validate=no
netsh interface ipv4 add dnsservers name="Corp VPN" address=172.16.20.1 index=1 validate=no

Indeks 1 se pregleda prvi, zato potisnjeni naslovi ostanejo na voljo, a prenehajo biti privzeti odgovor na vsako poizvedbo. Zastavica validate=no preskoči preizkus dosegljivosti, ki pogosto spodleti, medtem ko se tunel še useda, zato izid potrdite z ukazom show, namesto da zaupate izhodni kodi.

Preden se na to zanesete, velja poznati dve omejitvi. Windows ne bo izbrisal strežnikov, ki so prišli po DHCP prek netsh, in te vrednosti ostanejo kot DhcpNameServer pod ključem registra vmesnika, zato je urejanje registra zadnja rešitev, ki jo je treba po naslednjem najemu znova preveriti. Tudi vrstni red vezave vmesnikov ni zanesljiv mehanizem razvrščanja, ker lahko odjemalec VPN svoj vnos vstavi na vrh seznama.

Kje je mogoče filtrirati push

Boljša poprava odstrani možnost, preden se uporabi. Odjemalec Community OpenVPN lahko filtrira potisnjeno direktivo po imenu, kar pusti konfiguracijo strežnika nedotaknjeno.

pull-filter ignore "dhcp-option DNS "

Končni presledek pripada ujemanju in filter poimenuje možnost, ne naslova strežnika. Če profil vsebuje tudi direktivo block-outside-dns, njena odstranitev spremeni zaščito pred uhajanjem in ne razreševanja imen, zato o tem odločite ločeno, namesto da bi združili oba popravka.

Za eno trmasto ime gostitelja je ena vrstica v datoteki hosts Windows bolj stabilna kot prerazporejanje razreševalnikov za celoten stroj. Prav tako je nevidna naslednji osebi, zato jo zapišite tam, kjer je dokumentirana konfiguracija stroja.

Poskrbite, da bo poprava preživela ponovno povezavo

Razreševanje imen je treba preizkusiti dvakrat, enkrat proti izbranemu strežniku in enkrat v obliki, ki jo uporablja aplikacija. Ta par loči težavo vrstnega reda razreševalnikov od strežnika, ki sploh ne odgovori. Če prvi preizkus izpustite, ostaneta oba vzroka prepletena.

Resolve-DnsName intranet.corp.example -Server 172.16.20.1
Resolve-DnsName printer.lan

Ponovno povežite tunel in ponovite oba ukaza. Kar ste spremenili ročno, velja le do naslednje povezave, ker odjemalec ob dvigovanju vmesnika znova zgradi stanje razreševalnikov. Vstavite vrstice netsh v podprto skripto za povezavo svojega odjemalca, pustite skripti, da se uspešno konča, in pred izvajanjem dodajte kratko čakanje. Odjemalec, ki uporabi DNS po skripti, bo izid vseeno prepisal.

Če se javna imena razrešujejo, notranja pa po popravi še vedno ne uspejo, seznam razreševalnikov ni več osumljenec. Poizvedba verjetno sploh ne doseže strežnika, kar kaže na usmerjanje ali pravilo požarnega zidu in ne na drugo nastavitev DNS. Zapišite vzdevek vmesnika in naslove, na katerih ste se ustavili, ker se oboje med stroji razlikuje in nobeno samo ne preživi ponovne gradnje.

Sorodni članki