VPN은 다른 인터페이스에 대한 DNS 쿼리를 어떻게 차단합니까?

VPN은 다른 인터페이스에 대한 DNS 쿼리를 어떻게 차단합니까?

VPN 유무에 관계없이 DNS 라우팅이 어떻게 작동하는지 이해하려고 노력하고 있습니다. 다음 인터페이스가 있습니다.

Wireless LAN adapter Wi-Fi:
   DNS Servers . . . . . . . . . . . : 192.168.40.1

이에 대한 nslookup은 다음과 같이 작동합니다.

nslookup google.com 192.168.40.1
Address:  192.168.40.1
Non-authoritative answer:
Name:    google.com

VPN을 실행 중인 경우 다른 인터페이스가 제공되고 DNS 쿼리는 기본적으로 이 인터페이스로 라우팅됩니다.

Unknown adapter Mullvad:
   DNS Servers . . . . . . . . . . . : 10.8.0.1

그러나 이제 다른 인터페이스에서 DNS에 쿼리를 시도하면 통과되지 않습니다.

nslookup google.com 192.168.40.1
DNS request timed out.

하지만 내 로컬 서버에 문제 없이 요청을 보낼 수 있습니다.

curl 192.168.40.22:8080
OK

어떻게 작동하나요? IP 트래픽은 통과하지만 DNS가 차단됩니까? VPN은 일반적으로 게이트웨이로 트래픽을 전달하기 위해 라우팅 테이블 규칙을 설정한다는 것을 알고 있습니다. 그런데 그게 ip 맞나요? DNS는 영향을 받아서는 안 됩니다. 이것의 기본 메커니즘은 무엇입니까? 다른 인터페이스에서 DNS 쿼리를 강제할 수 있는 방법이 있습니까?

이것은 Windows에 있지만 내 생각에는 Linux에서도 비슷하게 작동할 것 같습니다.

답변1

간단한 답변:

구성 방법에 따라 VPN 클라이언트는 모든 트래픽을 가상 인터페이스를 통해 강제로 적용합니다.즉, 로컬 LAN의 트래픽을 차단합니다. 로컬 트래픽이 없으므로 클라이언트는 터널이 활성화될 때 다른 이름 서버를 사용할 수 있습니다.

답변2

나는 그리워IP구성어쨌든 두 시나리오 모두에서 VPN이 없으면 로컬 DCHPd에서 IP 및 기본 이름 서버를 얻었으므로 컴퓨터가 로컬 이름 서버에 대한 DSN 확인을 요청할 수 있습니다.

VPN에 연결한 후 VPN 서버에서 다른 IP를 얻었고 기본 경로를 VPN 인터페이스로 설정했다는 소리가 들립니다. 이는 모든 트래픽이 VPN을 통과하므로 로컬 이름 서버에 도달할 수 없음을 의미합니다.

이 문제를 해결하려면 두 네트워크 모두에서 접근할 수 있는 글로벌 DNS 서버(예: 8.8.8.8 또는 1.1.1.1)를 사용할 수 있습니다.

관련 정보