安装 · 导入 · 接管 · 验证

全平台指南

这是一份面向实际配置过程的系统查阅手册,覆盖 Windows、macOS、Android 与 Linux。若只想尽快完成第一次连接,可先按快速上手走完主线;遇到平台差异、代理范围、DNS、路由或日志问题时,再回到本页查对应章节。

v2rayN v2rayNG v2flyNG 订阅导入 系统代理与 TUN

01 / PREPARATION

通用准备:先确认设备、订阅与回退方式

客户端安装并不复杂,真正容易出错的是在开始前没有分清设备架构、订阅内容和流量接管方式。先把这些条件确认好,后面的安装、导入与排查会清楚很多。

客户端与平台如何对应

桌面设备优先使用 v2rayN。它覆盖 Windows、macOS 与 Linux,适合通过图形界面管理订阅、节点、路由和代理状态。Android 上优先考虑 v2rayNG;如果订阅或使用环境明确围绕 V2Fly 内核配置,也可以选择 v2flyNG。两款 Android 客户端的界面细节与内核侧重点不同,但基本流程相同:导入订阅、更新节点、选择配置、启动本地 VPN 接管,再进行访问验证。

不要把客户端、内核和订阅混成同一个概念。客户端负责界面、配置管理和系统接管;Xray 或 V2Fly 等内核负责按配置建立连接与处理流量;订阅链接则由服务提供方生成,其中通常包含服务器地址、端口、用户标识、传输方式和 TLS 或 REALITY 等参数。安装客户端不会自动产生可用节点,订阅导入成功也不代表其中每个节点都能连接。

平台、客户端与安装前重点
平台 建议客户端 安装前确认 主要接管方式
Windows v2rayN 系统架构、安装目录权限、旧代理状态 系统代理或 TUN
macOS v2rayN Apple Silicon 或 Intel、首次运行授权 系统代理或 TUN
Android v2rayNG、v2flyNG 处理器架构、后台限制、VPN 授权 本地 VPN 接管
Linux v2rayN 发行版包格式、桌面环境、管理员权限 桌面代理或 TUN

准备订阅信息,但不要急着反复导入

开始前应准备一条仍在有效期内、可正常访问的订阅地址。订阅链接属于敏感配置资料,不应粘贴到公开帖子、截图或多人共享文档。若提供方给出的是单个 VMess、VLESS 或其他分享链接,可以使用客户端的“从剪贴板导入”功能;若给出的是订阅地址,则应创建订阅分组并执行一次更新。两种入口处理的对象不同:单链接通常生成一个节点,订阅地址则可能生成一组由提供方维护的节点。

首次导入前先检查链接首尾是否带了空格、聊天软件是否截断了参数、浏览器是否把特殊字符改写。导入后重点查看节点名称和数量是否符合预期,而不是立即连续点击更新。若订阅更新失败,应先判断是地址本身无法访问、系统时间错误、证书握手失败,还是当前网络需要先通过已有代理才能访问订阅服务。持续重复更新只会制造更多相同日志,不会改变根因。

记录原有代理与 DNS 状态

配置前先记录系统代理是否开启、局域网地址是否手工设置、浏览器是否安装了单独的代理规则、系统 DNS 是否为手动值。最稳妥的做法是截取系统网络设置,或把关键值写入本地笔记。后续若出现网页打不开、局域网设备失联或退出客户端后仍残留代理,就能按原状态恢复。尤其在公司、学校或需要固定代理的网络环境中,不应直接覆盖已有设置而不留记录。

还应确认系统时间与时区正确。TLS 和 REALITY 连接都依赖合理的时间判断,明显偏差可能表现为证书失败、握手中止或连接刚建立便关闭。时间问题不会通过更换路由规则得到解决,因此应放在协议参数之前检查。

下载入口与架构选择

所有客户端入口集中在下载页。Windows 常见设备选择 x64;macOS 需要根据“关于本机”中的芯片类型选择 Apple Silicon 或 Intel;Android 近年的主流设备通常使用 arm64,无法确定时可选通用包;Linux 除 x64 与 arm64 外,还要根据发行版选择 deb 或 rpm。架构选错通常表现为安装器拒绝运行、系统报告格式错误,或应用启动后立即退出,它与订阅是否可用没有关系。

安装前关闭旧客户端并清理其仍在生效的系统代理,不必同时保留多个客户端争用同一个本地端口。若确实需要并行对比,应给每个客户端设置不同的本地监听端口,并明确当前由谁修改系统代理。准备工作完成后,再进入对应平台章节逐项操作。

02 / WINDOWS

Windows:v2rayN 安装、订阅与系统代理

