在工作中(英国大学),我们使用一组运行 WS2008R2 和 RRAS 的 Windows 服务器,为我们住宿的学生提供 VPN 服务。我们这样做是为了将网络连接与个人相关联。在他们连接到 VPN 之前,他们所能交谈的只是设置 VPN 所需的内容和一个包含有关如何连接的文档的本地网站。中期我们可能会替换它,但这是我们目前正在使用的。2008 服务器上的 VPN 为客户端分配一个私有 (10.x) 地址。访问外部站点是通过校园路由器上的 NAT(与私有地址上的任何其他直接连接的客户端相同)。非 VPN 连接不会出现此问题。
较旧的服务器运行 WS 2003 和 ISA2004。该设置有效,但在负载下变得不可靠。最大的区别是我们将非 RFC1918 地址分配给客户端(因此不需要 NAT)。我们看到的行为是,一旦连接到 VPN,客户端就可以访问本地网站(即校园网络上的网站),但只能访问一些外部网站。似乎(但这可能是偶然的)我们可以访问的网站是谷歌的网站(包括 YouTube)。我们当然无法访问 Microsoft 的 Office 365 服务(这很痛苦,因为这是我们大多数学生的邮件所在的地方)。
一个奇怪的行为是客户端可以获取(在 Windows 7 客户端上使用 wget)http://www.oracle.com/(获得 301 重定向)但在被要求获取http://www.oracle 时挂起。 com/index.html(这是第一个 URL 重定向到的地方)。如果我们将客户端配置为使用我们的本地 Web 代理 (Squid),访问就可以可靠地工作。
我的直觉告诉我,这很可能是链中的某些东西根据 HTTP 检查或回复中的 IP 地址丢弃回复。但是,我对为什么我们会在 VPN 客户端看到这种情况感到困惑。
明天(当我回到办公室时)的计划是在外部连接上设置一个 Web 服务器,以便我们可以监视对话两端的行为(希望问题在我们的测试服务器上表现出来)。对我们应该关注的事情有什么建议吗?
我们已经确定在我们的边界防火墙规则中几乎肯定存在关于处理 ICMP 的错误配置,这会阻止碎片正常工作。鉴于我们正在审查我们如何提供依赖于这些 VPN 服务器的网络服务,我们决定坚持使用 WS2003 并忽略 WS2008 的问题。如果看起来我们坚持运行此 VPN 的时间更长,我们将再次查看防火墙配置。