Rezolucija naziva DNS ne radi s aktivnom VPN vezom u sustavu Windows 10

U sustavu Windows 10 s aktivnom VPN vezom u načinu rada Prisiljavanje na tunele (omogućena je opcija "Koristi zadani gateway na udaljenoj mreži"), DNS poslužitelji i sufiksi konfigurirani za VPN veze koriste se za rješavanje imena putem DNS usluge. Prema tome, gubite mogućnost rješavanja DNS imena na svojoj lokalnoj mreži i koristite Internet putem internog LAN-a.

U isto vrijeme, sa sustavom Windows 10 možete se pozivati ​​na resurse na vašem LAN-u (ping na gateway, susjedno računalo ili pisač), ali po imenu oni nisu dostupni, jer Windows pokušava riješiti imena u lokalnoj mreži putem DNS poslužitelja navedenog za VPN vezu.

Na Googleu sam pronašao preporuke za onemogućavanje IPv6 na lokalnoj (LAN) vezi, a ovo funkcionira (ako želite koristiti Force-tunneling).

Ako se način rada koristi za VPN vezu Split tuneliranje (okvir "Koristi zadani pristupnik na udaljenoj mreži" nije uključen), Internet možete koristiti putem svoje lokalne mreže, ali ne možete riješiti DNS adrese u udaljenoj VPN mreži (u ovom slučaju onemogućavanje IPv6 ne pomaže).

Morate shvatiti da Windows šalje DNS upit s mrežnog sučelja koje ima najveći prioritet (niža vrijednost metričke vrijednosti sučelja). Recimo da vaša VPN veza radi u načinu podjele tunela (želite koristiti Internet putem LAN-a i korporativne resurse putem VPN veze).

Koristite PowerShell za provjeru mjernih podataka za sva mrežna sučelja:

Get-NetIPInterface | Interfacemetric sortiranja objekta

Slika iznad pokazuje da lokalna Ethernet veza ima niži podatak (25) od VPN sučelja (u ovom primjeru 100). U skladu s tim, DNS promet prolazi kroz sučelje s nižom metričkom vrijednošću. To znači da se vaši DNS upiti šalju na vaš lokalni DNS poslužitelj, a ne na VPN vezu DNS poslužitelja. tj u ovoj konfiguraciji ne možete razriješiti adrese u vanjskoj VPN mreži.

Uz to, potrebno je spomenuti i novu značajku DNS klijenta u sustavu Windows 8.1 i Windows 10. U ovim verzijama OS-a dodana je DNS razlučiva funkcionalnost pod nazivom Pametna višestruka rezolucija imena (SMHNR). Kada koristite SMHNR, sustav prema zadanim postavkama šalje DNS upite svim DNS poslužiteljima koji su poznati sustavu i koristi odgovor koji je stigao brže. To nije sigurno jer potencijalno vanjski DNS poslužitelji (koji su naznačeni u vašoj VPN vezi) mogu vidjeti vaše DNS upite (curenje vaših DNS upita vani). Možete onemogućiti SMHNR u sustavu Windows 10 pomoću grupnih pravila:

Konfiguracija računala -> Administrativni predlošci -> Mreža -> DNS klijent -> Isključite pametnu višenamjensku rezoluciju imena = Omogućeno.

Ili naredbama (za Windows 8.1):

Set-ItemProperty -Path "HKLM: \ Software \ Policies \ Microsoft \ Windows NT \ DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Services \ Dnscache \ Parameters" -Name DisableParallelAandAAAA -Value 1 -Type DWord

U sustavu Windows 10 Creators Update (1709) i noviji, DNS upiti šalju se na sve poznate DNS poslužitelje redom, a ne paralelno. Možete povećati prioritet određenog DNS-a ako smanjite njegovu mjernu vrijednost..

Sukladno tome, promjena metrike omogućit će vam slanje DNS upita putem mrežnog sučelja (LAN ili VPN), razlučivost imena koja vam je prioritetnija.

Dakle, što je manja vrijednost metričkog sučelja, to je veći prioritet takve veze. Windows automatski izlaže IPv4 metrike mrežnim sučeljima, ovisno o njihovoj brzini i vrsti. Na primjer, za LAN vezu brzine> 200 Mbps vrijednost metričke vrijednosti sučelja je 10, a za bežičnu Wi-FI vezu brzinom 50-80 Mbps metrika je 50 (vidi tablicu https://support.microsoft.com/en-us/help/ 299540 / objašnjenje-automatski-metrički-značajka-za-ipv4-rute).

Možete promijeniti metriku sučelja putem grafičkog sučelja, PowerShell-a ili naredbe netsh.

Na primjer, želite da se DNS upiti šalju preko VPN veze. Morate povećati metrike svojih lokalnih LAN veza kako bi postali više od 100 (u mom primjeru).

Otvorite Upravljačka ploča -> Mreža i Internet -> Mrežne veze, otvorite svojstva vaše Ethernet veze, odaberite svojstva TCP / IPv4 protokola, idite na odjeljak "Napredne TCP / IP postavke”. Poništite oznaku "Automatski zadatak metrički”I promijenite metriku sučelja u 120.

Isto se može učiniti i sa naredbama za upravljanje mrežom PowerShell (koristite indeks LAN sučelja dobiven pomoću cmdleta Get-NetIPInterface):

Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 120

Ili netsh (trebate navesti naziv svoje LAN veze)

sučelje netsh int ip skupa = metrika "Ethernet 3" = 120

Slično tome, možete smanjiti vrijednost metrike u svojstvima VPN veze..

Također možete promijeniti postavke vaše VPN veze promjenom načina na SplitTunneling i odrediti DNS sufiks za povezivanje pomoću PowerShell-a:

Get-VpnConnection
Set-VpnConnection -Name "VPN" -SplitTunneling $ True
Set-VpnConnection -Name "VPN" -DnsSuffix yourdomain.com