Windows 章节以 v2rayN 为主。先完成安装和订阅更新,再选择系统代理或 TUN;不要用“测试成功”替代真实访问验证。

选择桌面版或经典 WPF 版

下载页提供 v2rayN 桌面版和经典 WPF 版。桌面版采用新一代跨平台界面,适合希望在不同桌面系统间保持相近操作逻辑的用户;WPF 版是 Windows 上长期使用的经典界面,菜单位置和教程资料相对稳定。两者都能完成订阅管理、节点选择、路由配置与系统代理控制。第一次使用时只安装其中一种,避免两个实例同时驻留并修改同一套系统代理。

Windows 下载入口取得适合的安装包后,先退出正在运行的旧版本。若使用安装形式,按安装界面选择当前用户可写的目录;若采用解压运行形式,应放在长期保留且具有写入权限的位置,不要直接在压缩包预览窗口中启动。客户端需要写入配置、日志和内核相关文件,目录不可写会导致设置保存失败或每次启动都像首次运行。

首次启动与订阅分组

启动 v2rayN 后,先进入订阅分组管理,新增分组名称并粘贴订阅地址。分组名称应表达用途,例如“日常订阅”或“测试分组”,不建议把完整订阅地址当作名称。保存后执行更新订阅,在主列表中确认节点被实际写入。若列表保持为空,查看提示信息与日志:地址返回网页而非订阅内容、链接过期、访问被登录页重定向,都会使解析失败。

订阅分组是管理入口,不是连接状态。更新成功只说明客户端取得并解析了配置。接下来选择一个节点作为当前活动项,再执行真连接测试。测试时优先观察能否建立连接及日志是否出现明确错误,不要只看下载测速。测速还会受到目标服务器、线路拥塞和本地带宽影响,不能单独证明系统代理已经接管浏览器。

从单个链接导入与参数核对

如果拿到的是单个分享链接,可以复制后使用“从剪贴板导入批量 URL”。导入完成后打开节点编辑界面,核对服务器地址、端口、用户标识、传输方式、安全层和服务器名称等字段是否齐全。VLESS 配置使用 TLS 或 REALITY 时,还可能包含 flow、指纹、公钥、短标识和 serverName。不要为了“兼容”而随意删除不认识的参数;这些值往往必须与服务端一致。

遇到 VMess 与 VLESS 不知如何选择时,不必只按协议名称判断速度。协议负责身份和数据格式,TLS、REALITY、WebSocket、gRPC 等则属于安全与传输组合,最终是否可用取决于整套参数是否匹配。可进一步阅读VMess 与 VLESS 参数差异,再回到客户端逐项比对。

先测试系统代理

对大多数浏览器和遵循 Windows 系统代理的桌面应用,首次配置先使用系统代理更容易定位问题。在 v2rayN 的系统代理菜单中选择“自动配置系统代理”,再根据需求选择路由模式。此操作会把系统代理指向客户端的本地监听端口,但并不表示所有应用都会自动遵循。部分游戏、命令行工具、虚拟机和自行实现网络栈的软件可能绕过系统代理。

开启后先访问一个平时可以稳定打开的普通网站,确认基础网络没有中断,再访问用于验证代理路径的目标站点。同时查看客户端日志是否出现对应连接。如果浏览器仍使用旧连接,可以完全关闭并重新打开浏览器,或新建无缓存窗口复测。详细的交叉确认方法可参照v2rayN 首次连接验证

TUN 的权限与边界

当应用不遵循系统代理,或需要统一接管更多网络流量时,再考虑 TUN。TUN 会创建虚拟网络接口并通过路由规则接收流量,通常需要管理员权限和驱动支持。启用前先清除系统代理或明确两者的职责,避免同时开启后无法判断实际路径。若启动提示权限不足,应退出客户端后以管理员方式运行;若虚拟接口创建失败,则检查旧 TUN 驱动、其他 VPN 类软件和安全策略是否冲突。

TUN 不是“连接更快”的开关,它改变的是接管范围。局域网访问、虚拟机网络、开发环境和公司内网可能受路由影响。启用后应测试本机网关、局域网设备与常用内网域名,并确认私有地址被直连规则覆盖。出现内网不可达时,先关闭 TUN 验证是否恢复,再检查 geoip:private 或私有网段直连规则,而不是立刻更换节点。

Windows 常见冲突

端口占用是 Windows 上常见问题。若日志提示本地监听失败,检查是否有另一个 v2rayN 实例、旧客户端或调试工具使用相同端口。不要只把端口随机改大;修改后还需让系统代理、浏览器扩展和依赖该端口的应用同步更新。安全软件拦截内核进程时,也可能出现界面正常但连接完全没有日志的情况,应结合系统事件和客户端日志判断。

