Debian: VPN 사용 시 DNS 서버 순서

Debian: VPN 사용 시 DNS 서버 순서

내 노트북은 DHCP를 통해 DNS 서버를 얻습니다.

VPN 세션(네트워크 관리자가 관리하는 pptp)을 시작하면 해당 VPN 세션에서 수신된 DNS 서버가 먼저 쿼리됩니다.

내 기본 DNS가 NXDOMAIN을 반환하는 경우에만 VPN의 DNS 서버를 사용하고 싶습니다.

어떻게 해야 하나요?

/etc/resolv.conf

# Generated by NetworkManager
domain homesweethome
search homesweethome
nameserver 192.168.1.1

VPN에 연결된 경우 Traceroute 8.8.8.8

 1  sheldon.homesweethome (192.168.1.1)  0.714 ms  0.880 ms  1.001 ms
 2  * * *
 3  172.30.12.49 (172.30.12.49)  13.693 ms  14.181 ms  14.316 ms
 4  84.116.191.49 (84.116.191.49)  15.067 ms  15.199 ms  15.336 ms
 5  * * *
 6  216.239.56.106 (216.239.56.106)  22.409 ms  14.401 ms  14.447 ms
 7  216.239.57.192 (216.239.57.192)  14.414 ms 216.239.57.188 (216.239.57.188)  22.950 ms 216.239.57.127 (216.239.57.127)  22.846 ms
 8  66.249.95.23 (66.249.95.23)  22.992 ms 66.249.95.39 (66.249.95.39)  23.832 ms 209.85.253.216 (209.85.253.216)  23.556 ms
 9  74.125.37.150 (74.125.37.150)  28.828 ms  28.571 ms  24.278 ms
10  209.85.246.160 (209.85.246.160)  21.975 ms 216.239.42.98 (216.239.42.98)  21.467 ms 216.239.51.207 (216.239.51.207)  23.297 ms
11  * * *
12  google-public-dns-a.google.com (8.8.8.8)  22.556 ms  23.421 ms  23.266 ms

연결되지 않은 경우 Traceroute 8.8.8.8

 1  sheldon.homesweethome (192.168.1.1)  0.651 ms  3.098 ms  4.927 ms
 2  * * *
 3  172.30.12.49 (172.30.12.49)  16.504 ms  16.791 ms  17.125 ms
 4  84.116.191.49 (84.116.191.49)  17.186 ms  23.111 ms  23.277 ms
 5  * * *
 6  216.239.56.22 (216.239.56.22)  25.766 ms 216.239.56.178 (216.239.56.178)  17.433 ms 216.239.56.22 (216.239.56.22)  18.432 ms
 7  216.239.57.182 (216.239.57.182)  17.526 ms  14.840 ms 216.239.57.190 (216.239.57.190)  15.748 ms
 8  209.85.253.216 (209.85.253.216)  17.661 ms 66.249.95.39 (66.249.95.39)  17.786 ms  18.213 ms
 9  74.125.37.154 (74.125.37.154)  29.039 ms 74.125.37.103 (74.125.37.103)  28.667 ms 74.125.37.97 (74.125.37.97)  25.168 ms
10  209.85.250.165 (209.85.250.165)  25.532 ms  24.350 ms 216.239.51.149 (216.239.51.149)  25.776 ms
11  * * *
12  google-public-dns-a.google.com (8.8.8.8)  22.513 ms  22.979 ms  22.484 ms

/etc/ppp/resolv.conf

nameserver 10.11.10.101
nameserver 10.11.10.102

답변1

분할 터널링을 활성화한 경우에만 활성 VPN 연결이 있는 동안 내부 리소스에 액세스할 수 있습니다.

분할 터널

분할 터널링은 모바일 사용자가 동일하거나 다른 네트워크 연결을 사용하여 공용 네트워크(예: 인터넷) 및 로컬 LAN 또는 WAN과 같은 서로 다른 보안 도메인에 동시에 액세스할 수 있도록 하는 컴퓨터 네트워크 개념입니다.

분할 터널링을 사용하는 DNS 주문 서버의 문제점은 VPN의 DNS가 맨 위에 있고 일반 DNS 서버가 맨 끝에 있다는 것입니다. DNS의 정상적인 내부 작동으로 인해 상위 DNS에 대한 요청이 실패하면 하위 DNS로 흘러내립니다.

디버깅 결과에 따르면 분할 터널링이 활성화된 것으로 나타났습니다. 빠른 수정을 위해 DNS를 /etc/ppp/resolv.conf.

보다 일반적인 접근 방식에 대해서는 이 페이지에서 dnsmasq 사용에 대해 설명합니다.

PPTP 연결 후 DNS 라우팅

해결책은 하위 도메인/도메인을 기반으로 다른 DNS 서버에 쿼리를 전달할 수 있는 로컬 DNS 서버를 실행하는 것입니다.

Ubuntu의 네트워크 관리자는 이미 로컬 DNS 서버(dnsmasq-base)를 실행하고 있지만 필수 옵션을 사용할 수 없으므로 이를 비활성화한 후 다음과 같이 전체 dnsmasq 패키지를 설치 및 구성합니다.

1) /etc/NetworkManager/NetworkManager.conf에서 dns=dnsmasq를 주석 처리합니다.
2) 네트워크 관리자를 다시 시작합니다. sudo service network-manager restart
3) dnsmasq 패키지를 설치합니다. sudo apt-get install dnsmasq
4) /etc/dnsmasq를 편집합니다. conf 및 추가: address=/.mywork/VPN_DNS_IP address=/#/INTERNET_DNS_IP
5) dnsmaq 다시 시작: sudo service dnsmasq restart

VPN 프로토콜 보안에 대한 링크도 여기에 남겨 두겠습니다.

PPTP 대 L2TP/IPSEC 대 OPENVPN

Microsoft의 PPTP 구현에는 심각한 보안 취약점이 있습니다. MSCHAP-v2는 Dictionary Attack에 취약하고, RC4 알고리즘은 Bit Flip Attack에 취약하다. Microsoft는 기밀성이 중요할 경우 IPSec으로 업그레이드할 것을 강력히 권장합니다.

관련 정보