通过 VPN 路由所有流量

通过 VPN 路由所有流量

所以我有一个 VPS(基于 openvz),并且 VPN(openvpn)已启动并正在运行。我用笔记本电脑(archlinux)连接到此设置,一切似乎都正常。假设 VPS 的 IP 是 192.0.2.4。我可以连接到它,当我询问其他服务器时,可以看到 192.0.2.4 是我的 IP。所以流量是通过 VPN 传输的。

但是,我仍然通过直接连接访问邮件和 ssh,而不是通过 vpn。我想我知道为什么会这样(默认路由到 192.0.2.4 以防止路由循环等),在大多数情况下,这已经足够好了。但对我来说不是。使用 vpn 的原因之一是绕过我工作场所的端口阻塞(无法通过 587 发送邮件)。而我无法这样做。

那么,如何通过 VPN 将流量重定向到 192.0.2.4?我考虑将所有内容路由到不在端口 X(我的 VPN 端口)上的 192.0.2.4,但不确定如何执行此操作或是否可行。

答案1

您的 VPS 必须有多个 IP 地址。最简单的解决方案是连接到不同的 IP 地址。例如,如果 VPS 的公共 IP 是 ,192.0.2.4并且 VPN 连接使用 ,172.17.2.0/24服务器开启172.17.2.1,客户端开启,那么您可以让客户端使用而不是172.17.2.2连接到 SMTP 服务器。172.17.2.1192.0.2.4

这种方法的一个缺点是,只有在 VPN 连接处于活动状态时,使用内部 IP 才有效。将内部 IP 放入 DNS 中并不是最理想的。在 VPS 上拥有多个公共 IP 地址应该可以解决这个问题。

或者,您可以使用路由策略,该策略匹配协议或端口号并使用不同的路由表。具体配置取决于客户端上的操作系统。

相关内容