**这是本文档旧的修订版!**

使用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 add default 然后恢复默认路由,根据之前 ip route记录的内容: sudo ip route add default via 172.25.128.1 dev eth0

评论

请输入您的评论. 可以使用维基语法:
 
linux/网络系统/使用tun强制临时接管整个系统.1782893802.txt.gz · 最后更改: 2026/07/01 08:16