强制所有流量通过 VPN

强制所有流量通过 VPN

我使用 pfSense 作为防火墙,并利用其 VPN 功能。我使用的客户端是 Shrew Soft VPN 客户端。由于它是一个拆分隧道,有没有办法强制所有流量通过 VPN 连接,也就是说,我的外部 IP 始终是 pfSense 盒子的 IP。

我想这样做的原因是,我从中访问服务器的位置通过 ISP 分配了 DHCP 地址。我买不起静态 IP,它不包含在我的套餐中,但我将服务器锁定为仅某些 IP。当 ISP 分配新 IP 时,我无法通过 SSH 访问我的服务器。我已允许 pfSense 盒的 IP,因为它位于具有静态 IP 的位置。

我该如何克服这个问题?除了尝试强制流量通过 VPN 隧道之外,还有其他方法吗?

答案1

在 Linux 中配置路由表。相当简单,但取决于您当前的配置。

键入route -n以查看当前路由表(在 Mac OS X 上为netstat -rn)。

请注意默认路由(目的地路由0.0.0.0),它匹配所有内容。路由表的基本工作方式是流量将匹配最具体的规则——它需要知道的只是第一跳应该去哪里。因此,命令如下:

sudo route add -net 10.0.0.0/8 ppp0
sudo route add -net 1.2.3.0/24 ppp0

会向您的路由表添加一行,该行将接收发往与这些规则匹配的地址(10.*.*.*第一条规则以 开头的所有 IP 地址以及1.2.3.*第二条规则匹配的所有 IP 地址)的所有流量,并将流量发送到 ppp0 接口。(假设其为 ppp0 接口)。

相关内容