通过 OpenVPN 隧道路由所有流量

通过 OpenVPN 隧道路由所有流量

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

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

我已按照 OpenVPN 操作指南操作过该问题,但是没有用,它根本没有推送“强制客户端通过此网关”选项。

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

答案1

将 VPN 接口设置为您的 def 网关(确保它已启动)...

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

sudo ip route replace 0.0.0.0/0 via abcd

或者您可以使用“/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

答案2

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

route-method exe
route-delay 2

否则无法设置路线。

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

redirect-gateway def1

两者之间有很大区别:您的路由会干扰默认路由,当您的本地 DHCP 续订租约或进行其他操作时,它可能会恢复原始默认路由并搞乱一切。重定向网关 def1 反而安装了两个路由:0.0.0.0/1 和 127.0.0.0/1。它保留了默认路由,更具体,因此优先于默认路由,并且很容易删除。

答案3

在 OpenVPN 配置文件中,您是否尝试将“redirect-gateway”更改为“redirect-gateway def1”?

答案4

别忘了做以下事情:

echo 1 > /proc/sys/net/ipv4/ip_forward

相关内容