내 노트북은 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 사용에 대해 설명합니다.
해결책은 하위 도메인/도메인을 기반으로 다른 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 프로토콜 보안에 대한 링크도 여기에 남겨 두겠습니다.
Microsoft의 PPTP 구현에는 심각한 보안 취약점이 있습니다. MSCHAP-v2는 Dictionary Attack에 취약하고, RC4 알고리즘은 Bit Flip Attack에 취약하다. Microsoft는 기밀성이 중요할 경우 IPSec으로 업그레이드할 것을 강력히 권장합니다.