大家好!
我的问题 - 当我创建 SSL 证书(使用 selfssl7 或 IIS 管理控制台)时,我的 vpn 连接(带证书身份验证的 L2TP)无法建立(出现错误 789)。我必须删除此证书才能再次建立连接。
我想知道我是否做错了什么,这是我的 selfssl 命令行:
selfssl7 /Q /T /I /S "site name" /N cn=localhost
我正在创建证书,但在连接到 ISP 的 VPN 服务器的同一台机器上遇到了问题。如果我的问题让您产生了其他想法,我很抱歉。
答案1
您在服务器端安装的证书必须得到客户端的信任。由于您生成了自签名证书,因此您应该将证书复制到客户端,导入它们,并将其标记为受信任。如果您的客户端是移动的(即笔记本电脑),那么当他们在办公室时,您有一个邮政总局自动推送证书;如果他们不是移动的也不是本地的,您可以使用远程注册或线下报名希望这能有所帮助,但如果没有……你应该考虑阅读概述和客户端 L2TP/IPSEC 配置然后再花更多的时间玩耍。
答案2
从错误代码来看,
可能的原因:这是当 L2TP/IPSec 连接的 IPSec 协商失败时抛出的通用错误。
造成此问题的原因可能包括:
a> 基于 L2TP 的 VPN 客户端(或 VPN 服务器)位于 NAT 后面。
b> VPN 服务器或客户端上设置了错误的证书或预共享密钥
c> VPN 服务器上不存在机器证书或受信任的根机器证书。
d> VPN 服务器上的机器证书没有“服务器身份验证”作为 EKU
可能的解决方案:确保客户端和服务器端都使用了正确的证书——有关详细信息,请参阅此博客。如果使用预共享密钥 (PSK),请确保在客户端和 VPN 服务器上配置相同的 PSK。
答案3
免责声明:我自己从未真正使用过 L2TP。
据我了解,使用证书身份验证的 L2TP 需要服务器和客户端证书对。客户端证书必须由服务器 (CA) 颁发。通常,这可以通过 Active Directory 证书颁发机构和组策略来实现,以导入 CA 证书并自动注册客户端证书。无论如何,不要使用 selfssl7 创建自签名 (服务器) 证书。
您是否使用 2048 位密钥长度生成证书?默认情况下,它可能使用 1024,而您的 VPN 客户端可能不接受该长度。要确定这一点或发现指向其他错误的指针,请在启动(失败)会话后检查客户端和服务器上的事件日志!
selfssl7 /Q /T /I /S "site name" /N cn=localhost /K 2048
为了使事情简单化,是否可以选择使用 SSTP(端口 443)或带有用户身份验证的 PPTP 来建立 VPN?