**这是本文档旧的修订版!**
使用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之类可以分流的代理,就比较舒服,可以自动切分 <code bash> 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 </code> 如果中间遇到错误,可以删除tun设备
sudo ip link del tun0 2>/dev/null可以删除默认路由sudo ip route add default然后恢复默认路由,根据之前 ip route记录的内容:sudo ip route add default via 172.25.128.1 dev eth0
评论