我使用 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
连接选择基于
rightid
并取决于客户端用作 IKE 身份的内容。如果您的用户将 RFC822_ADDR 显示为身份,您可以使用某种带有 * 的通配符rightid
来%any
区分它们。在 /etc/ipsec.conf
然后在 /etc/ipsec.secrets
使用此配置,[email protected] 将连接到 net1,而 [email protected] 将相应地连接到 net2。