Strongswan IKEv2 VPN 服务器 Ubuntu 22.04 LTS - 无法建立您的计算机与 VPN svr 之间的网络连接..远程 svr 没有响应

Strongswan IKEv2 VPN 服务器 Ubuntu 22.04 LTS - 无法建立您的计算机与 VPN svr 之间的网络连接..远程 svr 没有响应

按照这个教程:创建 IKEv2 服务器

该教程的参考文档:指南:如何设置和使用 IKEv2 VPN
在 Win 10 上,从 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"

在 Win10 上使用内置 VPN 连接获得此信息:

由于远程服务器没有响应,因此无法建立计算机与 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:50034.138.177.212:4500)。

更新 #2: 我按照 digital ocean 的指南创建了一个新服务器,从头开始尝试。它仍然无法连接。我现在很确定这与此有关:

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

在向 Win10 添加 VPN 连接时,我需要将其用作138.197.172.52服务器名称/ip。但我的 leftid 和 CN(证书)是什么?现在正在测试。

答案1

我需要使用我的公共 IP 在 GCP 或 Digital Ocean 中的实例名称附近找到的位置,但也可以通过以下方式leftid=138.197.172.52检索138.197.172.52~$ dig @resolver1.opendns.com -t A -4 myip.opendns.com +short

pki --pub --in ~/pki/private/server-key.pem --type rsa \
    | pki --issue --lifetime 1825 \
        --cacert ~/pki/cacerts/ca-cert.pem \
        --cakey ~/pki/private/ca-key.pem \
        --dn "CN=138.197.172.52" --san 138.197.172.52 --san 138.197.172.52 \
        --flag serverAuth --flag ikeIntermediate --outform pem \
    >  ~/pki/certs/server-cert.pem

已连接并正常运行!!

相关内容