先确认节点可用,再以管理员身份启动 v2rayN,开启 TUN 并验证路由与 DNS。本文适合遇到“浏览器能访问,终端或游戏却不通”的用户。读完可以区分系统代理、虚拟网卡接管与全局代理规则,并按检查清单恢复异常网络。
一、先分清系统代理、TUN 与全局代理
系统代理是操作系统提供给应用的代理设置。应用愿意读取这些设置,才会把请求交给本地代理入口。浏览器通常能够使用系统代理;部分命令行工具、游戏和自行建立网络连接的程序则不会读取它。出现浏览器正常、其他程序失败时,先判断程序是否支持代理,不要立即更换节点。
TUN 是工作在网络层的虚拟网络接口,用来收发 IP 数据包。客户端建立虚拟网卡并配置路由后,可以把匹配路由的连接送入代理处理链,不要求每个应用单独支持 HTTP 或 SOCKS 代理。HTTP 是常见的网页通信协议;SOCKS 则是一种转发应用连接的代理协议。
| 比较项 | 系统代理 | TUN 模式 |
|---|---|---|
| 接管位置 | 应用使用代理设置后转发请求 | 通过虚拟网卡与系统路由接收 IP 数据包 |
| 应用要求 | 需要支持系统代理或手动设置代理 | 通常不要求应用提供代理选项 |
| UDP 流量 | 系统 HTTP 代理通常不能覆盖 | 具备接管条件,仍取决于内核、规则与节点支持 |
| 启动权限 | 一般不需要管理员权限 | 创建网卡、修改路由时通常需要提权 |
| 实际出站 | 由客户端路由规则决定 | 同样由客户端路由规则决定 |
结论:先选接管方式,再选分流规则
TUN 不等于所有连接都走远端节点。需要接管不读代理设置的程序时再开 TUN;需要改变哪些目标走代理时,再调整路由规则。两项设置分开验证,更容易定位问题。
二、虚拟网卡怎样把流量交给节点
应用发起连接后,系统先查路由表。符合 TUN 路由的流量进入虚拟网卡,再由处理内核读取并匹配规则。规则可以决定直连、代理或阻断。因此,“接管全局流量”描述的是覆盖范围,不代表每一条连接都经过代理服务器。
v2rayN 是管理配置与调用内核的客户端界面,不应把它与 V2Ray 或 Xray 内核画等号。TUN 的具体实现取决于客户端版本及所调用的内核;部分版本通过 sing-box 承担 TUN 处理。节点使用 VMess 或 VLESS,并不能单独说明本机 TUN 的实现方式。
- 保留服务器连接出口:客户端连接代理服务器本身时,必须避免再次绕入自己的 TUN,形成路由回环。优先使用客户端生成的路由,不要随意叠加手工默认路由。
- 单独检查 DNS:DNS 是将域名转换成 IP 地址的解析服务。解析失败时,请求可能根本没有进入远端连接阶段,换节点未必有用。
- 不要把游戏等同于 UDP:游戏可能同时使用 TCP 与 UDP。TCP 连接成功,只能证明其中一类链路可用。
三、开启前保存配置,确认本地入口
以下以 Windows 上的 v2rayN 7.x 桌面界面为操作参照。不同小版本的按钮位置与设置分组可能变化;以实际界面的「启用 TUN」及 TUN 参数名称为准,不要照着其他版本截图寻找完全相同的布局。开始前记录现用版本、选中节点、路由模式和本地监听端口。
普通代理基线
- 活动配置
- 选择已导入且可用的节点
- 系统代理
- 先用于验证浏览器连接
- 本地入口
- 记录实际 SOCKS 或混合监听端口
- 备份内容
- 订阅、路由与 DNS 设置
先证明节点可用,再引入虚拟网卡这一变量。
TUN 启动条件
- 运行权限
- 以管理员身份启动
- 处理内核
- 客户端要求的内核文件齐全
- 其他隧道
- 测试期间暂停可能冲突的连接
- 路由与 DNS
- 先保留客户端默认方案
在授权管理的设备上操作,不绕过组织的网络策略。
下面三个数字是排查中常用的端口,不是测速结果,也不是所有版本的固定默认值。尤其是本地代理端口,必须到「设置」→「参数设置」中核对监听配置,不能只凭旧教程填写。
四、在 v2rayN 中提权并开启 TUN
- 验证现有节点。选中准备使用的配置,暂时用系统代理访问一个已知可访问的 HTTPS 页面。若普通代理也失败,先处理订阅、服务器地址、认证或网络问题。
- 完整退出客户端。从托盘菜单退出 v2rayN,不要只关闭主窗口。仍在托盘运行的旧进程可能让重新启动继续沿用原来的权限。
- 以管理员身份运行。右键 v2rayN 程序或快捷方式,选择「以管理员身份运行」,确认系统授权提示。具备服务模式的版本也可能通过服务取得所需权限;首次排查先使用一种明确的提权方式。
- 检查 TUN 参数。进入「设置」→「参数设置」,找到当前版本的 TUN 设置分组。首次保持默认协议栈与 MTU,不要同时修改 DNS、网卡名称和路由。MTU 指单个网络包的最大传输单元。
- 开启「启用 TUN」。回到主界面启用对应开关,观察日志是否完成内核启动、网卡创建和路由配置。若提示缺少内核文件,使用完整发行包或客户端提供的更新入口补齐。
- 隔离系统代理影响。为验证 TUN 是否独立生效,将系统代理设为「清除系统代理」,但保持客户端与 TUN 运行。再测试浏览器和目标应用。
开启后可进入 Windows「设置」→「网络和 Internet」→「高级网络设置」查看网络适配器,也可以用下文命令检查。虚拟网卡出现只证明接口已创建,不代表节点、域名解析和目标应用都能正常工作。
五、用命令验证接管,而不是只看开关
先在同一个终端窗口做对照测试。第一条显式指定本地 SOCKS 入口,用于确认普通代理链路;第二条不使用应用代理,用于观察开启 TUN 后能否连接。示例端口为 10808,目标为公共示例域名,运行前应确认端口与当前节点策略。
curl.exe --proxy socks5h://127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://example.com
curl.exe --noproxy "*" --connect-timeout 10 --max-time 20 -I https://example.com
socks5h 表示通过 SOCKS 代理侧解析域名。--noproxy "*" 则让这次 curl 请求忽略应用层代理配置,但不会绕过系统路由或 TUN。Windows 使用 curl.exe,可避免部分终端环境把 curl 解析成其他命令。
Get-NetAdapter
Get-NetRoute -AddressFamily IPv4
Get-NetRoute -AddressFamily IPv6
Get-DnsClientServerAddress
- 对比开关前后:记录 TUN 关闭与开启时的接口及路由变化。不要要求一定出现某一条固定的默认路由;不同实现可能通过更具体的路由覆盖流量。
- 核对出站日志:观察同一次测试连接匹配了哪个目标与出站。请求成功并不能独自证明走了代理,因为直连规则也可能成功。
- 检查 IPv6:若应用优先连接 IPv6,而 TUN 只覆盖 IPv4,结果可能与浏览器不同。确认内核与规则是否支持并覆盖实际使用的地址族。
- 测试真实应用:重新启动目标游戏或命令行任务再试。已有的长连接未必会因切换模式立即重新建立。
结论:用“成功请求+对应出站日志”确认路径
第二条命令成功后,核对日志是否命中预期代理出站。若只是直连成功,应调整测试目标或路由规则,不能据此断言所有应用已经走代理。
六、处理 DNS、局域网和 UDP 的边界
优先修复解析,再调整分流。传统 DNS 常用 UDP 或 TCP 的 53 端口;加密 DNS 还可能通过 HTTPS 的 443 端口传输。仅接管 53 端口不能保证覆盖应用自带的加密 DNS。浏览器若开启独立的安全 DNS,应与客户端方案一起检查,避免两套设置互相干扰。
| 现象 | 优先检查 | 操作建议 |
|---|---|---|
| 域名失败,已有 IP 连接仍正常 | DNS 上游与解析出站 | 恢复默认 DNS 方案,查看解析超时日志,再单独修改一个上游 |
| 本地打印机或存储设备不可达 | 局域网目标是否误走代理 | 检查 192.168.0.0/16、10.0.0.0/8 等实际使用网段的直连规则 |
| 网页正常,游戏登录或语音失败 | UDP 支持与规则 | 确认节点服务支持 UDP,再检查游戏相关连接是否被阻断 |
| 少数页面卡住或上传中断 | MTU 与路径问题 | 记录原值后单项测试;可尝试 1400,但不将其当作通用最优值 |
局域网网段并非只有表中的两组。还应按实际环境检查 172.16.0.0/12、IPv6 本地地址及组织专用路由。不要把组织内网全部随意改为代理,也不要把未知公网地址段整段加入直连。
命令行工具并非必须使用 TUN。支持代理的工具可以配置环境变量或显式指定 SOCKS 入口;游戏若有可用的代理选项,也能采用其他路径。TUN 的价值是统一接管不读代理设置的连接,不是保证游戏降低延迟,更不能补足服务器端缺失的 UDP 能力。
七、常见问题与网络恢复顺序
开启就报权限不足,已经点过管理员运行了?
先从托盘彻底退出,再检查是否还有旧进程。重新右键程序选择「以管理员身份运行」。若仍失败,记录日志中的失败操作,区分网卡创建失败与文件访问失败;不要只反复切换开关。
浏览器能用,终端仍然连不上怎么办?
先清除系统代理,运行上文带 --noproxy "*" 的测试。若失败,检查 TUN 路由与出站日志;若成功,再检查终端工具自身的代理变量、证书配置和目标地址。
打开 TUN 后,其他隧道或办公网络断了?
先关闭 TUN 恢复办公连接,再比较两边路由。获准测试时一次只启用一个隧道;需要同时运行时,由网络管理员明确组织网段、DNS 与出口优先级,不要直接删除另一条隧道的路由。
关闭客户端后仍然不能联网,怎么恢复?
重新打开客户端,先关闭 TUN,再清除系统代理并正常退出。检查系统 DNS 是否仍指向失效的本地服务;原本使用自动获取的网络可恢复自动获取。仍异常时重连网络或重启,再检查残留配置。
Android 上的 v2rayNG 也要这样提权吗?
不需要照搬 Windows 步骤。v2rayNG 使用 Xray 内核,启动时通过 Android 的 VPN 授权接管流量,通常不需要 root。确认系统授权,并检查应用的分应用代理设置;排除列表里的应用不会按相同路径处理。
排查结束后,记录最终可用的节点、路由模式、DNS 方案与客户端版本。每次只改一个设置,失败就恢复原值。需要进一步理解直连与代理出站的匹配关系,可查看站内配置字段说明;首次导入订阅则从入门指南开始。