如何强制所有流量通过 VPN?

如何强制所有流量通过 VPN?

我在服务器上设置了 openVPN,并且我在客户端上使用 openVPN 连接。我需要访问一些内部网站,但其中一些网站无法正常工作。我想确保流量通过 VPN 而不是通过正常的互联网连接。我的网络的网关 IP 是 192.168.0.1,openVPN 的网关是 10.8.0.1。我已完成跟踪路由,结果显示无法正常工作的网站访问 192.168.0.1 而不是 10.8.0.1。我该如何强制所有流量通过 VPN?我运行的是 Windows 7 作为客户端,Ubuntu 10.04 作为服务器。

答案1

来自OpenVPN 操作方法文档

执行

将以下指令添加到服务器配置文件:

推“重定向网关 def1”

如果您的 VPN 设置是通过无线网络进行的,其中所有客户端和服务器都在同一个无线子网上,请添加本地标志:

推“重定向网关本地 def1”

将重定向网关选项推送到客户端将导致所有来自客户端计算机的 IP 网络流量都通过 OpenVPN 服务器。需要配置服务器以某种方式处理此流量,例如通过 NAT 将其发送到互联网,或通过服务器站点的 HTTP 代理进行路由。

在 Linux 上,您可以使用如下命令将 VPN 客户端流量通过 NAT 传输到互联网:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

此命令假定 VPN 子网为 10.8.0.0/24(取自 OpenVPN 服务器配置中的服务器指令)并且本地以太网接口为 eth0。

使用重定向网关时,OpenVPN 客户端将通过 VPN 路由 DNS 查询,VPN 服务器将需要处理这些查询。这可以通过将 DNS 服务器地址推送到连接的客户端来实现,在 VPN 处于活动状态期间,该地址将替换其正常的 DNS 服务器设置。例如:

push "dhcp-option DNS 10.8.0.1" 将配置 Windows 客户端(或具有一些额外服务器端脚本的非 Windows 客户端)使用 10.8.0.1 作为其 DNS 服务器。任何可从客户端访问的地址均可用作 DNS 服务器地址。

答案2

如果要在客户端进行配置,请输入

redirect-gateway def1

在您的 client.ovpn 文件中。

答案3

我遇到了同样的问题,但上述解决方案对我没有用。在我的 openvpn 配置中,我必须编写

重定向网关 def1

没有推动,也没有引号-然后它就起作用了。

客户端是 Windows 10 1607,带有 OpenVPN 3.2.12。

相关内容