通过OpenVPN隧道路由所有流量


11

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

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

我已经遵循了OpenVPN HowTo的规定,但这是行不通的,它根本没有推动“强制客户端通过此网关”选项。

从OpenVPN更改为PPTP / IPSec替代方案目前还不是一种选择。

Answers:


2

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

在Linux中,这可能是(abcd是您的VPN接口的地址):

sudo ip route通过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


虽然此答案的确提供了有关在Windows中添加路由的信息(通常),但考虑到OpenVPN上下文,它远不及Erics答案。
Shaamaan

15

在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。它保留默认路由,更具体,因此优先于默认路由,很容易删除。


1
redirect-gateway def1在以管理员身份运行OpenVPN之后为我完成了窍门。
EnigmaRM 2014年

乍看之下,我发现一些非常奇特的东西的出色描述。谢谢
regulatre

1

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


是的,正如我说的,我已经完成了HowTo所说的,但它仍然不起作用。
Filip Ekberg

重定向网关应该工作。您可以发布路由打印输出,也可以发布openvpn客户端输出。在那儿,您应该查看是否替换了默认路由。
罗伯特·伊万克

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.