如何在 StrongSwan 中链接具有不同连接的 ipsec 客户端?

如何在 StrongSwan 中链接具有不同连接的 ipsec 客户端?

我使用 strongswan ipsec 作为移动设备 (Android) 的 VPN 网关。在 StrongSwan 配置中,我为 2 个不同的用户组设置了 2 个连接(两个不同的子网 10.10.10.0/24、10.10.20.0/24,具有不同的路由策略)。

我不明白(在手册和论坛中也找不到)如何将用户与连接联系起来。在哪里以及如何设置严格的用户>连接关系?

谢谢你!

我的 ipsec 配置:

cat /etc/ipsec.conf

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no
conn any2ex
    auto=add
    compress=yes
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=*.*.233.132 #I've masked server IP for this post. Certificate was issued for the ip address.
    left=*.*.233.132  
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never
    eap_identity=%identity

conn ex2loc
    auto=add
    compress=yes
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=*.*.233.132
    leftid=*.*.233.132
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.20.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never
    eap_identity=%identity

我使用这个配置Android客户端

https://docs.strongswan.org/strongswan-docs/5.9/os/androidVpnClientProfiles.html#_example

答案1

连接选择取决于rightid客户端使用什么作为 IKE 身份。如果您的用户使用 RFC822_ADDR 作为身份,您可以使用某种通配符,使用 *rightid代替%any来区分他们。

答案2

在 /etc/ipsec.conf 中

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no
conn net1
    ...
    rightid=*@net1.com
    ... 
conn net2
    ...
    rightid=*@net2.com
    ... 

然后在 /etc/ipsec.secrets

[email protected] : EAP "user_password"
[email protected] : EAP "user_password"

使用此配置 [电子邮件保护]将连接到 net1,并且[电子邮件保护]相应地发送到 net2。

相关内容