另一个误区是把“延迟测试有结果”当作连接完成。延迟测试可能只验证 TCP 建连,真连接测试才会按节点协议发起实际请求。即使真连接成功,系统代理未开启时,浏览器仍可能直连。完整验证顺序应是:选择节点、执行真连接测试、开启一种接管方式、重新发起浏览器请求、在日志中找到对应域名或目标连接,最后再测试其他应用。

03 / MACOS

macOS:芯片选择、运行授权与代理接管

macOS 上使用 v2rayN 时,安装包架构、首次运行授权和系统网络权限是三个独立环节。应用能够打开,不等于虚拟接口或系统代理已经获得所需权限。

先确认 Apple Silicon 或 Intel

打开系统的“关于本机”查看芯片信息。显示 Apple M 系列时选择 arm64 安装包;显示 Intel 处理器时选择 x64 安装包。架构与客户端功能没有高低之分,只需和设备匹配。若在 Apple Silicon 设备上误装 Intel 构建,系统可能要求额外转换环境,也可能出现性能或兼容问题,因此应优先使用原生 arm64 版本。

macOS 下载入口取得对应 dmg 后,打开磁盘映像并把应用拖入“应用程序”目录,再从该目录启动。不要长期从只读磁盘映像中运行,因为应用的更新、辅助组件和配置写入可能受到限制。首次启动若被系统阻止,应在“隐私与安全性”设置中查看本次拦截记录并确认运行,而不是关闭整个系统安全机制。

导入订阅与选择节点

进入订阅分组管理,添加订阅名称和地址,保存后执行更新。macOS 上常见的订阅失败并不一定来自客户端:系统 DNS 无法解析、当前网络需要网页认证、时间不准或订阅服务证书异常,都可能导致请求失败。先用浏览器确认网络认证已完成,再查看日志中是解析失败、连接超时还是返回内容无法识别。

节点出现后,先选择一个配置执行真连接测试。若同一订阅中只有部分节点失败,应比较失败节点的服务器名称、端口、传输方式和 TLS 或 REALITY 参数,不要直接删除整个订阅。若全部节点都在握手阶段失败,则优先检查系统时间、网络是否拦截目标端口,以及订阅是否已更新到新的用户标识。

系统代理适合哪些应用

macOS 系统代理会写入当前网络服务的代理项目。浏览器和遵循系统网络配置的应用通常能够使用,但终端命令、部分开发工具与自行维护连接的程序未必会跟随。开启后应进入系统网络详情查看代理状态是否发生变化,并确认当前操作的是正在使用的网络服务。设备同时保留无线网络、有线网络或多个网络位置时,改错服务会表现为客户端显示已开启,但实际流量没有变化。

命令行工具通常需要自己的环境变量或配置。若只想临时让当前终端会话使用客户端监听端口,可以按客户端实际显示的本地端口设置环境变量。下面仅展示写法,端口应以本机设置为准:

export http_proxy="http://127.0.0.1:本地HTTP端口"
export https_proxy="http://127.0.0.1:本地HTTP端口"
export all_proxy="socks5://127.0.0.1:本地SOCKS端口"

这类环境变量只影响当前 shell 及其子进程,不应在未确认端口的情况下永久写入启动文件。测试结束可执行 unset http_proxy https_proxy all_proxy 恢复。若工具本身支持独立代理配置,优先在工具内明确设置,便于后续识别来源。

TUN 与网络扩展授权

需要接管不读取系统代理的应用时,可以评估 TUN。首次启用可能触发管理员验证或网络扩展授权。授权完成后仍应回到客户端确认虚拟接口是否成功创建,并在日志中观察路由写入结果。只看到系统弹窗并点击允许,不代表 TUN 已经稳定运行;接口创建、DNS 接管和路由下发分别可能失败。

macOS 上同时运行其他 VPN 类工具、网络过滤器、企业安全软件或虚拟化网络时,路由优先级可能互相影响。排查时先关闭其他会修改默认路由或 DNS 的程序,只保留 v2rayN 和基础网络。若问题消失,再逐个恢复程序。不要同时切换节点、路由模式和多个网络扩展,否则日志时间线会混在一起。

睡眠唤醒与 DNS 缓存

设备从睡眠恢复后,网络接口和默认路由可能重新分配。若客户端界面仍显示运行,但新请求持续超时,可先停止接管、等待网络恢复,再重新启动。频繁切换无线网络时也应如此。若域名连接失败而直接访问已知 IP 的测试正常,问题更可能在 DNS 路径,应检查客户端 DNS 设置、系统解析结果以及路由规则是否把 DNS 请求送往不可达出口。

