hwdsl2 / docker-ipsec-vpn-server

Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
https://hub.docker.com/r/hwdsl2/ipsec-vpn-server
Other
6.37k stars 1.38k forks source link

修改IKEv2 服务器地址后,IKE 身份验证凭证不可接受 #349

Closed shawn8888 closed 1 year ago

shawn8888 commented 1 year ago

在服务器运行 bash ikev2addr.sh 后修改服务器地址为域名。 Win10 client中,把vpn连接删除, 把.p12重新从container中copy出来,导入client,再重新建立VPN连接,然后连接,报验证错误 "IKE 身份验证凭证不可接受"。 奇怪的是,另一台Win10 client上连接正常。

有两个问题:

  1. .p12文件copy出来时,发现time stamp 没有变成当前日期。是不是修改服务器地址不会更改 证书文件 .p12 ?
  2. 我为了保险起见,把.p12文件从container删除。再次修改服务器地址,运行完脚本后,显示成功。但.p12文件没有重新生成。怎么样才能重新生成.p12文件?
shawn8888 commented 1 year ago

"我为了保险起见,把.p12文件从container删除。再次修改服务器地址,运行完脚本后,显示成功。但.p12文件没有重新生成。怎么样才能重新生成.p12文件?"

找到这个问题的答案了: “导出已有的客户端的配置 在默认情况下,IKEv2 辅助脚本在运行后会导出客户端配置。如果之后你想要导出一个已有的客户端,可以运行: sudo ikev2.sh --exportclient [client name]”

奇怪的是,我用新生成的.p12导入后,依然是 “IKE 身份验证凭证不可接受”

hwdsl2 commented 1 year ago

@shawn8888 你好!.p12 文件本身并不包含 VPN 服务器地址。如果你修改了服务器地址为域名,则必须手动修改客户端 (Windows) 的 VPN 连接属性,并将服务器 IP 地址替换为域名。然后尝试连接。

如果你有新的信息可以继续在这里回复。

shawn8888 commented 1 year ago

所以说,如果只是改VPN域名,client端只要改一下地址就行了,.p12证书根本不用改,对不对? 这个win10 client以前用IP地址可以正常连接VPN 在VPN服务器端改成域名后,在Win10 client也可以ping域名,返回正确IP,但是把VPN改成域名后,报“IKE 身份验证凭证不可接受”的错误。非常奇怪啊!有没有办法进一步troubleshoot?

shawn8888 commented 1 year ago

问题最后解决了: 找到之前导入的证书: certutil -store My 找到证书的 "Cert Hash(sha1)" 删除 certutil -delstore My 再次导入证书: certutil -f -importpfx "c:\vpnclient.p12" NoExport

然后重新建立VPN连接就可以了。