据了解,在非ROOTED设备中使用Android VPN Service API几乎不可能进行IP排除。
但我已经扎根了设备。所以我先连接VPN(openvpn)。 之后来自ADB ROOT SHELL - 我运行以下命令
./ route add -net<>网络掩码255.255.255.255 gw 192.168.1.1
例如,如果我运行以下命令
./ route add -net 141.101.120.15 netmask 255.255.255.255 gw 192.168.1.1
直接进入whatismyip [DOT] com的所有流量(不通过VPN) 因此whatismyip.com在其主页上报告我的本地ISP IP。
通过这些方式,我可以从VPN路径中排除IP。这在ICS和果冻中运行良好,没有任何问题。
但是同样的程序在KITKAT中没有用。我在 4.4.2和4.4.4
中进行了测试如果我修改路由,流量仍会通过VPN路径。 Whatismyip.com在其主页上显示VPN服务器IP。
我的KITKAT路由表显示以下与ICS和果冻相同。命令在路由表中成功执行..但只是不工作..
任何人都可以指出我需要为KITKAT做出哪些改变。
**Fresh Routing Table**
ip route
default via 192.168.1.1 dev wlan0
default via 192.168.1.1 dev wlan0 metric 324
192.168.1.0/24 dev wlan0 scope link
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.2 metric 324
192.168.1.1 dev wlan0 scope link
**After VPN Connected**
ip route
default via 192.168.1.1 dev wlan0
default via 192.168.1.1 dev wlan0 metric 324
172.22.1.4/30 dev tun0 proto kernel scope link src 172.22.1.6
192.168.1.0/24 dev wlan0 scope link
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.2 metric 324
192.168.1.1 dev wlan0 scope link
**After whatismyip.com [141.101.120.15] exclusion**
ip route
default via 192.168.1.1 dev wlan0
default via 192.168.1.1 dev wlan0 metric 324
**141.101.120.15 via 192.168.1.1 dev wlan0**
172.22.1.4/30 dev tun1 proto kernel scope link src 172.22.1.6
192.168.1.0/24 dev wlan0 scope link
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.2 metric 324
192.168.1.1 dev wlan0 scope link
谢谢