不要把清理 DNS 缓存当作固定动作。只有在域名记录明显过期、切换解析策略后仍返回旧值时才需要处理。多数代理问题来自接管方式、路由匹配或节点参数,反复刷新缓存不会修复握手失败。退出客户端前先清除系统代理;若使用 TUN,则先正常停止 TUN,让客户端撤销接口与路由后再退出。

04 / ANDROID

Android:v2rayNG、v2flyNG 与后台连接

Android 上优先使用 v2rayNG,需要 V2Fly 内核取向时可选择 v2flyNG。系统通过本地 VPN 接口接管流量,因此授权、应用分流和后台限制比桌面系统更关键。

选择 arm64 或通用包

近年的主流 Android 手机通常使用 arm64 架构,明确设备架构时优先选择 arm64 包;无法确认或安装器提示不兼容时,可使用通用包。通用包覆盖范围更广,但体积通常会包含多种架构资源。架构只决定应用能否在处理器上运行,不会改变节点协议和订阅内容。下载入口按 v2rayNG 在前、v2flyNG 在后的顺序列出,可前往Android 下载区选择。

安装前若设备中已有同名应用,应确认签名来源和现有配置是否需要保留。系统拒绝覆盖安装时,不要直接卸载后再想起订阅尚未备份。可以先记录订阅地址、路由模式、应用分流和 DNS 设置,再决定升级或重新安装。订阅地址属于敏感信息,备份文件也应只保存在受控位置。

导入订阅与单节点链接

打开 v2rayNG 后,可通过订阅分组添加地址并更新,也可以从剪贴板导入单个分享链接。若使用二维码,应确认二维码来自可信来源,扫描后仍需检查服务器地址、端口、用户标识、传输方式和安全参数。扫码只是减少手工录入,不会验证配置是否正确。

订阅更新后,点击节点名称使其成为当前配置,再启动连接。Android 会请求创建 VPN 连接,这是系统为本地流量接管提供的标准授权。若设备已经有其他 VPN 类连接,系统通常只允许其中一个保持活动,应先停止旧连接。授权弹窗被拒绝后,客户端无法仅靠后台服务完成接管,需要重新启动并允许。

应用分流与绕过选择

应用分流用于决定哪些应用进入本地 VPN 接口。首次连接建议暂时不启用复杂分流,先让一个浏览器完成验证。确认基础连接正常后,再按“仅代理选中应用”或“绕过选中应用”的逻辑配置。两种模式含义相反,切换后应重新检查列表,避免把目标应用放到错误一侧。

银行、局域网控制、投屏和设备发现类应用可能依赖本地网络,应根据实际需求直连。将应用设为直连不等于它不受 DNS 影响;若 DNS 请求仍由客户端接管,域名解析结果也可能改变。遇到某个应用异常而浏览器正常时,先清除该应用的分流限制复测,再检查它是否使用 QUIC、私有 DNS或固定地址,不要先改动全局节点。

后台限制与断线重连

Android 厂商常对后台服务实施电池优化、休眠和自启动限制。表现通常是锁屏一段时间后连接停止、切换网络后没有恢复,或系统回收客户端进程。处理时先在系统电池统计中确认客户端是否被限制,再为其选择合适的后台策略。并非所有设备都需要完全放开限制;应先观察,再只调整影响连接的项目,避免把持续流量误判为系统限制。

频繁重连也会增加耗电。日志中若反复出现网络变化、连接超时和立即重试,应区分是移动网络信号不稳、节点不可达,还是系统在后台暂停网络。可以在同一地点保持屏幕亮起测试一段时间,再锁屏对比。详细排查顺序见v2rayNG 后台耗电异常排查

私有 DNS 与客户端 DNS

系统私有 DNS、浏览器内置安全 DNS和客户端 DNS可能同时存在。首次排查时应明确当前由谁解析域名。若系统私有 DNS 设置为严格主机名,但该服务在当前网络不可达,可能在代理启动前就造成域名解析失败。可先恢复自动模式验证,再决定是否让客户端接管 DNS。

客户端 DNS 的作用不仅是“换一个服务器”,还涉及域名请求通过哪个出口发送、路由规则用域名还是解析后的 IP 匹配,以及是否需要避免本地结果与代理出口不一致。若只有域名失败而节点的服务器地址是 IP,可重点检查 DNS;若服务器地址本身无法建立 TCP 或协议握手,调整域名服务器通常没有作用。

切换无线网络与移动网络

网络切换会更换本地地址、默认路由和 NAT 状态,原有连接可能无法继续复用。切换后等待系统网络稳定,再观察客户端是否自动重建。如果界面显示已连接但没有新日志,可停止后重新启动本地 VPN。不要快速连续点击启动按钮,以免旧服务尚未释放接口时又创建新实例。

