如何禁用通过 OpenVPN 路由所有网络流量?

如何禁用通过 OpenVPN 路由所有网络流量?

我在家里的一台 Ubuntu 机器上安装了 OpenVPN,但当我连接到它时,我的所有网络流量都会经过它。我不希望发生这种情况。

我希望能够只看到本地 LAN 网络,但不路由所有流量。

这怎么可能呢?

谢谢!

答案1

凝结汤姆·延将 的评论转化为答案:

  • redirect-gateway确保你的客户端配置中没有以下行
  • 添加以下行以过滤redirect-gateway从 VPN 服务器拉取的任何设置:
拉动过滤器忽略重定向网关

该方法记录在https://community.openvpn.net/openvpn/wiki/IgnoreRedirectGateway,但它只提到了--pull-filter命令行参数,而不是如何将其添加到配置文件中。

为了完整性,那里还提到了另外两种方法:

  • 忽略所有带有route-noexec或 的路线route-nopull
  • 使用一组route指令覆盖它们。即使使用手动路由,这应该也能正常工作redirect-gateway def1(通过提供四个/2子网来覆盖def1的两个/1路由):
route 0.0.0.0 192.0.0.0 net_gateway
route 64.0.0.0 192.0.0.0 net_gateway
route 128.0.0.0 192.0.0.0 net_gateway
route 192.0.0.0 192.0.0.0 net_gateway

答案2

如果你使用 Ubuntu 机器作为 OpenVpn 服务器,你可以在以下位置找到 OpenVpn 服务器配置

/etc/openvpn/server.conf

或者

/etc/openvpn/server/server.conf

如果你 cat 这个文件它看起来会像这样

ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway def1 bypass-dhcp"
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_3BYLUHGJfabF8i1.crt
key server_3BYLUHGJfabF8i1.key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 3

您必须评论## push "redirect-gateway def1 bypass-dhcp"并添加要通过此 VPN 服务器的特定流量子网,例如

push  "route 10.2.2.100 255.255.255.255" ## some internet server
push  "route 54.201.1.19 255.255.255.255" ##example.com

保存此配置文件后,你可以重新启动OPENVPN服务

systemctl restart [email protected]

答案3

转到 Ubuntu 网络设置中的 VPN 设置可能会有所帮助。然后转到 IPv4 并关闭自动。这似乎取决于 VPN 服务器配置中的设置,但对于某些服务器,在客户端更改此设置可能会阻止通过 VPN 服务器发送所有流量

相关内容