VPN 연결을 통한 Windows 10 DNS 확인이 작동하지 않습니다


49

Windows 10에서 분할 터널링이 활성화 된 (게이트웨이 비활성화 됨) VPN에 연결된 경우 DNS 확인은 항상 LAN DNS 서버를 사용하며 VPN 연결에 설정된 DNS 서버와 DNS 접미사는 무시합니다.

예상되는 동작은 VPN의 DNS 서버를 사용하는 것입니다. 그렇지 않으면 원격 네트워크 (예 : 도메인 컴퓨터)에서 DNS 항목을 확인할 수 없습니다.

이전 버전의 Windows에서 제대로 작동했습니다.

이것은 이 마이크로 소프트 답변 스레드 에서 널리 논의되었습니다 .


귀하의 문제가 무엇인지 확실하지 않습니다 (VPN에 의해 ​​지정된 DNS 서버를 사용 하시겠습니까?), 편집하십시오.
Máté Juhász

제안한대로 편집했습니다.
ECC-Dan

tbh : 서버에 문제가 있습니다. 첫 번째 DNS 요청은 항상 로컬 서버에 도달해야합니다. 호스트를 확인할 수없는 경우에만 시스템에서 Remote-DNS를 쿼리해야합니다. 문제는 로컬 및 원격 네트워크가 동일한 서브넷에서 실행 중이므로 로컬 쿼리가 "쿼리를 해결할 수있다"고 주장하지만 "호스트를 찾을 수 없음"을 제공합니까? (서브넷 abcd를 서버로 구성한 서버가 호스트를 분석 할 수없는 경우,이 서브 네트에 대한 추가 DNS 서버는 쿼리되지 않습니다. 기본 서버가 오프라인 상태가 아닌 한, 동기화되어 있어야하므로 호스트를 알 수
없다고

답변:


54

LAN 연결의 메트릭을 Windows가 내 VPN에 할당 한 것 (11)보다 높게 (15) 높게 수동으로 설정하여이 문제를 영구적으로 해결했습니다.

이것은 두 가지 방법으로 수행 할 수 있습니다.

  • GUI를 통해 : 네트워크 연결, 특성, TCP / IP v4 특성, 고급, 메트릭을 15로 설정하십시오.
  • 명령 줄 : netsh int ip set interface interface="LAN CONNECTION NAME" metric=15

효과는 즉시 (적어도 명령 줄을 사용하는 경우 ) 즉시 DNS 조회가 예상대로 VPN을 통과합니다.

이는 분할 터널링에서 작동하며 재 연결 및 재부팅시 영구적으로 수정됩니다.

LAN 연결 대신 VPN의 메트릭을 변경할 수도 있지만 연결이 설정되면 Windows가 메트릭을 재설정하므로 영구적이지 않습니다.

환경에 따라 LAN 및 VPN 연결에 대해 다른 기본 메트릭이있을 수 있습니다. VPN이 LAN 연결보다 낮은 메트릭을 갖도록 적절하게 조정하십시오.

또한 VPN의 TCP / IP 속성 이 Windows 10에서도 손상되어 편집 할 수없는 경우 Powershell을 통해 대부분의 속성을 설정할 수 있습니다 .

1. Get-VpnConnection
2. Set-VpnConnection -Name "myVPN" -SplitTunneling $True
3. Set-VpnConnection -Name "myVPN" -DnsSuffix yourdomain.local

2
나를 위해 이것은 작동하지 않습니다 ... 나는 Windows 10이있는 두 대의 컴퓨터를 가지고 있는데, 하나는 잘 작동하고 다른 하나는 VPN에 문제가 있습니다. SplitTunneling을 활성화하는 기본 게이트웨이를 해결할 수 있지만 메트릭을 변경할 때 VPN의 DNS가 여전히 인식하지 못합니다.
ceinmart

3
이로 인해 IPv6 비활성화와 같은 중요한 추가 단계를 통해 문제가 해결되었습니다. 우리의 VPN은 IPv6을 사용하지 않고 나의 이해는 어떤 의 IPv4 사람을 통해 전례를 취할 것입니다 해결의 IPv6. 어댑터에서 IPv6을 비활성화 한 후 메트릭 분할 터널 DNS가 다시 작동하도록 조정했습니다. VPN이 IPv6을 지원하는 경우에는 이것이 필요하지 않을 수 있으며 메트릭 조정 자체가 DNS를 수정하여 어댑터에서 IPv6을 사용하도록 설정 한 경우.
Adam Strohl

재미있는 사실 : 나에게 문제는 "반대"였습니다-VPN에 연결했을 때 Windows가 로컬 FQDN을 확인할 수 없습니다 ... "VPN-Connection"에 대한 기본 메트릭을 1로 설정했습니다. 더 낮은 숫자로 연결하면 문제가 해결되었습니다. (내 로컬 서버가 올바르게 구성되어 있으므로 "두 번째 기본 설정"의 연결에서 확인할 수없는 이름이 쿼리됩니다. 이제 VPN을 설정하는 동안 로컬 및 원격 DNS가 예상대로 작동합니다.)
dognose

한 ISP를 통해 연결할 때 다른 ISP (동축 케이블 모두 연결됨)를 통해 연결할 때이 수정이 필요한 이유는 무엇입니까?
Gaia

어쨌든 처음에는 반대로 문제가 발생했습니다. 내 로컬 Win10 랩톱은 VPN의 DNS 만 (대부분) 자동으로 사용하며 해당 내부 VPN의 DNS는 DNS 서비스를 제공하도록 (아직) 구성되어 있지 않기 때문에 VPN 사용 기간 동안 인터넷 웹 사이트를 탐색하지 마십시오. 따라서이 솔루션을 역으로 사용합니다. 즉, 로컬 LAN 연결을 가능한 한 작은 숫자로 설정 1하면 현재 문제가 해결됩니다. 그러나 VPN 연결 속성 팝업 창에 "고급"버튼이 없기 때문에 VPN 연결의 메트릭 값을 알 수 없습니다.
RayLuo

11

내가 가진 모든 실제 Win10 컴퓨터 에서이 문제를 본 후에 테스트 할 VM에 Windows 10을 새로 설치하여 테스트했습니다. 이 스레드의 모든 답변을 테스트했지만 아무도 작동하지 않았습니다. 해결책은 여기에 "Keenans"와 "ECC-Dan"이 게시 한 답변을 결합하는 것입니다.

http://answers.microsoft.com/en-us/windows/forum/windows_10-networking/win-10-dns-resolution-of-remote-network-via-vpn/513bdeea-0d18-462e-9ec3-a41129eec736? page = 1

제어판> 네트워크 및 공유 센터> 어댑터 설정 변경> 이더넷 또는 Wifi 어댑터를 마우스 오른쪽 버튼으로 클릭> 속성> IPv4> 고급> 자동 메트릭 선택 취소> 인터페이스 메트릭으로 15 입력> 확인> 확인을 두 번 클릭하십시오.

동일한 특성 페이지에서 IPv6> 고급> 자동 메트릭 선택 취소> 인터페이스 메트릭으로 15 입력> 확인> 확인을 두 번 클릭하십시오.

두 설정을 모두 변경 한 후에 만 ​​문제가 해결됩니다. 한 쪽을 바꾸는 것을 테스트했는데 다시 고장납니다. 둘 다 변경 한 후 명령 줄에서 nslookup을 실행하고 VPN이 연결된 원격 네트워크에서 DNS 서버를 반환했습니다. 그렇지 않으면 로컬 DNS 서버를 반환합니다. 그런 다음 이더넷 인터페이스에서 Wireshark 캡처를 사용하고 임의의 웹 사이트에 핑을 수행하고 캡처 된 DNS 패킷이 없는지 확인했습니다. 이는 변경 후 DNS 쿼리가 VPN 연결을 통해서만 전송되고 모든 연결 (Win10 DNS 누출이라고 함)을 통해 동시에 전송되지 않음을 증명합니다. 따라서 이것은 Win10 DNS 유출에 대한 솔루션의 일부이기도합니다.

https://medium.com/@ValdikSS/beware-of-windows-10-dns-resolver-and-dns-leaks-5bc5bfb4e3f1#.7ppsn1nda

DNS 유출 문제를 해결하려면 먼저 위의 단계를 수행해야합니다. 그런 다음 두 개의 레지스트리 값을 설정해야합니다. 링크 된 기사에는 그 자체만으로는 최신 Win10 빌드 문제를 해결하지 않는 기사 만 나열되어 있습니다. 다음 레지스트리 값을 설정하십시오.

Key: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient
Value:  DisableSmartNameResolution
Data:  1

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
Value: DisableParallelAandAAAA
Data:  1

이 모든 작업을 수행 한 후에 만 ​​DNS 클라이언트 동작이 Win7과 같은 방식으로 돌아갑니다. 이것이 Microsoft의 QA를 어떻게 통과했는지 궁금해야합니다.


1

IPv4와 IPv6 모두에서 메트릭을 변경하고 클라이언트가 UTP 케이블로 연결되어 있고 로컬 LAN에서 IPv6 프로토콜이 지원되는 경우 현재 Windows 10 Edu와 함께 레지스트리 DisableSmartNameResolution 및 DisableParallelAandAAAA (2018 년 12 월 기준)를 사용했습니다. 클라이언트는 퍼블릭 / 글로벌 IPv6 주소를가집니다).

VPN에 사용되는 UTP / LAN 인터페이스에서 IPv6 프로토콜을 비활성화하면 클라이언트에서 글로벌 IPv6 주소를 제거 / 사용하지 않을 수 있습니다.

클라이언트가 Wi-Fi로 인터넷에 연결되어 있고 IPv6을 사용할 수있는 경우 (클라이언트는 글로벌 IPv6 주소를 가지고 있고 UTP / LAN 연결이없는 경우) 문제없이 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.