使用tun强制临时接管整个系统
在WSL环境,或者linux环境中,有时候,单纯 httpproxy 或者 httpsproxy是不够的。有些程序已经在运行中,或者压根不受环境变量的控制。
我们可以使用tun机制强行接管流量,完成特定的安装初始化任务。
观察并记录当前的路由
ip route
# 打印并记录当前的路由万一后续要恢复
# 特别是 default路由,我们准备修改这条
创建tun设备,并尝试接管流量
使用 https://github.com/xjasonlyu/tun2socks 项目 代码,下载发布的二进制,后续使用sudo操作
关键参数如下:
- 10.66.66.1/24 随便写的,不跟本地的lan冲突即可
socks5:172.25.128.1:7890是核心参数,要跟本地的socks5代理一致,而且最好是clash之类可以分流的代理,就比较舒服,可以自动切分
sudo ip tuntap add dev tun0 mode tun user $USER && \
sudo ip addr add 10.66.66.1/24 dev tun0 && sudo ip link set tun0 up && \
sudo ./tun2socks-linux-amd64-v3 -device tun://tun0 -proxy socks5://172.25.128.1:7890 -interface eth0 & \
sudo ip route add default via 10.66.66.1 dev tun0
如果中间遇到错误,可以删除tun设备 sudo ip link del tun0 2>/dev/null
可以删除默认路由 sudo ip route delete default 然后恢复默认路由,根据之前 ip route记录的内容: sudo ip route add default via 172.25.128.1 dev eth0
评论