01 什么是 TUN 模式
TUN(Network TUNnel)是操作系统内核提供的一种虚拟网络接口。开启 TUN 模式后,Terraka 会在系统中创建一张虚拟网卡,并把所有需要走代理的流量通过这张网卡接管——包括那些不支持系统代理设置的应用程序。
与传统的 HTTP/SOCKS 代理相比,TUN 模式工作在更低的网络层。它的优势是不需要每个 App 单独配置,劣势是需要更高的系统权限。
在 Terraka 里,TUN 开关只有 Windows 版有;Android、iOS(含 Apple 芯片 Mac 上运行的 iOS 版)始终通过系统 VPN 接管流量,没有这个开关。
典型场景
命令行工具(如 git、npm、curl)、Docker 容器、绕过代理设置的桌面应用——这些都需要 TUN 才能完整接管。
02 所需系统权限
由于 TUN 创建虚拟网卡并修改系统路由表,启用时需要以下权限:
- macOS(Apple 芯片):运行 iOS 版 Terraka,没有 TUN 开关;首次连接时系统弹出「添加 VPN 配置」请求,用 Touch ID 或登录密码确认即可。
- Windows:管理员权限,并需要安装 WinTun 驱动(Terraka 安装包已捆绑,自动注册)。
注意
TUN 模式启用后,系统所有出站流量都会经过 Terraka。退出客户端前请先关闭 TUN,避免网络中断。
03 macOS:系统 VPN 接管
macOS 现在运行 iOS 版
传统 macOS 桌面客户端已停止维护。搭载 Apple 芯片(M1 及以上)的 Mac 直接安装、运行 iOS 版 Terraka(通过 TestFlight,见下载页)。它没有 TUN 开关,连接时经系统 VPN 接管流量。Intel Mac 不再支持。
- 打开 Terraka
在 Mac 上启动已通过 TestFlight 安装的 iOS 版 Terraka。
- 连接
导入订阅、选好节点后点 连接。Mac 上运行的 iOS 版没有
TUN 模式开关,连接时就经系统 VPN 接管流量。首次连接时,macOS 会弹出「Terraka 想要添加 VPN 配置」。 - 授予权限
用 Touch ID 或登录密码确认,允许添加 VPN 配置——系统随即创建 utun 虚拟网卡。
- 验证生效
连接成功后,在 Mac 的「终端」里执行下方命令验证:能看到 utun 接口、出口 IP 变成代理 IP,说明连接已生效。
$ 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 群组 里贴上 设置 → 关于 → 复制诊断信息 的输出,开发者会直接帮你看。