我已经在虚拟服务器上成功设置了 strongswan。我基本上有两种配置
- 使用 EAP(Android Strongswan 客户端的用户名/密码)。
- PSK(适用于使用内置 VPN 客户端的 IOS 设备)
我可以连接超过一个IOS 设备使用 PSK 连接到服务器。
现在的问题是当我使用 EAP 将 Android 设备连接到服务器时,Android 会连接,但之前连接的 IOS 设备会断开连接。只要有 Android 设备连接,我就无法连接任何 IOS 设备。
此外,如果我尝试将另一个 Android 设备连接到 Strongswan,当 Android 设备已经连接时,已连接的设备将断开连接。
我不确定为什么会发生这种情况。附件是我的 ipsec.conf 和 ipsec.secret 文件。
# IPSEC.secrets
: PSK strongswan
: RSA /root/strongswan/private/vpnHostKey.pem
john %any : EAP "john"
IPSec配置文件
config setup
charondebug="ike 1, knl 1, cfg 0"
uniqueids=never
conn AndroidCon
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
ike=aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1-mo$
esp=aes128gcm16-ecp256,aes256gcm16-ecp384,aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096$
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftid=%defaultroute
leftcert=/root/strongswan/certs/vpnHostCert.pem
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightauth=eap-mschapv2
rightdns=8.8.8.8,8.8.4.4
rightsourceip=10.10.10.0/24
rightsendcert=never
eap_identity=%identity
conn CiscoIPSec #IOS
keyexchange=ike
leftsendcert=never
ike=aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1-mo$
esp=aes128gcm16-ecp256,aes256gcm16-ecp384,aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp409$
forceencaps=yes
authby=psk
xauth=server
auto=add
right=%any
rightid=%any
rightdns=8.8.8.8,8.8.4.4
rightsourceip=10.10.10.0/24
eap_identity=%any
leftsubnet=0.0.0.0/0
注意:在 IOS 端,我没有使用任何证书或配置文件。
期望结果:IOS和Android设备应该能够一次建立一个连接。
非常感谢!
答案1
这个问题已经解决。但仍不确定为什么会发生这种情况。
我的秘密文件中的 psk 和用户名相同,即“John”。
在我将 psk 更改为其他内容(与 EAP 的用户名不相似)后,它就起作用了。