排查完成后,如果只在某个无线网络失败,而移动网络正常,检查该网络是否需要网页登录、是否限制目标端口、DNS 是否返回异常结果。若两个网络都失败,再回到节点参数、订阅有效性和系统时间。通过这种对照,可以把“设备设置问题”和“当前网络问题”分开。

05 / LINUX

Linux:发行版安装、桌面代理与 TUN 权限

Linux 章节面向带桌面环境的 v2rayN 使用场景。先按发行版和架构选择包,再确认桌面代理接口、权限和服务依赖。

deb、rpm 与处理器架构

Debian、Ubuntu 及其常见衍生发行版通常使用 deb;Fedora、Rocky Linux、openSUSE 等环境常见 rpm,但具体仍应以发行版包管理体系为准。普通桌面电脑多为 x64,arm64 常见于部分开发板和 ARM 桌面设备。可以运行 uname -m 查看架构:常见输出 x86_64 对应 x64,aarch64 对应 arm64。

uname -m
cat /etc/os-release

Linux 下载入口取得匹配的 v2rayN 包。安装本地 deb 时,可在包所在目录使用系统包管理器处理依赖;rpm 发行版也应使用自身包管理器,而不是只解压文件。下面命令中的文件模式需要与实际下载名称匹配,并确保目录里没有多个旧包:

sudo apt install ./v2rayN*.deb
sudo dnf install ./v2rayN*.rpm

若系统提示架构不匹配,回到下载页重新选择,不要使用强制参数跳过。若提示依赖缺失,先刷新发行版软件源并确认桌面环境版本受支持。用强制忽略依赖的方式安装,往往只会把错误推迟到启动阶段。

首次启动与配置目录

从桌面应用菜单启动 v2rayN,确认界面、托盘和配置保存均正常。若终端启动能看到错误而桌面菜单无反应,可以从终端运行应用入口观察缺失库、显示服务或权限提示。不要长期使用 root 身份运行整个图形客户端,否则配置目录可能归 root 所有,之后普通用户启动时无法写入。

订阅管理流程与其他桌面平台一致:新增分组、粘贴订阅地址、保存、更新、选择节点并执行真连接测试。Linux 桌面常在系统和用户会话之间区分代理设置,因此客户端显示“设置成功”后,还应进入桌面网络设置检查当前用户的代理值。若使用轻量桌面或独立窗口管理器,可能没有统一的系统代理接口,需要为浏览器和具体应用分别设置。

桌面代理与环境变量

GNOME、KDE 等桌面环境提供系统代理设置,但应用是否遵循仍取决于其网络实现。浏览器通常可以跟随桌面代理,终端工具则经常读取环境变量或自己的配置。临时测试时可在当前 shell 设置代理变量,结束后立即取消:

export http_proxy="http://127.0.0.1:本地HTTP端口"
export https_proxy="$http_proxy"
export all_proxy="socks5://127.0.0.1:本地SOCKS端口"

# 测试结束
unset http_proxy https_proxy all_proxy

这里的端口必须从 v2rayN 设置中读取。若客户端只监听本机回环地址,局域网其他设备不能直接使用该端口,这是更稳妥的默认边界。只有明确需要共享代理时才考虑监听局域网地址,同时检查防火墙和访问控制,避免把未授权的代理入口暴露给同一网络中的其他设备。

TUN、能力与路由冲突

Linux TUN 依赖内核设备、网络管理权限和路由写入能力。首先确认 /dev/net/tun 存在,再从客户端日志判断是设备不可用、权限不足,还是路由规则写入失败。不要直接给整个应用永久 root 权限。优先使用客户端提供的授权流程或系统能力配置,并了解升级后可执行文件变化可能使旧授权失效。

ls -l /dev/net/tun
ip route
ip rule

容器、虚拟机、公司 VPN 和多网卡环境可能已有策略路由。启用 TUN 前保存 ip routeip rule 输出,启用后再比较新增项目。若内网失联,重点检查私有网段是否被送入 TUN、默认路由优先级是否变化,以及 DNS 请求是否进入了不同命名空间。关闭 TUN 后应确认新增接口和规则被撤销。

DNS 与 systemd-resolved

Linux 的解析链可能包含应用、glibc、NetworkManager、systemd-resolved 和上游 DNS。修改客户端 DNS 后,不能只看 /etc/resolv.conf 的表面内容,因为它可能是指向本地解析服务的链接。可使用 resolvectl status 查看每个接口的 DNS 与域配置,再结合客户端日志判断查询是否真正进入代理。

resolvectl status
getent hosts example.com
ss -lntup

