我的笔记本电脑通过 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 时跟踪路由 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 容易受到字典攻击,RC4 算法容易受到位翻转攻击。 Microsoft 强烈建议在考虑机密性时升级到 IPSec。