A DNS-névfeloldás nem működik aktív VPN-kapcsolattal a Windows 10 rendszerben

Windows 10 esetén aktív VPN-kapcsolattal módban Erő alagút (az „Alapértelmezett átjáró használata a távoli hálózaton” engedélyezve van), a DNS-kiszolgálók és a VPN-kapcsolathoz konfigurált utótagok használják a nevek DNS-szolgáltatáson keresztüli feloldására. Ennek megfelelően elveszíti a képességét, hogy megoldja a DNS-neveket a helyi hálózaton, és belső interneten keresztül használja az internetet.

Ugyanakkor, a Windows 10 esetén, pingolhat a LAN-forrásokra (átjárót, szomszédos számítógépet vagy nyomtatót is pingolhat), de név szerint nem érhetők el, mert A Windows megpróbálja megoldani a neveket a helyi hálózaton a VPN-kapcsolathoz megadott DNS-kiszolgálón keresztül.

A Google-ban ajánlásokat találtam az IPv6 letiltására egy helyi (LAN) kapcsolaton, és ez működik (ha Force-Tunneling funkciót akar használni).

Ha az üzemmódot használja VPN-kapcsolathoz Osztott alagút (a „Alapértelmezett átjáró használata a távoli hálózaton” négyzet nincs bejelölve), az internetet a helyi hálózaton keresztül is használhatja, de a távoli VPN hálózatban nem tudja megoldani a DNS-címeket (ebben az esetben az IPv6 letiltása nem segít).

Meg kell értenie, hogy a Windows DNS-lekérdezést küld a hálózati interfészről, amely a legmagasabb prioritással rendelkezik (az interfész metrika alacsonyabb értéke). Tegyük fel, hogy a VPN-kapcsolat osztott alagút üzemmódban működik (az internetet LAN-on keresztül, a vállalati erőforrásokat VPN-kapcsolaton keresztül szeretné használni).

A PowerShell használatával ellenőrizze az összes hálózati interfész metrikáját:

Get-NetIPInterface | Sort-Object Interfacemetric

A fenti kép azt mutatja, hogy a helyi Ethernet kapcsolat mértéke alacsonyabb (25), mint a VPN interfésznél (ebben a példában 100). Ennek megfelelően a DNS-forgalom alacsonyabb metrikus értékkel rendelkező felületen megy keresztül. Ez azt jelenti, hogy a DNS-lekérdezéseit a helyi DNS-kiszolgálóra kell elküldeni, nem pedig a DNS-kiszolgáló VPN-kapcsolatára. Ie ebben a konfigurációban nem tudja megoldani a címeket egy külső VPN-hálózatban.

Ezenkívül meg kell említeni a DNS-ügyfél új funkcióját a Windows 8.1 és a Windows 10 rendszerben. Ezekben az operációs rendszer verziókban egy DNS-feloldó funkciót adtak hozzá a név alatt. Intelligens többcsaládos névfelbontás (SMHNR). Az SMHNR használatakor a rendszer alapértelmezés szerint a DNS-lekérdezéseket küld minden, a rendszer által ismert DNS-kiszolgálóra párhuzamosan, és a gyorsabban kapott választ használja. Ez nem biztonságos, mert a potenciálisan külső DNS-kiszolgálók (amelyek a VPN-kapcsolatban vannak feltüntetve) láthatják a DNS-lekérdezéseit (a DNS-lekérdezések kiszivároghatnak kívülről). A csoportházirend használatával letilthatja az SMHNR alkalmazást a Windows 10 rendszeren:

Számítógép konfigurálása -> Felügyeleti sablonok -> Hálózat -> DNS kliens-> Kapcsolja ki az intelligens több háztartású névfelbontást = Engedélyezve.

Vagy parancsokkal (Windows 8.1 esetén):

Set-ItemProperty - "HKLM: \ Software \ Policies \ Microsoft \ Windows NT \ DNSClient" elérési út: -Név DisableSmartNameResolution -Érték 1 - Típus DWord
Set-ItemProperty -Path "HKLM: \ SYSTEM \ CurrentControlSet \ Services \ Dnscache \ Parameters" -Név DisableParallelAandAAAA -Érték 1 - Típus DWord

A Windows 10 Creators Update (1709) vagy újabb verziójában a DNS-lekérdezéseket minden ismert DNS-kiszolgálóra sorrendben, és nem párhuzamosan küldik el. Növelheti egy adott DNS prioritását, ha csökkenti annak metrikáját..

Ennek megfelelően a metrika megváltoztatása lehetővé teszi, hogy DNS-lekérdezéseket küldjön azon a hálózati interfészen (LAN vagy VPN) keresztül, amelynek a névfelbontás az Ön számára prioritás..

Tehát minél kisebb a felület metrikája, annál nagyobb prioritást élvez egy ilyen kapcsolat. A Windows az IPv4 mutatókat automatikusan kiteszi a hálózati interfészekhez, azok sebességétől és típusától függően. Például> 200 Mbps sebességű LAN-kapcsolat esetén az interfész metrika értéke 10, vezeték nélküli Wi-Fi-kapcsolat esetén pedig 50–80 Mbps sebesség esetén a metrika 50 (lásd a https://support.microsoft.com/en-us/help/ táblázatot). 299540 / magyarázat-az-automatikus-metrikus-jellemző-for-IPv4-útvonalak).

A felület metrikáját megváltoztathatja a grafikus felületen, a PowerShell vagy a netsh paranccsal.

Például azt szeretné, hogy a DNS-lekérdezéseket VPN-kapcsolaton keresztül küldjék el. Fokoznia kell a helyi LAN kapcsolatok mutatóit úgy, hogy azok több mint 100 legyen (a példámban).

Nyissa meg a Vezérlőpult -> Hálózat és Internet -> Hálózati kapcsolatok, nyissa meg az Ethernet kapcsolat tulajdonságait, válassza ki a TCP / IPv4 protokoll tulajdonságait, lépjen a „Speciális TCP / IP beállítások”. Törölje a „Automatikus metrikus hozzárendelésÉs változtassa meg a felület metrikáját 120.

Ugyanezt lehet tenni a PowerShell hálózatkezelési parancsokkal is (használja a parancsmag segítségével kapott LAN-interfész indexét) Get-NetIPInterface):

Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 120

Vagy netsh (meg kell adnia a LAN-kapcsolat nevét)

netsh int ip set interface interface = "Ethernet 3" metrika = 120

Hasonlóképpen csökkentheti a metrikus értéket a VPN-kapcsolat tulajdonságainál..

A VPN-kapcsolat beállításait úgy is megváltoztathatja, hogy az üzemmódot SplitTunneling-re változtatja, és megadhatja a DNS-utótagot a PowerShell használatával történő csatlakozáshoz:

Get-VpnConnection
Set-VpnConnection -Név "VPN" -SplitTunneling $ True
Set-VpnConnection -Név "VPN" -DnsSuffix yourdomain.com