ss 可用于确认本地代理端口是否监听及是否发生冲突。若客户端退出后网络异常,先清除桌面代理和 shell 环境变量,再检查 TUN 接口及策略路由。重启设备虽然可能恢复状态,但会丢失最有价值的现场信息;在重启前保存日志和路由输出,更有利于找到根因。

06 / NETWORK POLICY

系统代理、TUN、路由与 DNS 的分工

这四项经常在同一个设置页出现,但解决的问题不同。先分清流量如何进入客户端,再讨论进入后走直连还是代理,最后确认域名在哪里解析。

接管方式决定哪些流量进入客户端

系统代理本质上是向应用公布一个 HTTP 或 SOCKS 代理入口。只有读取并遵循系统设置的应用才会使用它,优点是边界清晰、开启和恢复简单,适合浏览器与多数桌面程序。TUN 则通过虚拟接口与路由接收流量,能够覆盖更多不支持代理设置的应用,但也更容易影响局域网、虚拟化环境和已有网络工具。

两种方式并非必须同时开启。第一次配置应从系统代理开始:如果目标应用能够被接管,就没有必要为了“更完整”而立即增加 TUN。只有确认某类应用绕过系统代理,且确实需要统一接管时,再启用 TUN。Android 的本地 VPN 接管在体验上更接近 TUN,但应用分流由系统接口和客户端共同完成。

接管与策略组件的职责对照
组件 主要职责 常见误区 优先检查
系统代理 让遵循系统设置的应用连接本地代理端口 认为所有应用都会自动使用 系统值、本地端口、应用代理行为
TUN 通过虚拟接口扩大流量接管范围 把接管范围等同于连接速度 权限、接口、路由和冲突软件
路由 决定流量走代理、直连或阻断出口 节点失败时盲目切换路由模式 规则顺序、匹配字段、出口标签
DNS 把域名解析为地址,并配合路由判断 把所有握手错误都归因于 DNS 查询路径、返回结果、出口可达性

路由规则按顺序匹配

路由负责决定已经进入内核的流量走哪个出口。常见条件包括域名分类、IP 分类、端口、网络类型和进程。规则通常按顺序匹配,先命中的规则生效,因此更具体的规则应放在更通用的规则之前。若一条覆盖范围很大的代理规则排在前面,后面的局域网直连规则可能永远没有机会执行。

下面是一个用于说明结构的路由片段。它先让常见私有地址和指定分类直连,其余行为由配置中的后续规则与默认出口决定。实际使用时,出口标签必须与客户端生成的出站配置一致:

{
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "direct"
      }
    ]
  }
}

domainStrategy 决定路由判断是否以及何时解析域名。使用 AsIs 时优先按原始域名规则匹配;其他策略可能在需要时解析为 IP 再判断。没有一种策略适合所有环境。若依赖域名分类分流,应确保请求到达内核时仍带有域名信息;若应用直接连接 IP,域名规则自然无法命中。

GeoIP 与 GeoSite 数据

GeoIP 是 IP 分类数据,GeoSite 是域名分类数据。路由规则引用的是分类标签,不是“自动智能分流”。数据库缺失、标签不存在或内核版本不兼容时,客户端可能启动失败,也可能在日志中报告规则加载错误。更新数据后应检查日志确认新文件被读取,并保留原有文件以便回退。完整维护流程可参考GeoIP 与 GeoSite 数据库更新指南

不要在一次调整中同时更换数据库、规则集与内核。若更新后出现问题,先恢复原数据并保持规则不变;恢复正常后,再单独验证新数据是否包含所需标签。规则标签名称拼写错误时,更换节点不会有帮助。

DNS 应与路由路径一致

DNS 决定域名得到什么地址,路由决定请求如何到达该地址。若域名通过本地 DNS 得到不可达或与出口不匹配的结果,连接会在协议握手前失败。若 DNS 请求本身需要通过代理访问,则必须保证启动阶段已有可用的基础解析路径,避免出现“需要先解析代理服务器,而解析又依赖代理”的循环。

排查 DNS 时先用日志确认请求是否到达客户端,再比较系统工具与客户端内的解析结果。只有域名失败、直接地址可达时,才重点检查解析链;若 TCP 连接已建立后在 TLS 或 REALITY 阶段失败,应核对 serverName、公钥、短标识、指纹和系统时间。把握手错误当成 DNS 问题会把排查带到错误方向。

07 / VERIFICATION

连接验证、日志阅读与日常维护

可靠验证需要把节点连接、应用接管和实际请求分开检查。测速数字只能说明某次测试的结果,不能替代日志和真实应用请求。

四步验证法

第一步确认订阅更新结果。节点列表应出现预期内容,当前节点的关键参数完整。第二步执行真连接测试,观察客户端是否能按协议建立实际请求。第三步开启一种接管方式,并让目标应用发起全新的网络请求。第四步在日志中找到与该请求时间对应的域名、目标地址、路由出口或错误信息。四步全部成立,才能说明“节点可连接且应用流量确实进入客户端”。

