有没有人成功地将 MAC 连接到 Azure P2S 网络网关? None 的文档对我有用

Has anyone ever successfully connected a MAC to an Azure P2S network gateway? None of the documentation works for me

从空目录开始:

  1. 生成 CAroot 私钥
$ openssl genrsa -aes256 -out dcsAzureVPN.key 2048
  1. 生成 CARoot 证书
$ openssl req -x509 -sha256 -new -key dcsAzureVPN.key -out dcsAzureVPN.cer -days 1825 -subj /CN="dcsAzureVPN"`
  1. 成功复制dcsAzureVPN.cer到VPN网关并保存(见附件截图)

  2. 生成证书请求 (CSR)

$ openssl genrsa -out dcsAzureClientCert.key 2048
$ openssl req -new -out tjaClientCert.req -key dcsAzureClientCert.key -subj /CN="dcsAzureVPN"`
  1. 从 CSR 生成签名的客户端证书
$ openssl x509 -req -sha256 -in tjaClientCert.req -out dcsAzureClientCert.cer -CAkey dcsAzureVPN.key -CA dcsAzureVPN.cer -days 1825 -CAcreateserial -CAserial serial 
Signature ok
    subject=/CN=dcsAzureVPN
  1. 以 .pfx 格式打包密钥和证书
$ openssl pkcs12 -export -out dcsAzureVPNClient.pfx -inkey dcsAzureClientCert.key -in dcsAzureClientCert.cer -certfile dcsAzureVPN.cer
  1. 将客户端证书复制到我的钥匙串

  2. 使 dcsAzure VPN 成为受信任的证书。

  3. Select dcsAzureVPN 作为我的 VPN 连接的客户端证书

  4. 尝试连接。连接失败并出现错误:用户身份验证失败

我做错了什么?

您必须在每个将连接到 Azure 的 Mac 上手动配置本机 IKEv2 VPN 客户端。您可以使用 these steps 在 Mac 上配置本机 VPN 客户端以进行证书身份验证。

此外,您可以参考 this 来解决来自 Mac OS X VPN 客户端的点到站点 VPN 连接问题。

此外,无论您想从哪个客户端 OS 进行连接,您都必须始终拥有客户端证书。您可以从使用企业 CA 解决方案生成的根证书或自签名根证书生成客户端证书。有关生成客户端证书的步骤,请参阅 PowerShell, MakeCert, or Linux 说明。

如果可行,请告诉我。

终于找到问题了。事实证明,本地 ID 必须与客户端证书主题相匹配,而不是您的客户端证书文件的名称。

无论谁偶然发现了这个解决方案:如果您将客户端证书的主题从 dcsAzureVPN 更改为(例如)dcsAzureVPNSubj 并在本地 ID 的连接选项卡中使用它,它就会起作用。

所以不是这个:

openssl req -new -out tjaClientCert.req -key dcsAzureClientCert.key -subj /CN="dcsAzureVPN"

使用这个:

openssl req -new -out tjaClientCert.req -key dcsAzureClientCert.key -subj /CN="dcsAzureVPNSubj"

并在 MacOS VPN 连接选项卡上使用 dcsAzureVPNSubj 作为本地 ID。

在以下机器上工作: 20.5.0 达尔文内核版本 20.5.0:root:«gibberish»/RELEASE_ARM64_T8101 arm64 大苏尔版本:11.4