我刚刚注册了一个 VPN 提供商的账户,试图确保所有流量(和 DNS 请求)都通过他们的服务器。我可以通过http://whatismyipaddress.com/请求确实是通过 VPN 进行的,但在 DNSleaktest.com 上我似乎仍在使用我的 ISP 的 DNS 服务器。
我使用的是 Slackware 14。我以为“隧道”VPN 会通过 VPN 服务器解析 DNS 请求,而不是通过本地设备发出的初始请求。我不确定如何判断我的连接是否是隧道连接(我使用的是 OpenVPN 2.2)。我可以通过更改 /etc/network/interface 让机器使用 Google 公共 DNS,但这似乎是倒退的。
我的问题相当高级,但是我需要做什么/检查什么来确保包括 DNS 请求在内的所有流量实际上都是通过 VPN 发生的?
答案1
必须将 VPN 接口设置为默认网关。如果不这样做,则只有当您访问 VPN 接口子网内的地址时,流量才会穿过它。隧道不会改变这一点。在 Windows 和 Linux(可能还有 OSX)中手动执行此操作需要使用命令route
(或ip route
在 Linux 上)
大多数 VPN 软件(包括 OpenVPN)都可以设置为自动处理此问题。Windows 的网络命令往往有些奇怪,因此如果可能的话,您希望让 VPN 软件在该平台上处理它。向您的 VPN 提供商索取配置文件或特定说明,以便您以所需的方式操作它。