如果真连接测试成功但浏览器没有变化,重点检查系统代理、浏览器独立代理、旧连接缓存和当前网络服务。如果浏览器请求已进入日志但失败,则查看失败发生在 DNS、TCP、TLS、REALITY 还是远端关闭阶段。如果日志完全没有目标请求,说明接管环节还未成立,不应先调整协议参数。

按错误阶段读日志

日志中的“解析失败”通常指域名没有得到可用地址;“连接超时”表示在限定时间内没有完成网络连接,但原因可能是目标不可达、端口受限或路由错误;“连接被拒绝”说明目标地址有明确响应但该端口未接受连接;TLS 或 REALITY 握手错误则更应检查服务器名称、时间、公钥、短标识和指纹等参数。

日志应按时间线阅读,不要只截取最后一行。最后一行可能只是上层对前面错误的总结。复现前先清空或记住当前时间,只执行一次目标操作,再保存从请求开始到失败结束的连续片段。公开求助时应遮盖订阅地址、用户标识、服务器地址和其他敏感参数,但保留错误类型、时间顺序和客户端操作步骤。

用对照实验缩小范围

有效对照只改变一个变量。例如同一节点在两个网络下测试,可以判断当前网络是否参与问题;同一网络下更换同订阅中的另一个节点,可以比较节点侧差异;保持节点不变,在系统代理与 TUN 之间分别测试,可以判断接管方式;保持其他设置不变,恢复默认 DNS,可以判断自定义解析是否引入异常。

无效对照通常一次改变太多:更新订阅、切换节点、启用 TUN、替换 DNS 和更新规则数据库同时进行。即使问题暂时消失,也无法知道是哪项起作用,下一次故障仍要从头开始。建议为稳定配置保留一份文字记录,包括客户端、接管方式、路由模式和必要的自定义项。

现象与优先排查方向
现象 优先检查 暂时不要先做
节点列表为空 订阅地址、返回内容、访问状态 调整 TUN 与路由
真连接测试失败 节点参数、网络、时间、日志阶段 反复开关系统代理
测试成功但应用直连 接管方式、应用代理行为、旧连接 修改协议与加密参数
只有域名失败 DNS 路径、解析结果、规则匹配 盲目更换所有节点
内网在 TUN 下失联 私有网段直连、路由优先级 删除订阅分组

订阅更新与配置备份

订阅更新可能增加、删除或修改节点。更新前若有手工调整的重要配置,应确认客户端是否会在更新时覆盖。订阅节点与本地自建节点最好分组管理,避免更新订阅时误删本地内容。更新后先比较节点数量和名称变化,再选一个节点验证,不必立刻对全部节点进行高频测试。

备份应包含订阅分组信息、必要的路由设置和自定义 DNS,但不要把敏感资料放进公开同步空间。恢复备份后仍需重新确认系统权限、TUN 授权和本地端口,因为这些状态可能不完全包含在客户端配置中。跨平台迁移时也不要假设所有设置字段一一对应,应优先重新导入订阅,再手工恢复少量必要策略。

更新客户端、内核和规则数据

客户端界面、代理内核和 GeoIP、GeoSite 数据属于不同层。更新客户端可能带来界面或配置格式变化;更新内核可能影响协议参数支持;更新规则数据则影响分类标签。稳定环境中应分开更新,每次更新后完成一次基础连接、接管与路由验证。若出现问题,才能准确回退对应层。

不要依据网上某个具体版本号判断本机必须升级。本页不固定版本信息,实际可用包以下载页动态展示为准。更新前退出正在运行的客户端,并保留当前可工作的配置。更新后若旧设置无法加载,先查看迁移提示和日志,不要立即覆盖原配置目录。

08 / CONFIGURATION FAQ

配置常见问题与恢复顺序

下面集中处理安装后最常见的配置问题。回答按“先恢复基本连接,再增加功能”的顺序组织,适合在日志信息不足时作为排查入口。

订阅更新成功,为什么仍然不能访问?

订阅更新成功只代表客户端取得并解析了配置。接下来还要选择节点、确认节点能完成真连接、开启一种接管方式,并验证应用请求进入日志。先检查当前节点是否真正被设为活动项,再执行一次真连接测试。若测试失败,按日志阶段检查网络、时间和连接参数;若测试成功但应用没有请求日志,检查系统代理、TUN 或 Android 应用分流。

还要注意订阅可能包含暂时不可用或条件不同的节点。不要只测试列表第一项,也不要把全部节点失败简单归因于客户端。选择同一订阅中参数类型不同的少量节点做对照,能帮助判断是单节点问题还是订阅整体问题。

