我使用 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"