v2rayN TUN 模式
v2rayN 的 TUN 模式能让不走系统代理的程序也经过代理。本页说明它和系统代理的区别、什么时候需要开、各系统上怎么开启,以及开启后无法上网怎么办。
系统代理和 TUN 的区别
| 系统代理 | TUN 模式 | |
|---|---|---|
| 原理 | 设置操作系统的代理地址,程序自己决定是否使用 | 建一块虚拟网卡,系统的流量经过它再交给内核 |
| 能代理的程序 | 读取系统代理的程序,主要是浏览器 | 几乎所有程序 |
| 权限 | 普通权限 | Windows 需要管理员权限;macOS / Linux 可能要求系统密码 |
| v2rayN 里的开关 | 「自动配置系统代理」 | 「启用 Tun」 |
v2rayN 官方 wiki 的说法是:系统代理是把操作系统「部分软件(比如浏览器)」的流量转发到内核。所以浏览器能用、其他程序不能用,是系统代理的正常表现,不是故障。
在 v2rayN 里开启 TUN
-
先按 v2rayN 使用教程 导入订阅、把节点「设为活动」,确认浏览器能正常走代理。
-
Windows:关闭 v2rayN,右键
v2rayN.exe→「以管理员身份运行」。 -
在主界面打开「启用 Tun」开关。
-
打开之前上不了的程序测试。
Tun 模式设置
在设置里的「Tun 模式设置」可以调整(说明来自 v2rayN 官方 wiki):
| 设置 | 说明 |
|---|---|
| 协议栈 | system / gvisor / mixed,默认 gvisor;没问题的话建议 mixed。Xray 内核只支持 gvisor |
| MTU | 默认 9000;可以尝试更大值,出现异常就调小 |
| 自动路由、严格路由 | 由 TUN 自动接管系统路由;一般保持默认 |
| ICMP 路由策略 | 仅 sing-box 内核支持,决定 ping 等 ICMP 流量怎么处理 |
开了 TUN 还是不行
- DNS 问题:网站打不开但 IP 能通,多半是 DNS。保持路由为「绕过大陆」,必要时在 DNS 设置里恢复默认。
- 和其他软件冲突:其他 VPN、加速器、虚拟机网卡可能抢路由,先关掉它们再试。
- 还是不行:把 TUN 关掉,确认系统代理模式下节点本身是好的;再按 问题排查 的「TUN 模式无法上网」处理。
什么时候需要开 TUN 模式?
浏览器能上、但某个程序上不了时。例如部分游戏、命令行工具(git、npm 等)、某些桌面客户端,它们不读取系统代理设置。只用浏览器的话,系统代理就够了。
开了 TUN 之后完全上不了网?
依次检查:是否以管理员身份运行;协议栈换成 gvisor 或 mixed 试试;路由是否选了「绕过大陆」;关掉其他 VPN 和加速器。官方对 TUN 问题的统一回复是去看相关 issue 和讨论,常见原因包括 DNS 和与其他虚拟网卡冲突。
怎么让 v2rayN 开机就以管理员身份启动 TUN?
官方 wiki 说明:以管理员权限设置「开机启动」,启动后就有管理员权限,可以直接启用 Tun 模式。
macOS 和 Linux 能开 TUN 吗?
能,v2rayN 的 macOS 和 Linux 版也有 TUN 模式,开启时可能要求输入系统密码。macOS 上自动配置系统代理不生效时,也可以改用 TUN。
v2rayNG 有 TUN 模式吗?
安卓的 v2rayNG 本身就是通过系统 VPN 接口工作的,相当于所有应用都走代理,不需要另外开 TUN。