我已成功在本地 Linux 主机和远程 VPN 网关之间建立了 IPSec 隧道。我正在使用网关分配的虚拟 IP,因为作为公路战士,我的本地 LAN 子网不是固定的。
当它启动时,所有流量都通过隧道,包括互联网流量。我想要的是除本地子网之外的所有流量通过隧道路由。我已经阅读并重新阅读了 Strongswan 文档,但我不知道如何做到这一点。
我需要做什么?
本地ipsec.conf
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev2
authby=secret
conn VPN
left=%any
leftsourceip=%config
leftid=@robin.my.net
leftfirewall=yes
right=52.n.n.n
rightsubnet=0.0.0.0/0
rightid=@vpn.my.net
auto=add
Run Code Online (Sandbox Code Playgroud)
服务器ipsec.conf
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev2
conn AWSVPN
left=%any
leftsubnet=172.31.38.36/32
leftid=@vpn.my.net
leftfirewall=yes
authby=secret
right=%any
rightsourceip=10.3.0.0/28
auto=add
Run Code Online (Sandbox Code Playgroud)
网关
IP:172.31.38.36 子网:172.31.32.0/20
我的机器
IP:192.168.1.150(可更改)子网:192.168.1.0/24(可更改)虚拟IP:10.3.0.1(由Strongswan网关分配)
编辑:
我已经通过添加这个设法排除了本地网络,但子网是硬编码的:
conn local-net
leftsubnet=192.168.1.0/24
rightsubnet=192.168.1.0/24
authby=never
type=pass
auto=route
Run Code Online (Sandbox Code Playgroud) strongswan ×1