我正在尝试为 VPN 拆分隧道设置 Strongswan。
我想要的只是子网10.88.0.0/16
,10.0.200.0/24
可以通过 VPN 隧道访问。其他一切都default gateway
通过网络处理。
所有客户端都分配了一个属于该10.0.201.0/24
子网的 IP 地址。
在我的配置文件中,我有以下内容:
# Default login method
eap-defaults {
remote {
auth = eap-radius
id = %any
eap_id = %any
}
}
connections
{
conn-unix : conn-defaults, eap-defaults {
children {
net {
local_ts = 10.0.200.0/24, 10.88.0.0/16
}
esp_proposals = aes128gcm128-x25519
}
pools = IkeVPN-ipv4
proposals = aes128-sha256-x25519
}
conn-windows : conn-defaults, eap-defaults {
children {
net {
local_ts = 10.0.200.0/24, 10.88.0.0/16
}
esp_proposals = aes256-sha256-prfsha256-modp1024
}
proposals = aes256-sha256-prfsha256-modp1024
pools = IkeVPN-ipv4
}
}
pools
{
IkeVPN-ipv4 {
addrs = 10.0.201.0/24
dns = 10.0.88.2
}
}
当我通过 VPN 登录时,可以 ping 属于10.88.0.0/16
and的主机10.0.200.0/24
,所以我知道我可以使用 VPN 隧道。
然而:
如果我在仍然连接到 VPN 的同时尝试访问 Internet 上的任何其他资源,那么我什至无法 ping 属于该资源的 IP 地址。
在我的 Windows 计算机上的路由表中,我可以找到以下条目:
我知道,当您有两条路由到给定子网(如0.0.0.0/0
路由表中)时,任何具有最低度量的规则都会获胜,并使用该规则转发流量。
但是我不希望 VPN 服务器通过 VPN 安装默认路由,而只是告诉子网10.88.0.0/16
并且10.0.200.0/24
必须通过 VPN 路由。
我想要的是我看到一个更接近于此的路由表,而不必在每个 VPN 客户端上手动编辑路由表:
那么我该怎么做呢?