我已经在 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