它们会由我的 VPN 提供商解决,还是由我的原始 ISP 解决(如果保留“自动”设置)?我是否必须手动配置 dns 服务器,以确保我的 ISP 不会解析我的请求(构成隐私风险)?
如果我使用 VPN,谁来解析我的 DNS 请求?
根据 VPN 的配置方式,您可能会也可能不会对 VPN 和 Internet 使用相同的 DNS。VPN(通常)就像您系统上的附加 IP 堆栈,并且可以配置单独的 DNS 服务器地址。但并非所有系统都这样做。
- 如果您的 VPN 没有为 VPN 会话分配新的 DNS,那么您将继续使用在主 Internet IP 堆栈中配置的 DNS 服务器。如果外部 DNS 无法解析内部地址(或者如您所指出的,如果您不希望外部地址知道内部地址),这可能会出现问题。
- 如果您的 VPN确实分配了新的 DNS - 例如通过使用DHCP 选项 6“DNS 服务器” - 那么您可以为 VPN 和 Internet 使用不同的 DNS 服务器。您的操作系统必须支持这一点,VPN 服务也必须支持。如果您同时将流量发送到两个堆栈,这将是“拆分模式”。
- 最后一个选择是您可以在隧道模式下运行您的 VPN,通过 VPN 堆栈发送所有通信(包括 Internet)。在这种情况下,当您在 VPN 上时,所有 DNS 都将使用 VPN 的 DNS。这可能是最安全的方式,因为所有内部流量都肯定会留在 VPN 中。
请求将被传递到配置的 IP。因此,如果您的 DNS 仍然是您的 ISP 的 DNS,那么是的,您仍然会要求您的 ISP 为您解析域名。
啊,我知道这已经得到了很多答案,但我想在这里对答案进行更多的澄清,因为最后,真正的答案完全取决于服务器和客户端的配置方式。它归结为两件事:一是 VPN 隧道不需要重定向所有流量,二是 VPN 服务器不需要分配 dns 服务器。
**在我深入细节之前,我只想说这个.. 在 Windows 上,您可以通过打开一个 cli 并输入“nslookup localhost”并查看您的 DNS 是否由您的 VPN 分发最佳。同样,如果您使用的是 ubuntu,则可以使用“nmcli dev list iface eth0 | grep IP4”** *。如果您在连接到 vpn 之前和之后执行此操作,并且列出的 dns 服务器没有更改,那么您的 DNS 没有被您的 VPN 分配。*如果您使用的是 linux,即使 VPN 服务器已为其配置,大多数 VPN 实现也不会分配 dns 服务器。
您可能会或可能不会通过 vpn 分配 dns 服务器,具体取决于 a) 您正在使用的 vpn 实现 b) 您正在使用的操作系统或 c) 服务器和客户端 vpn 设置是否允许这样做。另一个常见错误是在没有管理员或 root 权限的情况下运行您的 vpn 客户端。(这通常只改变几个选项,使 vpn 看起来可以正常工作。)
您可以付费购买的大多数 VPN服务都将配置为通过 VPN 隧道重定向您的所有 IP 流量。(在 openvpn 中,服务器选项是“redirect-gateway”。)这将包括 DNS 流量,虽然将所有流量重定向到不分配 dns 服务器的 vpn 连接不太常见,但它并没有超出这个问题。如果 VPN 服务器未分配 DNS 服务器,但您的网关被重定向,则 dns 流量将简单地通过隧道,然后到达目的地。(查找速度很慢但有效。)
在企业环境中流行的流行且通常优雅的 vpn 实现是让 vpn 服务器分配 DNS 服务器,但不重定向您的默认网关。这将连接到具有内部 dns 记录的事物,例如可访问的应用程序服务器,因为它们具有私有 IP 地址,而可公开访问的事物(例如网站)由于具有可公开路由的 IP 地址而像往常一样通过互联网。(这是 ip 如何路由的功能,而不是 VPN。)
由于 VPN 的高度可配置性,vpn 的种类和风格本质上是无限的,但只要知道大多数 vpn 隧道都倾向于围绕这两种风格。
(哦,也许查看这篇文章了解更多信息。) OpenVPN 路由和桥接
我一直在寻找答案并进行了测试。我更改了以下设置并使用wireshark 观察了我的适配器。
在 Windows 中,您可以为 LAN 适配器设置优先级。如果您的 vpn 适配器从具有自己的 dns-server 条目的 dhcp 接收到自己的 ip-settings,并且您的主要物理 lan 适配器也配置了 dns-entry,则 Windows 将使用来自具有最高优先级的适配器的 dns 服务器。在 Windows 中,您可以在选项菜单中设置此优先级,从中可以配置不同的 LAN 适配器(IP 地址等)。按 Alt(查看扩展菜单栏)并导航到“高级”->“高级设置”。在列表中,优先级由适配器的自上而下的顺序确定,可以通过箭头符号更改。