01 什么是 TUN 模式
TUN(Network TUNnel)是操作系统内核提供的一种虚拟网络接口。开启 TUN 模式后,Terraka 会在系统中创建一张虚拟网卡,并把所有需要走代理的流量通过这张网卡接管——包括那些不支持系统代理设置的应用程序。
与传统的 HTTP/SOCKS 代理相比,TUN 模式工作在更低的网络层。它的优势是不需要每个 App 单独配置,劣势是需要更高的系统权限。
典型场景
命令行工具(如 git、npm、curl)、Docker 容器、绕过代理设置的桌面应用——这些都需要 TUN 才能完整接管。
02 所需系统权限
由于 TUN 创建虚拟网卡并修改系统路由表,启用时需要以下权限:
- macOS:「网络扩展」权限(首次启动时弹出请求),需要管理员密码确认。
- Windows:管理员权限,并需要安装 WinTun 驱动(Terraka 安装包已捆绑,自动注册)。
注意
TUN 模式启用后,系统所有出站流量都会经过 Terraka。退出客户端前请先关闭 TUN,避免网络中断。
03 启用步骤 (macOS)
- 打开 Terraka 设置
点击菜单栏图标,选择「设置」→「内核」→「TUN 模式」。
- 切换到 TUN 模式
打开
启用 TUN 模式开关。系统会弹出「网络扩展」权限请求。 - 授予权限
点击「打开系统设置」,在弹出的面板中允许 Terraka 添加 VPN 配置——输入登录密码确认。
- 验证生效
回到 Terraka,TUN 状态变为
● 已启用。可执行下方命令验证。
$ ifconfig | grep utun
utun5: flags=8051
inet 198.18.0.1 ...
$ curl -s ifconfig.me
203.0.113.42 # 代理 IP $ ifconfig | grep utun
# 无 utun 接口
$ curl -s ifconfig.me
192.0.2.10 # 本地 IP 04 启用步骤 (Windows)
- 以管理员身份运行
右键 Terraka 图标 → 「以管理员身份运行」。TUN 模式必须管理员权限。
- 安装 WinTun 驱动(首次)
首次启用时会自动安装,可能弹出 UAC 提示——点击「是」。安装包内已捆绑驱动,无需单独下载。
- 开启 TUN
右下角托盘图标 → 「TUN 模式」 → 切换为「开」。
- 验证生效
命令行执行
ipconfig,应看到名为Terraka Tunnel的虚拟网卡,状态为「已启用」。
开机自启(可选)
如果希望 Terraka 与 TUN 模式开机自动运行,在「设置 → 系统」中勾选 开机自启 与 启动后自动开启 TUN。注意首次开启需手动确认 UAC,之后会通过任务计划程序静默启动。
05 常见问题排查
部分网站打不开
多为 IPv6 路由问题。Terraka 的 TUN 默认只接管 IPv4,部分双栈网站会优先尝试 IPv6 而绕开代理。在「TUN 设置」中启用 IPv6 hijack 通常即可解决;若仍有问题,关闭系统 IPv6 作为临时方案。
DNS 泄漏
TUN 模式下 DNS 查询应当走代理。如果使用 dnsleaktest.com 检测到本地 ISP 的 DNS,请检查:
- 「DNS 设置」中
劫持 DNS 请求是否开启 - 规则中是否有
DOMAIN-SUFFIX,local → DIRECT之类的本地域名直连,泄漏可能由此产生
断流或频繁掉线
检查节点延迟稳定性。TUN 模式下,节点切换会有 1-2 秒断流——这是底层路由表更新的正常现象。若持续断流,建议:
- 切换到延迟更稳定的节点(< 100ms 优先)
- 关闭再开 TUN 模式重置路由表
- 临时回退到「系统代理」模式作对比
仍然没解决?
到 Telegram 群组 里贴上 设置 → 关于 → 复制诊断信息 的输出,开发者会直接帮你看。