有什么方法可以限制 VPN 客户端仅通过 VPN 路由某些流量,其余流量通过其本地网关路由?
例如:到某个 IP 或域的流量会通过 VPN 路由,而所有其他请求则不会。
如果您需要更多详细信息,请告诉我。
谢谢。
答案1
我看到这个问题标记为 openvpn,所以我将给出一个 openvpn 答案。
在 openvpn 中,你可以让服务器将某些路由“推送”到客户端
openvpn 服务器.conf
push "route 192.168.2.0 255.255.255.0"
push "route 1.2.3.0 255.255.255.0"
客户端必须在其配置文件中包含“pull”。
参见 man openvpn(8) 下的 --pull 和 --push
答案2
当然,您只需将路由命令添加到 openvpn 配置中。如果您需要更多详细信息,请告诉我。
答案3
似乎无法通过 VPN 将流量仅路由到某个 FQDN。在这种情况下,使用 IP 地址的替代方案不够充分,因为它可能会发生变化。无论如何,谢谢您。
答案4
我在这里使用 FreshTomato。我设法仅将 3 个目标 IP 重定向到 VPN。
以下是 OpenVPN 自定义配置:
allow-pull-fqdn
route-nopull
script-security 2
up /opt/openvpn-routes.sh
然后上面提到的脚本:
root@router:/tmp/home/root# cat /opt/openvpn-routes.sh
#!/bin/sh
ip route add 204.11.51.251/32 dev tun11 # www.linksysinfo.org
ip route add 201.54.48.99/32 dev tun11 # www12.senado.leg.br
ip route add 34.160.111.145/32 dev tun11 # ifconfig.me
/opt 挂载点是按照以下说明设置的:https://github.com/Entware/Entware/wiki/Install-on-TomatoUSB-and-FreshTomato