如何通过 SoftEther 隧道传输所有 Internet 流量?

Ser*_*rov 9 vpn route

我的目的是通过多个 NAT 后面的远程机器路由所有 Internet 流量。ISP 的 NAT 服务器不在我的控制之下。我确实控制了我自己的 NAT 服务器,它是一个本地路由器。服务器和客户端都运行 Windows 7(客户端 - x64 和服务器 - x86)。

为此,我设置了 SoftEther VPN 服务器并通过 SoftEther VPN 客户端连接到它。服务器配置为使用 VPN Azure,因为它无法在我的 ISP 的 NAT 中“打孔”。这排除了在客户端使用内置 IPSec/L2TP VPN 的可能性,因为它不理解 VPN Azure。

然而,通过运行一些测试,我发现,通过这种设置,我客户端的 Internet 流量仍然通过本地 Internet 网关。我研究了客户端上的路由表,发现 SoftEther 只为一些远程 LAN IP 设置了路由,而不是所有 Internet IP。我试图通过手动添加新路线来解决这个问题:

route add 0.0.0.0 mask 0.0.0.0 0.0.0.0 metric 2 if 22
Run Code Online (Sandbox Code Playgroud)

其中 22 - 是 SoftEther 客户端创建的接口。但是,服务器似乎丢弃了所有未寻址到远程 LAN 的数据包(我不确定这一点)。

如何配置 SoftEther 客户端为所有 IP 和 SoftEther 服务器自动创建路由以通过远程网关路由所有 Internet 数据包?或者是否有针对此类任务的替代解决方案?

PS 我试过使用 NAT32,但它似乎以某种方式与服务器上的 Internet 连接混合在一起,使其无法供本地用户使用。

小智 3

首先,我得说我根本不了解SoftEther。但我会向您发布一些供您思考的一般提示。

1.) 您不应添加默认网关为“0.0.0.0”的手动路由。这不会导致任何结果。

尝试一下:

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 22

其中192.168.0.1是 SoftEther VPN 服务器的内部 IP。但这可能会导致其他问题:例如,此时您的 VPN 服务器的公共 IP 将无法访问,因此您还必须为此添加手动路由。这一切加在一起可能不值得付出努力。

2.) 相反,您应该寻找一种名为“Split-Tunnel”的设置,大多数 VPN 解决方案都提供该设置。如果禁用此设置,VPN 客户端将通过隧道路由每个流量,但确保其自身的连接。

我希望这能有所帮助。

问候