本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。 ====== 使用tun强制临时接管整个系统 ====== 在WSL环境,或者linux环境中,有时候,单纯 http_proxy 或者 https_proxy是不够的。有些程序已经在运行中,或者压根不受环境变量的控制。 我们可以使用tun机制强行接管流量,完成特定的安装初始化任务。 ===== 观察并记录当前的路由 ===== <code bash> ip route # 打印并记录当前的路由万一后续要恢复 # 特别是 default路由,我们准备修改这条 </code> ===== 创建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 delete default'' 然后恢复默认路由,根据之前 ip route记录的内容: ''sudo ip route add default via 172.25.128.1 dev eth0''