遇到浏览器能访问、其他程序却不走代理时,先确认程序是否读取系统代理,再考虑 TUN。本文以 Windows 桌面上的 v2rayN 为操作主线,说明提权、启用 Tun、核对路由与 DNS、排查虚拟网卡冲突的方法。完成后应能区分“流量进入客户端”和“流量通过代理出站”,并保留随时退回系统代理的路径。
一、区分 TUN 接管与系统代理
系统代理向支持该设置的应用提供代理入口。浏览器通常会读取系统代理,但部分游戏、命令行工具或后台服务会使用自己的网络设置。此时,即使 v2rayN 已设置系统代理,应用也可能直接联网。应用支持手动配置代理时,可以先配置应用,不必立即开启 TUN。
TUN 在网络层提供虚拟接口。配合系统路由,原本直接发出的 IP 数据包可以进入客户端的处理链,再按规则选择直连、代理或阻断。它不要求每个应用主动读取系统代理,但也不等于能覆盖所有网络环境、所有进程和所有协议。
把“全局接管”和“全局代理”分开理解:前者描述流量进入处理链的范围,后者描述出站策略。开启 TUN 后,局域网地址和命中直连规则的网站仍可能直接访问;若要让可接管的外部流量统一走代理,还要调整路由策略,并确认节点支持相关传输。
| 检查项 | 系统代理 | TUN 模式 |
|---|---|---|
| 接入方式 | 应用连接本地代理入口 | 路由将 IP 数据包送入虚拟接口 |
| 应用要求 | 读取系统代理或手动配置代理 | 通常不需要应用单独设置代理 |
| 系统权限 | 设置当前用户代理通常不必提权 | 创建接口、修改路由通常需要提权 |
| 出站选择 | 由客户端路由规则决定 | 仍由客户端路由规则决定 |
二、启用前检查节点、权限与网络环境
先在系统代理模式下确认一个已导入的配置能正常访问目标网站。TUN 不会修复失效订阅、过期凭据、错误的服务器地址或 TLS 配置。VMess、VLESS 等描述代理协议;TUN 描述本机接管方式,两者不是可互相替换的配置类型。
- 记录当前配置。记下活动服务器、路由模式、DNS 设置和系统代理状态。记录本地监听端口时,以「设置」→「参数设置」中实际显示的值为准,不照抄其他电脑。
- 保留完整程序目录。按下载包的发行形态安装或解压,不只移动主程序。TUN 所需核心及配套文件必须能被客户端找到。
- 暂停其他接管工具。先断开其他 VPN 或虚拟网卡接管服务。不要同时让多个程序争用默认路由,再尝试判断是哪一层出错。
- 确认设备权限。在受管理的工作电脑上,先遵守管理员策略。不要为开启 TUN 而关闭安全软件或修改组织下发的安全设置。
三、在 Windows 上打开 v2rayN Tun
以下按常见桌面界面说明。不同发行分支的开关位置、大小写和提权方式可能不同;先找主界面的「启用 Tun」,再查看「设置」→「参数设置」中的「Tun 模式设置」。若当前界面名称不同,以包含 Tun 的实际选项为准,不要套用旧版截图修改不相干的参数。
- 退出正在运行的实例。从托盘菜单退出 v2rayN,避免新启动的提权实例仅唤起原有普通权限窗口。
- 以管理员身份运行。在 Windows 中右键程序,选择「以管理员身份运行」,确认系统权限提示。若客户端已提供提权或服务方式,按该版本的说明操作,不重复安装来源不明的驱动。
- 选中可用服务器。确认当前活动配置正确。保留已验证的路由方案,首次排查时不要同时改节点、DNS 和路由。
- 检查 Tun 参数。打开「设置」→「参数设置」,查看 Tun 相关设置。首次使用先保留默认网络栈、MTU 等参数;保存后返回主界面。
- 开启「启用 Tun」。等待核心启动,查看日志中是否出现接口、权限、路由或配置错误。开关亮起只表示已发出启用操作,不能替代联网验证。
- 隔离系统代理影响。确认 TUN 已启动后,将系统代理切到「清除系统代理」,再测试原先不读取代理的程序。这样可避免浏览器仍经系统代理成功,掩盖 TUN 实际未接管的问题。
macOS 和 Linux 的 v2rayN 同样需要满足虚拟接口与路由操作的权限要求,但不能照搬 Windows 的右键提权步骤。使用对应平台发行包,并按该发行版的权限提示操作。本文不提供通用的整套提权命令,避免把桌面程序长期放在不必要的高权限环境中。
四、核对路由、DNS 与 UDP
TUN 启动后,先保留合理的局域网直连规则,再检查外部域名的分流。访问公司内网、打印机或路由器管理页时,所需地址可能属于专用网段。若这些请求被送往远端代理,即使外网能用,内网也可能中断。
这两个端口是协议常见值,不是要求填入 v2rayN 的本地监听端口。DNS 是否受 TUN 接管,取决于生成配置中的 DNS 路由、劫持规则以及应用自身的解析方式。浏览器单独启用加密 DNS 时,查询可能通过 HTTPS 发出,不能仅凭没有看到 53 端口流量就认定发生故障。
- 检查解析器能否到达。远程 DNS 如果需要代理访问,其自身连接必须有可用出站;否则可能形成解析等待或启动阶段的依赖循环。
- 区分解析与连接。解析成功只表示获得了地址,不代表目标端口可以连通;连接超时也不一定是 DNS 污染。
- 保留节点地址的解析路径。节点服务器若使用域名,必须能在代理建立前完成必要的解析,避免所有解析都依赖尚未启动的代理。
- 单独验证 UDP。游戏、语音和部分应用会用 UDP。TUN 可以处理相关流量,但代理协议、节点服务端及沿途网络也必须支持;仅网页可用不能证明 UDP 可用。
结论:先固定出站,再单独调整 DNS
保留一个已验证的节点和一套明确的路由规则,每次只修改一项 DNS 设置。修改后同时复测外部网站与局域网资源,确认没有用外网恢复换来内网中断。
五、验证接管结果,不只看开关
验证时选择同一个目标、同一个应用,分别记录开启与关闭 TUN 的表现。若应用本身配置了 HTTP 或 SOCKS 代理,先记录并暂时关闭该配置,否则无法判断成功连接究竟来自应用代理还是虚拟网卡。
- 先测普通网页。在清除系统代理的状态下访问目标网站,确认基本连接正常。不要只看浏览器缓存页面,应重新发起请求。
- 再测目标程序。启动原先不读取系统代理的应用,并同步观察客户端连接信息或日志。若日志支持显示规则、目标和出站,重点核对实际命中的出站。
- 检查本地资源。访问实际使用的路由器管理地址、局域网服务或共享资源。不要凭空假设所有家庭网络都使用同一个网段。
- 做一次关闭对照。关闭 TUN 后再次测试,再重新开启。若表现完全相同,先检查目标是否本来就能直连,而不是立刻认定接管失败。
Windows 上可用下面的只读命令辅助查看接口与路由。它们不会修改配置,也不能单独证明流量通过了代理;需要与应用请求和客户端日志一起判断。接口名称由系统与核心决定,不必寻找固定名称。
ipconfig /all
route print
powershell -NoProfile -Command "Get-NetAdapter | Format-Table Name,InterfaceDescription,Status"
六、处理启动失败、断网与局域网冲突
点了「启用 Tun」,为什么马上又关掉?
先看紧邻启动操作的第一条错误。出现权限不足时,退出托盘实例后重新提权运行;出现核心文件缺失时,恢复完整发行包;出现配置字段错误时,先撤回最近修改的 Tun 参数。不要连续切换开关覆盖关键日志。
开启后所有网站都打不开,先改哪里?
先关闭 TUN,恢复原先可用的系统代理,确认节点仍可用。节点正常后,再检查 TUN 日志中的 DNS 和路由错误,并暂停其他 VPN。一次只恢复一个接管工具,避免多个默认路由互相影响。
网页正常,但游戏或语音仍然连不上?
确认应用没有绑定另一张网卡,再检查节点是否支持所需 UDP 转发。不要把浏览器 HTTPS 成功当作 UDP 成功。保留应用的具体报错和发生时间,配合客户端日志判断是连接被拒绝、超时还是规则分配错误。
外网能用,打印机和公司内网却失联了?
检查内网目标的实际地址及命中的规则,保留相应直连路径。公司 VPN 可能使用专用路由和内部 DNS,先关闭 TUN 验证冲突;受管理设备应交由管理员协调,不要通过删除系统路由强行绕过策略。
退出客户端后还是断网,怎么恢复?
优先重新启动 v2rayN,关闭 TUN 后正常退出,再检查系统代理是否已清除。确认没有其他接管服务后,必要时重启电脑以清理临时接口和路由。不要直接删除不认识的网卡,也不要清空整张路由表。
七、保留回退路径,再决定是否常开
只需要浏览器代理时,系统代理通常更容易观察和维护。确实需要接管不读取代理的程序,再使用 TUN。能否常开取决于当前路由、DNS、休眠唤醒和网络切换的表现,而不是开关是否长期保持启用。
- 切换网络后复测。从有线改为无线、从家庭网络改为办公网络后,重新检查外部访问与内网资源。
- 升级后核对设置。客户端和核心更新可能改变参数支持范围。先保留可恢复的配置,再检查启动日志,不把旧配置片段直接拼入新版本。
- 按顺序回退。先关闭 TUN,再按需要恢复系统代理,最后确认目标应用和局域网资源均已恢复。
需要重新导入订阅或确认基础代理流程时,先回到使用指南完成基础连接,再返回启用 TUN。把节点可用性、系统代理、虚拟网卡和分流规则分层检查,通常比同时更改多个开关更容易定位问题。