Linux
如何將 ipsec 客戶端與 StrongSwan 中的不同連接連結?
我使用 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
在 /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
user1@net1.com : EAP "user_password" user1@net2.com : EAP "user_password"
使用此配置,user1@net1.com 將連接到 net1,而 user1@net2.com 將相應地連接到 net2。
連接選擇基於
rightid
並取決於客戶端用作 IKE 身份的內容。如果您的使用者將 RFC822_ADDR 顯示為身份,您可以使用某種帶有 * 的萬用字元rightid
來%any
區分它們。