系统代理和 TUN 要同时开启吗?

通常不需要。先根据目标应用选择一种方式。浏览器和多数遵循系统代理的桌面应用先用系统代理;不读取系统代理、需要更广接管范围的应用再评估 TUN。两者同时使用可能仍能工作,但会增加路径判断难度,尤其在 DNS、局域网和虚拟网卡环境中。

从同时开启的状态排查时,先关闭 TUN,只保留系统代理并测试浏览器;系统代理验证成功后,再清除它并单独测试 TUN。这样可以确认两个入口各自是否正常。不要在同一次测试中来回切换而不关闭旧连接,应用可能继续复用原有会话。

退出客户端后为什么网络异常?

最常见原因是系统代理仍指向客户端已经停止监听的本地端口。重新打开客户端,执行“清除系统代理”,再正常退出。Windows 和 macOS 还可以进入系统网络设置核对代理值;Linux 除桌面代理外,还要检查终端环境变量。Android 则查看系统 VPN 状态是否仍保留旧连接。

如果之前使用 TUN,还应确认虚拟接口和路由已撤销。正常停止 TUN通常会恢复,但强制结束进程、系统崩溃或权限异常可能留下状态。Linux 可检查 ip routeip rule,桌面系统则先禁用残留虚拟接口或重启网络服务。恢复网络后再分析日志,不要一开始就删除所有客户端配置。

只有某个应用不能连接,应该换节点吗?

先不要换。浏览器正常而单个应用异常,说明节点和基础接管大概率可用。检查该应用是否遵循系统代理、是否被 Android 应用分流排除、是否使用独立代理、固定 DNS、QUIC 或特殊网络权限。桌面应用若不读取系统代理,可在其设置中指定本地 HTTP 或 SOCKS 端口,或单独测试 TUN。

如果日志能看到该应用请求但特定域名被直连或阻断,再检查路由规则。如果完全没有请求日志,则问题仍在接管层。只有确认请求进入客户端并在远端连接阶段失败时,更换节点才是合理对照。

REALITY 配置连接失败,应检查哪些字段?

先确认服务器地址、端口、用户标识和 flow,再核对 serverName、公钥、短标识与指纹。字段名称可能因客户端界面而略有差异,但取值必须与服务端提供的配置一致。系统时间明显偏差、订阅参数被聊天软件截断、复制时遗漏字符,都可能导致握手失败。

不要自行猜测缺失值,也不要因为看到 VLESS 就默认关闭安全层。REALITY 是与连接安全相关的组合参数,不是单独的节点名称。若配置来自订阅,先更新订阅并比较提供方说明;若来自单链接,重新导入原始链接通常比手工修补更可靠。

更新 GeoIP 或 GeoSite 后客户端无法启动怎么办?

先查看日志是否报告数据库读取失败、分类标签不存在或文件格式不兼容。恢复更新前的数据文件,保持路由规则不变并重新启动。若恢复后正常,说明问题集中在新数据或兼容关系;若仍失败,再检查规则编辑过程中是否出现拼写或 JSON 结构错误。

不要同时更换内核来掩盖数据错误。应分别验证内核、规则和数据库。恢复稳定后,再确认当前内核支持所引用的标签。数据更新与加载回退的完整步骤已在规则数据库维护文章中展开。

DNS 应该填写哪个地址?

没有适合所有网络的固定答案。首先明确 DNS 请求是本地直连还是通过代理出口发送,再选择在该路径上稳定可达的解析服务。若没有特殊需求,先保留客户端默认策略完成连接验证;只有出现域名解析异常、分流需要或隐私边界要求时,再单独调整。

修改后用系统解析工具、浏览器请求和客户端日志交叉确认。若直接地址也无法连接,问题通常不在 DNS;若域名得到地址但在 TLS 或 REALITY 阶段失败,应检查连接参数。不要连续更换多个 DNS 地址而不记录返回结果。

怎样恢复到最小可用配置?

先停止 TUN,清除系统代理和应用分流,恢复默认 DNS 与基础路由。保留一个来源明确的订阅分组,更新后选择一个节点进行真连接测试。测试成功后只开启系统代理,用一个浏览器发起新请求并核对日志。桌面环境若目标应用不遵循系统代理,再单独关闭系统代理、启用 TUN 测试。

Android 上则先取消复杂应用分流,保留系统 VPN 授权并用浏览器测试;Linux 还要清除 shell 中的代理环境变量。最小配置稳定后,按路由、DNS、应用分流和后台策略的顺序逐项恢复。每增加一项就复测一次,这比反复重装客户端更快,也能保留问题发生的证据。

v2rayN下载