01

虚拟网卡把不听话的程序一并接管

TUN 会建一块虚拟网卡,让系统把流量都交给它。程序不需要知道代理是什么,包发出来就进了这块网卡,剩下的交给内核处理。不认系统代理的游戏、下载工具、命令行程序,就是这样被接管的。

代价是它工作在更底层。系统代理出问题顶多是某个浏览器不通,TUN 出问题是整台机器一起不通。

另外有个前提:Windows 要先装服务模式,macOS 和 Linux 第一次开会要求输管理员密码装辅助组件。没做这一步,开关会自己弹回去。

开关自己弹回去不算故障
那只是说明需要更高权限的那部分还没到位。先把服务装上,再回来拨开关。

合作推荐订阅链接从哪来?本站合作机场注册即送 1GB 香港高速体验流量,可直接一键导入。获取高速节点
02

开之前先把这三件事定下来

  1. 1

    把系统代理关掉

    两个都开不会更快。覆盖面重叠之后,某个程序出问题你分不清它是从网卡进来的还是读了系统代理进来的,排查一下子变成猜谜。留一条路最好查。

  2. 2

    协议栈先别动

    设置里能选 gVisor、system、mixed 这几种实现。默认那个兼容性最好,先用着。等真的遇到某类流量异常再去换,而且换完要把 TUN 关一次再开,协议栈是网卡起来的时候确定的,不重开等于没换。

  3. 3

    想好哪些流量不该上网卡

    公司内网域名、局域网设备名、打印机和 NAS,这些最好在规则里提前放行。等到用的时候才发现访问不了,你会先怀疑设备而不是怀疑 TUN。

03

DNS 被一起接管之后

TUN 打开后 DNS 也归它管,这不是副作用,而是它能生效的关键:没有接管解析,流量就没法按域名分流。麻烦也出在这里,公司内网域名和局域网设备名可能解析不出来,或者解析出来又被送去了远端节点。在规则里给内网网段和这些域名加 DIRECT,或者在 DNS 配置里让它们走本地服务器,就能放行。至于游戏,TUN 对 UDP 的支持比系统代理好,但真实体验取决于你选的节点支不支持 UDP 转发,节点不支持的话换什么模式都一样。

  • 开着 TUN 就把系统代理关掉
  • 内网网段和设备名在规则靠前的位置走 DIRECT
  • 换过协议栈就把 TUN 关一次再开
04

常见问题

TUN 和系统代理能不能同时开?

能开,但基本没必要。两者覆盖面大部分重叠,同时开不会更快,只会多一层不确定:某个程序不对劲时,你没法判断它的包是走网卡进来的还是读了系统代理进来的。用 TUN 就把系统代理关掉,只留一条路最好定位。

开了 TUN 之后,局域网里的 NAS 和打印机访问不了了?

路由和 DNS 都被虚拟网卡接管了,设备名解析不出来,或者解析出来又被送去了代理。在规则列表靠前的位置给你的内网网段和设备名加一条 DIRECT,再在 DNS 配置里让这些域名走本地 DNS。另外 fake-ip 默认段是 198.18.0.1/16,你的内网如果正好用到相近网段,也要一并排除。