Rozlíšenie názvu DNS nefunguje s aktívnym pripojením VPN v systéme Windows 10

V systéme Windows 10 s aktívnym pripojením VPN v režime Vynútiť tunelovanie (je povolená možnosť „Použiť predvolenú bránu vo vzdialenej sieti“), servery DNS a prípony nakonfigurované pre pripojenia VPN sa používajú na preklad názvov prostredníctvom služby DNS. V dôsledku toho stratíte možnosť prekladať názvy DNS vo vašej miestnej sieti a používať internet prostredníctvom vnútornej siete LAN.

V systéme Windows 10 môžete súčasne pingovať na zdroje v sieti LAN (ping na vašu bránu, susedný počítač alebo tlačiareň), ale podľa mena nie sú dostupné, pretože Systém Windows sa pokúša preložiť názvy v miestnej sieti prostredníctvom servera DNS určeného pre pripojenie VPN.

Na stránkach Google som našiel odporúčania na zakázanie protokolu IPv6 na lokálnom (LAN) pripojení a toto funguje (ak chcete použiť funkciu Vynútiť tunelov).

Ak sa režim používa na pripojenie VPN Rozdelené tunelovanie (políčko „Použiť predvolenú bránu vo vzdialenej sieti“ nie je začiarknuté), môžete používať internet prostredníctvom svojej lokálnej siete, ale vo vzdialenej sieti VPN nemôžete vyriešiť adresy DNS (v tomto prípade deaktivácia protokolu IPv6 nepomáha).

Musíte pochopiť, že Windows odošle dotaz DNS zo sieťového rozhrania, ktoré má najvyššiu prioritu (nižšia hodnota metriky rozhrania). Povedzme, že vaše pripojenie VPN funguje v režime rozdelenia tunelov (chcete používať internet prostredníctvom siete LAN a podnikové zdroje prostredníctvom pripojenia VPN).

Použite PowerShell na kontrolu metrík pre všetky sieťové rozhrania:

Get-NetIPInterface | Interfacemetrické usporiadanie objektov

Obrázok vyššie ukazuje, že lokálne pripojenie Ethernet má nižšiu metriku (25) ako rozhranie VPN (v tomto príklade 100). Preto prevádzka DNS prechádza cez rozhranie s nižšou metrickou hodnotou. To znamená, že vaše dotazy DNS sa odosielajú na váš lokálny server DNS a nie na pripojenie VPN servera DNS. tj v tejto konfigurácii nemôžete rozlíšiť adresy v externej sieti VPN.

Okrem toho je potrebné spomenúť novú funkciu klienta DNS vo Windows 8.1 a Windows 10. V týchto verziách operačného systému bola do názvu pridaná funkcia prekladača DNS. Inteligentné rozlíšenie názvu viacerých domén (SMHNR). Pri použití protokolu SMHNR systém predvolene odosiela otázky DNS na všetky servery DNS známe systému paralelne a používa odpoveď, ktorá prišla rýchlejšie. Nie je to bezpečné, pretože Potenciálne externé servery DNS (ktoré sú uvedené vo vašom pripojení VPN) môžu vidieť vaše dotazy DNS (únik vašich DNS dotazov vonku). SMHNR v systéme Windows 10 môžete zakázať pomocou skupinovej politiky:

Konfigurácia počítača -> Šablóny pre správu -> Sieť -> Klient DNS-> Vypnite inteligentné rozlíšenie názvov viacerých domén = Povolené.

Alebo príkazmi (pre Windows 8.1):

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

V aktualizácii Windows 10 Creators Update (1709) a vyššej sa dotazy DNS odosielajú na všetky známe servery DNS v poradí, a nie paralelne. Ak znížite jeho metriku, môžete zvýšiť prioritu konkrétneho servera DNS..

V súlade s tým zmena metriky vám umožní odosielať dotazy DNS prostredníctvom sieťového rozhrania (LAN alebo VPN), pričom rozlíšenie mena je pre vás prioritnejšie..

Čím je teda menšia hodnota metriky rozhrania, tým vyššia je priorita takéhoto pripojenia. Systém Windows vystavuje metriky IPv4 sieťovým rozhraniam automaticky v závislosti od ich rýchlosti a typu. Napríklad pre pripojenie LAN s rýchlosťou> 200 Mbps je hodnota metriky rozhrania 10 a pre bezdrôtové pripojenie Wi-FI s rýchlosťou 50–80 Mbps je metrika 50 (pozri tabuľku https://support.microsoft.com/en-us/help/ 299540 / vysvetlenie automatickej metrickej funkcie pre trasy ipv4).

Metriku rozhrania môžete zmeniť pomocou grafického rozhrania, PowerShell alebo príkazu netsh.

Napríklad chcete, aby sa dotazy DNS posielali prostredníctvom pripojenia VPN. Musíte zvýšiť metriku miestneho pripojenia k sieti LAN tak, aby sa stalo viac ako 100 (v mojom príklade).

otvorte Ovládací panel -> Sieť a internet -> Sieťové pripojenia, otvorte vlastnosti vášho ethernetového pripojenia, vyberte vlastnosti protokolu TCP / IPv4, prejdite na „Rozšírené nastavenia TCP / IP". Zrušte začiarknutie políčka „Automatické priradenie metriky“A zmeňte metriku rozhrania na 120.

To isté sa dá urobiť s príkazmi na správu siete PowerShell (použite index rozhrania LAN získaný pomocou cmdlet Get-NetIPInterface):

Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 120

Alebo netsh (musíte zadať názov vášho LAN pripojenia)

rozhranie rozhrania netsh int ip = metrika "Ethernet 3" = 120

Podobne môžete znížiť metrickú hodnotu vo vlastnostiach pripojenia VPN..

Môžete tiež zmeniť nastavenia svojho pripojenia VPN zmenou režimu na SplitTunneling a zadaním prípony DNS pre pripojenie pomocou PowerShell:

Get-VpnConnection
Set-VpnConnection - Názov „VPN“ -SplitTunneling $ True
Set-VpnConnection - názov „VPN“ -DnsSuffix yourdomain.com