我们经营一家小公司,有一台运行 VPN 的服务器Windows Server 2012
。
我们的 VPN 一直运行良好,直到我们重启路由器,似乎重启过程破坏了 VPN。我们不确定这是否是巧合。目前我们无法从任何客户端连接到 VPN。(同一台服务器上有一个我们可以访问的文件服务器)。我们收到此消息:
错误 800:由于 VPN 隧道失败,远程连接未建立。VPN 服务器可能无法访问。如果此连接尝试使用 L2TP/IPsec 隧道,则 IPsec 协商所需的安全参数可能未正确配置。
在我们远程访问的服务器上,我们进入服务器管理器 > 远程访问并查看日志,发现收到多个错误。其中一个是以下不同变体:
无法在端口 VPN0-104 上应用 IP 安全,错误原因:找不到证书。使用 IPSec 上的 L2TP 协议的连接需要安装机器证书(也称为计算机证书)。此端口将不接受任何呼叫。
另一个错误是:
安全套接字隧道协议服务无法从注册表读取 SHA256 证书哈希,或者数据无效。要使 SHA256 证书哈希有效,其类型必须为 REG_BINARY,长度必须为 32 个字节。由于其他系统故障,SSTP 可能无法从注册表中检索值。下面提供了详细的错误消息。此服务器将不接受 SSTP 连接。请更正问题并重试。系统找不到指定的文件。
我们在 Google 上搜索了 SHA256 证书,并在注册表中查找了此文件,但找不到。没有人访问过服务器,所以证书是否可能已被自动删除?
我们尝试的另一件事是进入Remote Access Management Console
并单击“操作状态”。我们收到以下错误:
An unknown system error has occurred. Check if the Remote Access Management service is running.
这个问题的解决方法是:
Enable (Start-Service ramgmtsvc) or restart (Restart-Service ramgmtsvc) the service at an elevated PowerShell prompt.
看到此错误后,我们多次重新启动 DNS、DHCP、远程连接服务,但无济于事。我们还重新启动了整个服务器,但这也无济于事。
答案1
在我看来,您的 VPN 使用的是 PPTP 协议,而不是 Windows Server 支持的其他协议。
PPTP 很容易通过防火墙或路由器进行发布,您需要两个条目:
- TCP 端口 1723
- IP 协议编号 47(名为“GRE”——通用路由器封装)
如果您将 PPTP 转发到内部服务器,某些路由器将自动为您执行此操作。
您看到的错误与使用 L2TP 和 SSTP(两者都需要 SSL 证书)有关。遗憾的是,您无法通过重新启动服务或服务器来修复此问题。
你能描述一下你用的是什么路由器吗?你需要在那里进行更改(然后保存 - 我怀疑之前所做的更改没有保存,因此在重新启动时会丢失)。