我使用内置的Windows 7 VPNfunction和内置的Windows 8路由和远程访问(RRAS)VPNfunction,为我的Web服务器设置了一个指向其FQDN的VPN隧道(例如my.server.com)。
如何确保所有以FQDN“my.server.com”为目标的stream量通过VPN隧道路由? 具体来说,如果我将\\my.server.com\sharedfolder键入到资源pipe理器地址栏中,或者将资源pipe理器中的共享驱动器映射到这样的path,我希望stream量通过与my.server.com关联的VPN。
基本上,我希望Windows能够足够聪明,当VPN连接到“my.server.com”时,通过encryption的VPN将stream量路由到“my.server.com”,并在没有连接时正常路由它。 那是过分的要求?
在我看来,一旦连接,VPN得到一个本地IP地址,如192.168.1.101(我已经在我的用户帐户属性的拨入选项卡上的服务器上静态分配),并定位该地址确实路由stream量通过VPN。 看起来目标为“my.server.com”的stream量绝不会通过VPN路由,而是与VPN的IP地址分开处理,而我必须使用该VPN IP地址通过VPN路由。 唯一的好处是可以configuration防火墙,以便文件共享stream量只能从该IP地址发起。
这个设置有两个问题:
\\192.168.1.101\sharedfolder时让驱动器连接超时,并且资源pipe理器冻结好30秒。 这真的很烦人,当驱动器映射使用像\\my.server.com\sharedfolder的FQDN时,不会发生问题,但它不会通过VPN路由! 我怎么解决这个问题?
更新:我也注意到,当我有2个VPN连接,一个静态IP 192.168.1.101和另一个192.168.1.102。 在build立了两个VPN并且都设置为不使用VPN上的默认网关的情况下,两个VPN在连接状态下显示这两个独立的IP地址,Explorer会感到困惑,无法连接到第二个VPN,然后打开一个新窗口并尝试到第二个地址,似乎将其与第一个地址等同起来,然后在两个地址(101和102)上通过第一个VPN访问一个服务器上的相同文件夹。 这个不成立。
我自己就明白了这一点。
为了基于FQDN进行路由,可能需要在客户端上运行一个DNS服务器,该服务器能够检测该FQDN的WAN地址上的VPN何时处于活动状态。 当它检测到活动的VPN连接时,它可以将FQDNparsing为VPN隧道地址,以便应用程序(Web浏览器等)将接收VPN隧道地址而不是服务器的WAN地址。 由于这会对显示哪些IP地址是有效的SSL证书造成问题,因此人们确实需要能够通过VPN隧道自动且透明地从应用程序隧穿数据的VPN感知networking驱动程序。 可以这样做,但我不知道这样的智能networking驱动程序是否存在。 根据这个答复一个不好的答案,你可以基于FQDN的路线与我怀疑的适当的configuration:
至于在Windows 7客户端中将重复的服务器IPv4地址分配给不同的VPN服务器的问题,这似乎是devise的。 在Windows Server 2008/2012路由和远程访问服务(RRAS)中,服务器使用可configuration为使用静态地址池的IPv4路由器。 该静态池将确定客户端上的服务器IPv4地址。 在这里,我已经设置了第二台服务器使用192.168.2.0/24作为它的子网,所以它将在Windows 7客户端上收到服务器IP为192.168.2.1。

我在计算机pipe理下的用户属性的“拨入”选项卡中为每个VPN服务器上的用户帐户分配一个静态IP地址。 这将成为VPN上客户端的IPv4地址。

最后,为了确保文件共享stream量必须来自服务器的VPN子网,防火墙中的相应协议/端口可以将其远程IP限制到指定的子网:

现在,在客户端,我可以连接到互联网上的文件共享通过这个VPN,根本不需要第三方软件。 我只是将networking驱动器映射到每个服务器的VPN地址(例如\\192.168.1.1\sharedfolder和\\192.168.2.1\sharedfolder\ )。
不幸的是,我们不能使用FQDN,例如\\my.server.com\sharedfolder\因为Windows不够智能,不能认识到连接到该IP地址的VPN意味着除了encryption的VPN数据包本身应该通过VPN IP路由。 无法使用FQDN作为文件共享path的一个方面是,窗口可能无法保持连接的活动状态,并假定它可以作为本地地址快速重新build立,实际上,在一分钟之后它将空闲然后花30秒重新build立到共享文件夹的连接。 这可以通过在registry中设置更高的空闲超时来解决 。 networking共享的默认空闲超时时间默认为600秒(10分钟)。 为了保持连接的活动时间更长,请在registry项“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ LanmanWorkstation \ Parameters”中添加一个名为“KeepConn”的DWORDregistry值,并给它一个更高的值(以秒为单位),比如3600,一小时。 根据链接:
如果应用程序closures并在服务器上打开通用命名约定(UNC)文件的频率低于每隔10分钟,请增加此条目的值。 这减less了重新连接到服务器的次数。
更新:我忘了提及,虽然使用纯粹的内置Windows 7和Windows Server 2012function的VPN上的文件共享,但有一个额外的Windows Server 2008的步骤,因为一些错误/functionSMB端口上的stream量似乎是在独立于防火墙的默认networking适配器上被阻止。 您必须安装微软环回适配器,除了允许SMBstream量之外,微软环回适配器的function与默认界面相同,所以一旦安装完成,它应该看起来像这样。 然后,不要连接到192.168.1.1(服务器的VPN地址)上的共享,而是连接到192.168.1.2,即回送适配器地址:

有关如何安装回送适配器的说明可以在这里find: http : //blogs.msdn.com/b/virtual_pc_guy/archive/2005/10/04/477195.aspx