VPN 中的私有 DNS

VPN 中的私有 DNS

我已经设置了 VPN。我有一个在 Apache 上运行的 Web 应用程序,并且我更改了配置文件以仅允许来自 10.8.0.0/24 子网的连接。我的目标是区分来自 VPN 内部和外部的连接。

所以我在 VPN 内部设置了 DNS。我想要以下行为:当我连接到 VPN 并在浏览器中输入 app.domain.com 时,我的私有 DNS 会将域名 app.domain.com 解析为 VPN 内部的私有 IP,例如 10.8.0.10。但是当我未连接到 VPN 并在浏览器中输入 app.domain.com 时,我的 ISP 的 DNS 会将域名 app.domain.com 解析为公共 IP,例如 100.100.100.100。对于 VPN,我使用 OpenVPN,并使用配置指令 dhcp-option DNS 10.8.0.1 将 DNS 推送到客户端。

在我的客户端计算机(Windows 7)上,它运行良好。当我连接到 VPN 时,私有 DNS 会将域名解析为私有 IP。当我未连接到 VPN 时,公共 DNS 会将域名解析为公共 IP。但是在我朋友的计算机(同样是 Windows 7)上,当他连接到 VPN 时,他尝试解析域名 app.domain.com 时仍会获得公共 IP。我检查了他的 ipconfig /all 输出,在他的虚拟 VPN 适配器上正确设置了私有 DNS 10.8.0.1。

所以我想知道:是否存在 DNS 优先级,因此私有 DNS 将优先于公共 DNS 吗?我能以某种方式实现我之前提到的行为吗?

谢谢您的回答

答案1

当然有,而且一直都有。只不过在 w7 中比在 XP 中更违反直觉。

请在此处检查该过程:

http://windows.microsoft.com/en-us/windows/change-network-protocol-bindings-order#1TC=windows-7

还有大量涉及注册表操作的答案,但如果有标准方法,为什么要干扰内部操作呢?

相关内容