遵循本教程:创建 IKEv2 服务器
该教程的参考文档:指南:如何
在 Win 10上设置和使用 IKEv2 VPN ,来自 powershell(管理员),我运行:
certutil -f -importpfx "C:\Users\Adrian\Downloads\vpnclient.p12" NoExport
powershell -command "Set-VpnConnectionIPsecConfiguration -ConnectionName 'My IKEv2 VPN' -AuthenticationTransformConstants GCMAES128 -CipherTransformConstants GCMAES128 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -PfsGroup None -DHGroup Group14 -PassThru -Force"
使用内置的 VPN 连接在 Win10 上得到这个:
由于远程服务器没有响应,无法建立您的计算机和 VPN 服务器之间的网络连接。这可能是因为您的计算机和远程服务器之间的网络设备之一(例如,防火墙、NAT、路由器等)未配置为允许 VPN 连接。请联系您的管理员或服务提供商以确定可能导致问题的设备。
我跑了tail -f /var/log/auth.log
,然后尝试连接。没有任何内容写入日志。也许什么都没有写入 auth.log?我应该检查另一个日志吗?
cat /etc/ipsec.conf
version 2.0
config setup
virtual-private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.42.0/24,%v4:!192.168.43.0/24
uniqueids=no
conn shared
left=%defaultroute
leftid=34.138.177.212
right=%any
encapsulation=yes
authby=secret
pfs=no
rekey=no
keyingtries=5
dpddelay=30
dpdtimeout=120
dpdaction=clear
ikev2=never
ike=aes256-sha2,aes128-sha2,aes256-sha1,aes128-sha1,aes256-sha2;modp1024,aes128-sha1;modp1024
phase2alg=aes_gcm-null,aes128-sha1,aes256-sha1,aes256-sha2_512,aes128-sha2,aes256-sha2
ikelifetime=24h
salifetime=24h
sha2-truncbug=no
conn l2tp-psk
auto=add
leftprotoport=17/1701
rightprotoport=17/%any
type=transport
also=shared
conn xauth-psk
auto=add
leftsubnet=0.0.0.0/0
rightaddresspool=192.168.43.10-192.168.43.250
modecfgdns="8.8.8.8 8.8.4.4"
leftxauthserver=yes
rightxauthclient=yes
leftmodecfgserver=yes
rightmodecfgclient=yes
modecfgpull=yes
cisco-unity=yes
also=shared
include /etc/ipsec.d/*.conf
已经审查:
如何在 Ubuntu 20.04 上使用 StrongSwan 设置 IKEv2 VPN 服务器<--非常有帮助
ikev2 vpn 无法通过 vpn 连接 win10
VPN IKEv2 连接
Windows 客户端无法连接到 StrongSwan:“已配置 EAP-Identity 请求,但是不支持”
更新 1:
我认为这与 IP 地址有关。
root@ikev2vpn:~# service ipsec status
● ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec
Loaded: loaded (/lib/systemd/system/ipsec.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-04-23 16:01:48 UTC; 3h 17min ago
Docs: man:ipsec(8)
man:pluto(8)
man:ipsec.conf(5)
Process: 1244 ExecStartPre=/usr/local/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exit
Process: 1245 ExecStartPre=/usr/local/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS)
Process: 1490 ExecStartPre=/usr/local/sbin/ipsec --checknss (code=exited, status=0/SUCCESS)
Process: 1491 ExecStartPre=/usr/local/sbin/ipsec --checknflog (code=exited, status=0/SUCCESS)
Main PID: 1502 (pluto)
Status: "Startup completed."
Tasks: 2 (limit: 666)
Memory: 4.5M
CPU: 359ms
CGroup: /system.slice/ipsec.service
└─1502 /usr/local/libexec/ipsec/pluto --leak-detective --config /etc/ipsec.conf --nofork
Apr 23 16:01:48 ikev2vpn pluto[1502]: "ikev2-cp": added IKEv2 connection
Apr 23 16:01:48 ikev2vpn pluto[1502]: listening for IKE messages
Apr 23 16:01:48 ikev2vpn pluto[1502]: Kernel supports NIC esp-hw-offload
Apr 23 16:01:48 ikev2vpn pluto[1502]: adding UDP interface ens4 10.142.0.3:500
Apr 23 16:01:48 ikev2vpn pluto[1502]: adding UDP interface ens4 10.142.0.3:4500
Apr 23 16:01:48 ikev2vpn pluto[1502]: adding UDP interface lo 127.0.0.1:500
Apr 23 16:01:48 ikev2vpn pluto[1502]: adding UDP interface lo 127.0.0.1:4500
我不知道那些接口地址来自哪里。我本来希望服务器的公共地址:500 或 :4500(so34.138.177.212:500
或34.138.177.212:4500
)。
更新#2: 我创建了一个新服务器,以使用数字海洋指南从头开始尝试。它仍然无法连接。我现在很确定这与此有关:
vusr@vpn2:~$ ip route show default
default via 10.142.0.1 dev ens4 proto dhcp src 10.142.0.4 metric 100
根据文档10.142.0.1
是我的服务器ip,这当然是不正确的。34.139.167.68
是新服务器的外部IP。leftid=34.139.167.68
我在win10上构建VPN时使用了外部IP
Add-VpnConnection -Name "VPN2" -ServerAddress "34.139.167.68" -TunnelType "IKEv2" -AuthenticationMethod "EAP" -EncryptionLevel "Maximum" -RememberCredential
这是不正确的吗?
更新 3
我现在正在测试以找出我应该使用哪个 IP,因为不同的教程会说不同的东西。
aw@ipsec-ikev2:~$ ip route show default
default via 138.197.160.1 dev eth0 proto static
aw@ipsec-ikev2:~$ dig @resolver1.opendns.com -t A -4 myip.opendns.com +short
138.197.172.52
138.197.172.52
在将 VPN 连接添加到 Win10 时,我需要用作服务器名称/IP。但是我的 leftid 和 CN(用于证书)是什么?现在测试。