通过 VPN 路由更多流量

通过 VPN 路由更多流量

我正在使用openvpn以下配置连接到 VPN 服务器:

remote openvpn.vpn.domain.tld
port 1194
proto udp

dev tun
client
auth-user-pass login.conf
keepalive 10 60

运行后openvpn /etc/openvpn/client/myconf.conf,输出ip route如下:

default via 192.168.1.1 dev wlp2s0 src 192.168.1.25 metric 303 
129.31.0.0/16 via 129.31.250.1 dev tun0 
129.31.250.0/24 dev tun0 proto kernel scope link src 129.31.250.111 
146.169.0.0/16 via 129.31.250.1 dev tun0 
146.179.0.0/16 via 129.31.250.1 dev tun0 
155.198.0.0/16 via 129.31.250.1 dev tun0 
172.16.0.0/12 via 129.31.250.1 dev tun0 
192.168.1.0/24 dev wlp2s0 proto kernel scope link src 192.168.1.25 metric 303

这会通过 VPN 重定向部分流量,这通常足以满足我的目的,但有时我想重定向全部互联网流量。我知道配置redirect gateway def1中的选项openvpn或多或少可以做到这一点,但我想要一个更灵活的手动解决方案。我认为通过以下方式添加默认路由:

ip route add default via 129.31.250.1 dev tun0

会这样做,但是当我发出该命令时,我的浏览器无法再加载网站,所以我认为它出了问题。有人知道问题可能出在哪里吗?

编辑:不知何故,使用0.0.0.0/1而不是default似乎解决了问题......如果有一个原因,我仍然有兴趣了解它。

答案1

使用“0.0.0.0/1”而不是“默认”并不能解决问题。最好的情况是,它隐藏了它。

问题是,如果您将默认路由设置到隧道中(没有到 VPN 端点的更具体的路由),您也会更改openvpn用于连接到 VPN 远程端点的路由。换句话说,openvpn 不再知道如何到达远程 VPN 端点。

您需要设置到远程 VPN 提供商 ( openvpn.vpn.domain.tld) 的静态路由,以通过原始的非 VPN 互联网连接。

例如,假设在接口上wlp2s0

ip route add openvpn.vpn.domain.tld dev wlp2s0

顺便说一句,您可能还需要为您的 ISP 网络和/或他们为您提供的任何基本服务(例如 DNS、邮件服务)设置一条(或多条)路由,以通过该连接。您的 ISP 可能只向他们拥有或知道其下游的 IP 地址提供这些服务(即不向世界另一端的某些 VPN 提供商拥有的随机 IP 地址)。

相关内容