尽管没有请求,但所有流量都通过 OpenVPN

尽管没有请求,但所有流量都通过 OpenVPN

我在 Ubuntu 机器上有一个 bash 脚本,它可以搜索最快的 openvpn 服务器,连接并将一个程序绑定到 tun0 接口。不幸的是,所有流量都通过 VPN 传输。有人知道发生了什么吗?

相关内容如下:

openvpn --daemon --config $cfile --auth-user-pass ipvanish.pass --status openvpn-status.log

当我输入时,iptables 中似乎没有任何条目sudo iptables --list

配置文件如下所示:

client
dev tun
proto tcp
remote nyc-a04.ipvanish.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
ca ca.ipvanish.com.crt
tls-remote nyc-a04.ipvanish.com
auth-user-pass
comp-lzo
verb 3
auth SHA256
cipher AES-256-CBC
keysize 256
tls-cipher DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA

那里没有任何东西可以通过 tun0 引导一切,所以也许这是 Ubuntu 的新奇事?我不记得过去发生过这种事。

编辑:这里是ip r ls

0.0.0.0/1 via 172.20.24.1 dev tun0 
default via 192.168.0.1 dev eth1  proto static 
128.0.0.0/1 via 172.20.24.1 dev tun0 
172.20.24.0/22 dev tun0  proto kernel  scope link  src 172.20.27.20 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.10  metric 1 
216.151.180.2 via 192.168.0.1 dev eth1 

并且 ifconfig 有一些混淆:

[$] <> ifconfig
eth0      Link encap:Ethernet  HWaddr *:*:*:*:*:*  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16 Memory:fdbc0000-fdbe0000 

eth1      Link encap:Ethernet  HWaddr *:*:*:*:*:*  
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: 2604:*:*:*:*:*:*:*/64 Scope:Global
          inet6 addr: fe80::223:54ff:fe07:6555/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19923223 errors:0 dropped:1 overruns:0 frame:0
          TX packets:35568399 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4692090933 (4.6 GB)  TX bytes:56325183667 (56.3 GB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:77741 errors:0 dropped:0 overruns:0 frame:0
          TX packets:77741 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:19058271 (19.0 MB)  TX bytes:19058271 (19.0 MB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:172.20.27.20  P-t-P:172.20.27.20  Mask:255.255.252.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:15810638 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36553479 errors:0 dropped:146946 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:872811046 (872.8 MB)  TX bytes:49841453877 (49.8 GB)

答案1

您可以在 .ovpn 配置文件中使用类似以下内容在客户端中配置拆分隧道:

route-nopull
route 172.20.24.0 255.255.252.0 vpn_gateway

第一行禁用路由。第二行添加静态路由。

您最好在服务器上解决这个问题,但我假设您正在寻找客户端解决方案。

答案2

看起来服务器配置为向客户端推送路由,例如

push "redirect-gateway"

你让客户端忽略所有路由

route-nopull

客户端配置文件中的指令。

相关内容