将 VPN 客户端流量限制到特定域/IP

将 VPN 客户端流量限制到特定域/IP

有什么方法可以限制 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

相关内容