我在一家中型制造公司担任系统管理员已经两周了,公司的高管和销售人员大量使用远程访问。几乎从我到公司的第一天起,我就开始收到有关 VPN 性能问题的投诉。我们的设置如下:我们的网关是 Astaro 设备,配置了 DNAT 规则,将 PPTP 和 GRE 流量转发到我们称为 COMPANY-VPN01 的内部服务器。COMPANY-VPN01 是配置了 RRAS 的 Windows Server 2003 机箱。我们的客户端计算机(大多数是 XP,但有些是 Vista 和 7)设置了 Windows PPTP VPN 连接以指向 vpn.company.com,该连接解析为 Astaro 机箱外部接口的公共 IP。
以下是真正奇怪的部分: 每一个每次用户连接到 VPN 连接时,它似乎都正常工作。在客户端计算机上,VPN 连接显示“已连接”(并且他们的 ipconfig 显示一个具有 DHCP 颁发的内部 IP 地址的 PPP 适配器),我也可以在 COMPANY-VPN01 上看到他们的连接)。但是,超过一半的时间,这些连接都不好——用户无法访问任何内部资源。由于我自己也经历过这种情况,所以我测试了一些显而易见的方法 —— 尝试使用内部资源的 FQDN 而不是 NetBIOS 名称,尝试使用 IP 地址,尝试通过名称和 IP 地址对内部资源进行 ping 操作。 没有什么无法连接。但如果我多次断开并重新连接 VPN,我最终会获得一个可用的连接完美无瑕——而且无论我连接多长时间,它都会继续完美地工作。所以,无论问题是什么,它都是 a) 间歇性的,并且 b) 在设置 VPN 连接时发生——因为如果你获得“良好”的连接,它就会保持良好状态。
有人对这里可能发生的事情有什么想法吗?或者对我们可以排除故障的事情有什么建议吗?
答案1
我想,当我实际上已经解决了这个问题时,我不应该一直搁置这个问题。
当我被录用时,我被告知 LAN“超出范围”。该网络有一个 24 位子网掩码,并使用 DHCP 进行客户端寻址。DHCP 服务器未设置为在分发地址之前检查 DNS。DNS 未设置为清除旧记录。RRAS 设置为从 DHCP 获取 VPN 客户端的地址,默认情况下它会抓取 10 个块。因此,它会抓取 10 个块并开始将它们分发给客户端,但随着我们的地址空间耗尽,其中一些是“好的”,而有些已经在 DNS 中注册到其他客户端。我将子网掩码缩短为 22 位,问题就解决了。
答案2
建议:设置另一台 RRAS 服务器,并将传入的 VPN 连接定向到此新服务器。如果问题仍然存在,则说明服务器不是问题所在,可以集中精力处理上游设备(最有可能是 Astaro 设备)的问题。
答案3
我怀疑问题出在设备上,这只是一种预感。
尝试固件升级。有关此问题,请联系 Astaro。
尝试使用 DMZ 到 COMPANY-VPN01 服务器,而不是 DNAT 规则。
和/或尝试将您的互联网直接插入 vpn 服务器上的第二个 NIC,并使用 RRAS 基本防火墙 + NAT,并更改您的 DHCP,以便新的默认网关是该服务器。
或者.. 您可以编写一个简单的批处理脚本,或者非常简单的 c# 应用程序,以便在 ping x 次后失败时自动重拨 vpn 端点,并将副本发送到所有笔记本电脑(.msi?)。
答案4
这可能是因为PPTP 直通您的出站路由器不支持或无法正常工作。您可能还想阅读多个 VPN 连接 – 为什么这是不可能的解释了为什么会发生这种情况以及解决方法。值得一读!