如果服务器端没有推送路由,如何使所有客户端流量都通过O​​penVPN?

如果服务器端没有推送路由,如何使所有客户端流量都通过O​​penVPN?

我在 OpenWRT 上安装了 OpenVPN 客户端,并希望通过 VPN 引导我的所有流量,包括游戏流量。

但服务器端并没有将路由推送到客户端。如何通过在 OpenWRT 中使用ip routeip rule命令进行设置来实现此目的?

- 更新 - 事实上,开放式网络只是一个虚拟机,我把它部署在VirtualBox上。来自主机的所有流量都将流经虚拟机。我读了一些关于如何使用 ip 路由静态路由流量的文章,但仍然不知道我需要使用什么 ip 地址来替换规则的地址ip route add部分ip rule add

答案1

如果您想通过 VPN 路由来自路由器的所有流量,只需通过 OpenVPN 配置默认路由即可。请记住通过互联网网关配置到 OpenVPN 服务器的外部 IP 的路由(如果未自动配置)。

ip route add <openvpn server external ip> via <default internet gateway>
ip route change default via <openvpn gateway (internal) ip>

如果您想根据流量的来源(或其他一些条件)应用不同的路由,则需要使用单独的路由表并创建规则何时使用它。

例如,新表标识为10

ip route add default via <openvpn gateway (internal) ip> table 10
ip rule add from <your network (address+netmask)> table 10
ip route flush cache

您无需更改路线主要的当您使用单独的路由表时的路由表。

您的 OpenVPN 服务器不会自动知道网络中主机的路由。您需要配置此类路由或在 OpenVPN 客户端上使用 NAT。

答案2

我想我们这里谈论的是 IPv4?如果这是你的主路由器,那么它不需要向客户端提供任何路由,在正常情况下客户端已经将路由器设置为默认路由,因此路由器(在本例中为 OpenWRT)可以轻松地进行排序其余的交通。

但仍然要回答这个问题:通常您可以通过使用 DHCP 服务器向您的客户端提供路由信息。它为客户端提供 IP 地址、DNS(查找)信息和路由。尽管最常见的是,这仅适用于前面提到的默认路由,而不是整个路由表。

答案3

您需要添加到 OpenVPN 服务器配置:

push "redirect-gateway def1"

这将通过 VPN 服务器网关设置 128.0.0.0 路由,所有流量将开始通过它流动

具有自定义路由的其余配置很可能不需要,因为 OpenWRT 中已经设置了上游和正确路由的 MASQUERADE

相关内容