通过 OpenVPN 隧道路由所有流量

Fil*_*erg 11 networking windows-7 routing openvpn tunnel

我已经在 Archlinux 上安装了 OpenVPN 服务器,现在在 Windows 7 上使用 OpenVPN GUI,我可以与通过 VPN 连接的其他计算机通信,但我还没有弄清楚如何通过隧道路由所有流量。

我该怎么做呢?我想我需要用route( cmd 命令)来做,但我想我在这里需要一些指针。

我已经在这个问题上遵循了 OpenVPN HowTo 但这不起作用,它根本没有推动“强制客户端通过这个网关”选项。

目前还不能从 OpenVPN 更改为 PPTP / IPSec 替代方案。

Eri*_*his 15

在 Windows Vista 及后续版本中,通常需要告诉 OpenVPN:

route-method exe
route-delay 2
Run Code Online (Sandbox Code Playgroud)

否则无法设置路由。

然后我建议不要手动更改您的路由,而是使用 OpenVPN 专用设置:

redirect-gateway def1
Run Code Online (Sandbox Code Playgroud)

两者之间存在很大差异:您的路由会干扰默认路由,并且当您的本地 DHCP 续订租约时,它可能会恢复原始默认路由并将事情搞砸。重定向网关 def1 而是安装了两条路由:0.0.0.0/1 和 127.0.0.0/1。它保留默认路由,更具体,因此优先于默认路由,并且很容易删除。


小智 2

将 VPN 接口设置为您的默认网关(确保其已启动)...

在 Linux 中,这将类似于(abcd 是您的 VPN 接口的地址):

sudo ip 路由通过 abcd 替换 0.0.0.0/0

或者您可以使用“/sbin/route”,但语法略有不同。

如果您希望它在重新启动后仍然存在,您可以将其添加到 /etc/rc.local,但您可能希望使用适合您的发行版的特定方法。我看到您正在使用 Arch Linux,因此您要编辑的文件是在启动时添加的永久静态路由/etc/rc.conf查看此处了解更多信息。

祝你好运!

=====================

我刚刚写了这个答案,然后重新阅读了这个问题......

对于 Windows,您需要执行此操作(在命令行上):

路由添加 0.0.0.0 掩码 0.0.0.0 abcd

或者可能:

路由更改 0.0.0.0 掩码 0.0.0.0 abcd