![是否可以在不导入中间证书的情况下为 IKEv2 使用来自公共 CA 的证书?](https://linux22.com/image/671948/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%B8%8D%E5%AF%BC%E5%85%A5%E4%B8%AD%E9%97%B4%E8%AF%81%E4%B9%A6%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%B8%BA%20IKEv2%20%E4%BD%BF%E7%94%A8%E6%9D%A5%E8%87%AA%E5%85%AC%E5%85%B1%20CA%20%E7%9A%84%E8%AF%81%E4%B9%A6%EF%BC%9F.png)
我在 strongswan 服务器和 Windows 10 客户端上配置了 ikev2 vpn,运行正常。授权方式为leftauth=pubkey
和rightauth=eap-mschapv2
。
因为授权服务器的 leftcert 是自签名的,所以我必须在机器上导入 CA 证书,这有点棘手。然后我想知道我是否可以使用来自公共 CA 的证书,这样我就不需要在客户端机器上导入了。
我尝试将根 CA 证书和中级 CA 证书放在ipsec.d/cacerts
服务器上,但客户端不断收到13801 错误。我在客户端机器上安装中级证书后,一切正常。显然,13801 错误是由于未导入中级证书造成的。
有什么方法可以配置服务器,以便客户端不需要导入中间证书?
答案1
是的,我相信你可以做到。如果你检查一下IKEV2 教程这家伙正在告诉我们一种使用方法让我们加密证书而不是使用私有证书。如 Readme 中的 VPN 服务器部分所述:
VPN 服务器使用 Let's Encrypt 证书来标识自己,因此客户端无需安装私有证书 - 他们只需使用用户名和密码 (EAP-MSCHAPv2) 进行身份验证即可。
您需要按照以下步骤在服务器上安装公共证书 这。
要了解如何使用此证书,请检查安装脚本上面给出的 IKEV2 教程
mkdir -p /etc/letsencrypt
ln -f -s /etc/letsencrypt/live/$VPNHOST/cert.pem /etc/ipsec.d/certs/cert.pem
ln -f -s /etc/letsencrypt/live/$VPNHOST/privkey.pem /etc/ipsec.d/private/privkey.pem
ln -f -s /etc/letsencrypt/live/$VPNHOST/chain.pem /etc/ipsec.d/cacerts/chain.pem
请使用您之前对 IKEV2(strongswan)服务器配置的了解来仔细阅读 **setup.sh **,以充分理解该脚本。