我已经建立了VPN。我在Apache上运行了一个web应用程序,我更改了配置文件,只允许从10.8.0.0/24子网连接。我的目标是区分从VPN内部和外部建立的连接。
所以我在VPN中设置了DNS。我想要以下行为:当我连接到虚拟专用网并将app.domain.com输入浏览器时,我的私有域名app.domain.com将解析为VPN内部的私有IP,例如10.8.0.10。但是,当我没有连接到虚拟专用网,并将app.domain.com输入浏览器时,我的ISP的DNS将把域名app.domain.com解析为公共IP,例如100.100.100.100。对于VPN,我使用OpenVPN,我使用配置指令dhcp-选项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?我能达到我前面提到的行为吗?
谢谢你的回答
发布于 2015-12-31 12:18:37
有,而且一直都是。只是它在w7中比在XP中更违反直觉。
检查这里的程序:
http://windows.microsoft.com/en-us/windows/change-network-protocol-bindings-order#1TC=windows-7
也有很多关于注册表手术的答案,但是如果有标准的方法,为什么要干涉内部呢?
https://serverfault.com/questions/746065
复制相似问题