INSTALL / SUBSCRIPTION / ROUTING
V2Ray 全平台安装配置手册
v2rayN 桌面部署与 v2rayNG 安卓配置。按平台落地,再按流量路径查问题。
这页是系统查阅手册,不要求从头读到尾。第一次连接,可以先走快速上手教程的主线;遇到安装、权限、分流或 DNS 问题,再返回对应章节。教程负责把连接跑通,本页负责讲清每个开关作用在哪一层。
通用准备:安装包、配置与接管范围
先确认客户端与设备架构
桌面平台统一优先选择 v2rayN;安卓优先选择使用 Xray 内核的 v2rayNG,需要 V2Fly 内核时再考虑 v2flyNG。客户端负责编辑配置、管理订阅和启动内核,内核负责实际建立连接。两者不是同一层。换客户端可以改变界面与接管方式,却不能自动修复服务端配置错误。安装前先记下设备系统、处理器架构和需要代理的应用,后面选包就不会靠猜。
Windows 常见桌面包使用 x64 架构;macOS 要分清 Apple Silicon 与 Intel;Linux 同时要区分处理器架构和软件包体系。安卓主流设备通常选择 arm64,架构不确定时再看通用版。系统是六十四位,不等于处理器一定属于某一种架构。以系统信息页面显示的处理器类型为准,再到下载中心选择对应入口,不要把不同平台的安装包互相改名使用。
连接资料要齐全,示例地址不能拿来连
客户端安装好以后,仍然需要有效的订阅地址、分享链接或手动配置资料。订阅通常是一个网页形式的地址,返回节点清单;分享链接通常以协议名开头,描述单个配置。本站介绍客户端操作,连接资料需要从有权使用的服务处取得。服务器地址、端口、用户标识、传输方式和安全设置都属于连接参数,少一项就可能导入成功却无法握手。
保存订阅时,把分组名称写成可辨认的用途,例如“工作配置”或“测试配置”。名称只是本地备注,不会改变连接行为。不要在共享截图里露出完整订阅地址、用户标识或二维码;这些内容可能直接授予连接权限。本文出现的示例域名与示例字段只用于解释结构,不是可连接的服务。把教学示例填进客户端,再等待它连接,属于给工位增加一项无效任务。
系统代理、TUN 与路由各管一段
系统代理是在操作系统里登记本地代理地址,愿意读取该设置的应用会把请求交给客户端。它不会强迫所有程序服从,尤其是独立网络栈、部分命令行工具和自行配置代理的应用。TUN 通过虚拟网络接口接收流量,接管范围通常更广,但需要相应权限,也更容易与其他虚拟网卡冲突。路由则是在流量进入内核之后,决定交给代理出站、直连出站还是阻断出站。
| 设置 | 作用位置 | 排查重点 |
|---|---|---|
| 系统代理 | 应用到本地入站 | 应用是否读取系统设置 |
| TUN | 虚拟接口与系统路由 | 权限、网卡、接管冲突 |
| 路由规则 | 内核入站到出站 | 规则顺序、匹配条件 |
| DNS | 域名解析环节 | 解析位置、可达性、缓存 |
初次部署先用系统代理验证浏览器访问,再决定是否启用 TUN。不要同时启动两款客户端去争同一个本地端口,也不要让两套接管工具同时修改默认路由。安卓的 VPN 接管与桌面的系统代理不同,但检查思路一致:先确定流量能进入客户端,再看它从哪个出口离开。路由模式设成全局,也不能让没有进入内核的流量凭空出现在日志中。
建立能回退的测试基线
首次测试选择一个已知有效的节点,使用默认传输参数,暂时保持 Mux 关闭。记录当时的路由模式、本地监听端口和接管方式,每次只修改一项。设备时间应准确,否则证书有效期判断可能失败。连接前先确认普通网络本身可用;需要网页登录认证的网络,应先完成认证。基础网络还没接通时,订阅和节点都可能表现为超时,不值得先拆路由。
安装与升级前备份客户端设置和订阅分组,存放在仅自己可访问的位置。备份也含敏感连接资料,不适合放进公开文档。遇到问题时保留错误类型、发生时间和操作步骤,比截一张只有红色文字的窗口更有用。后面各平台章节都沿着同一条路径展开:选包、安装、导入、接管、退出恢复。已有环境只需对照差异,不必重复初始化。
Windows:v2rayN 安装与系统代理
桌面版与经典 WPF 版怎么选
下载中心提供 v2rayN 桌面版与经典 WPF 版两个入口。桌面版采用新一代跨平台界面;WPF 版保留经典桌面交互。第一次安装优先看桌面版,已有 WPF 使用习惯也可以继续选择对应入口。两版菜单位置可能不同,本章按功能名称说明,不把某个按钮的固定坐标当作通用步骤。不要把一版的程序文件直接覆盖进另一版目录,以免设置与依赖混在一起。
从Windows 下载入口取得包后,按包的实际形式完成安装或解压。需要解压的包必须完整解压到独立目录,不能只双击压缩包里的主程序。目录尽量选择路径简单、当前用户可写的位置。配置、日志和内核运行都可能需要写入文件;受保护目录、同步盘的按需文件和临时目录容易让程序启动后找不到资源,或在退出时无法保存设置。
首次启动与运行库检查
启动后先观察主窗口能否正常显示,再看日志区域是否出现内核启动错误。程序窗口能打开,只说明图形界面启动了,不代表内核也正常。若系统明确提示缺少 .NET 运行环境,应按安装包说明补齐对应运行环境;不要凭经验只装一个名称相似的组件。自包含包与依赖系统运行库的包要求不同,先读错误文字再处理,比连续重装更快。
如果安全软件拦截了内核,先确认拦截的文件来自刚安装的客户端包,再查看系统防护记录。不要关闭整套防护去试运气。若界面打开即退出,检查解压是否完整、目录是否可写以及是否存在另一实例;再查看应用错误记录。关于这类启动阶段的问题,可以继续读v2rayN 闪退与启动崩溃排查,连接参数暂时不必动。
订阅导入与活动节点
在“订阅分组设置”中新建分组,填入分组名称与订阅地址,保存后回到主窗口,从“订阅分组”菜单执行“更新订阅不通过代理”。首次还没有可用节点时,不通过代理更新通常更容易建立基线。如果订阅站点必须借助已有连接才能访问,再选择“更新订阅通过代理”;前提是当前已经有可工作的节点,不能要求一个空列表替自己下载第一份配置。
更新完成后检查节点列表与所属分组,选择其中一个节点并设为活动服务器。仅让某一行获得焦点,不一定等于切换了活动配置;以客户端显示的活动状态为准。分享链接则走“从剪贴板导入分享链接”,不要把它粘到订阅地址字段里。若导入后字段为空,回到原始链接检查是否被聊天工具截断,尤其注意尾部参数和百分号编码,不要随意删除看起来复杂的部分。
系统代理先行,TUN 按需启用
内核正常运行后,在“系统代理”中选择“自动配置系统代理”。用浏览器访问一个明确需要当前连接才能访问的地址,再观察客户端日志是否出现对应请求。浏览器能用而其他程序不能用时,先检查该程序是否读取系统代理。某些应用有自己的代理字段,需要填本地 HTTP 或 SOCKS 地址;端口以客户端实际设置为准,不照抄其他教程的默认数字。
确有全设备接管需求时,再启用 TUN。通常需要管理员权限或完成相应组件初始化,具体以客户端提示为准。先退出其他代理工具,确认没有残留虚拟网卡接管,再尝试启动。TUN 出错而系统代理正常,说明问题更可能落在权限、网卡或系统路由层,不宜直接更换服务器。测试期间不要同时修改 DNS、路由规则和传输参数,否则无法知道是哪一步让连接恢复。
退出恢复与平台常见坑
关闭主窗口可能只是最小化到托盘。需要停止接管时,先在“系统代理”中选择“清除系统代理”,关闭 TUN,再从托盘退出程序。若程序异常结束,系统代理可能仍指向已经停止的本地端口。此时打开 Windows 的代理设置,检查是否遗留手动代理地址;清除后先确认直连恢复,再重新启动客户端。浏览器的独立代理扩展也要一并检查,它不一定跟着系统设置变化。
自动启动优先使用客户端提供的相关设置,并确认当前用户登录后程序实际运行。自启动界面成功而 TUN 没启动,可能是权限不同,不应靠重复创建多个启动项补救。升级前先退出旧进程,备份设置;升级后重新检查系统代理、活动服务器和本地端口。若端口被占用,定位占用程序或更换空闲端口,同时同步应用端配置,不要只改一边。
macOS:芯片选包、网络权限与接管
按芯片安装 v2rayN
打开系统的“关于本机”,查看显示的是芯片名称还是 Intel 处理器。Apple Silicon 选择 arm64 入口,Intel 选择 x64 入口。芯片架构决定运行包,不由系统界面语言或屏幕尺寸决定。从macOS 下载入口取得对应磁盘映像,打开后按窗口提示将应用放入“应用程序”。不要长期从磁盘映像或下载目录运行,以免更新、登录启动和路径权限互相干扰。
首次启动若出现安全确认,先核对应用来源和文件是否为刚下载的客户端,再按照系统提供的“隐私与安全性”提示处理。不要为了启动一个程序关闭全局安全机制,也不要运行来路不明的解除限制脚本。若启动报错指向架构不匹配,返回下载页重新选包;转译运行是否可行取决于具体构建,不能把转译能力当作选错包后的固定补救步骤。
导入订阅并确认内核运行
进入“订阅分组设置”,添加名称和地址,保存后执行订阅更新。没有活动节点时先尝试不通过代理更新;已有节点且订阅地址需代理访问时,再使用通过代理更新。清单出现后选择活动服务器,留意内核日志是否开始记录启动信息。图形窗口、订阅获取与节点连接是三项独立动作,前两项成功不能推出第三项也成功。
手动导入分享链接时,使用“从剪贴板导入分享链接”功能;剪贴板里应只保留完整链接,不要夹带说明文字或聊天引用符号。导入后核对地址、端口、传输方式及 TLS 相关字段。系统剪贴板可能被密码管理工具或其他应用自动清空,遇到无法识别时重新复制再导入。不要因为一次导入失败就在订阅分组里反复创建相同地址,重复分组会让后续更新难以辨认。
系统代理与当前网络服务
先在 v2rayN 的“系统代理”功能中启用自动配置,再用浏览器验证。macOS 的代理设置与具体网络服务关联,切换 Wi-Fi、有线网络或其他网络接口后,实际使用的服务可能变化。若连接在换网后失效,到系统“网络”设置中检查当前服务的代理项,再让客户端重新应用设置。查看的是当前使用的服务,不是列表里任意一个曾经连接过的接口。
应用也可能使用独立代理设置。一个浏览器正常而另一个应用失败时,先确认后者是否读取系统代理,再考虑显式配置本地 HTTP 或 SOCKS 入站。需要手动填写时,使用客户端实际监听地址和端口;本机地址通常是回环地址,而不是远端服务器地址。把远端节点端口填进应用的本地代理字段,会绕过客户端协议处理,结果往往只是持续等待连接。
TUN 的权限与网络切换
TUN 用于接管不读取系统代理的流量。启用前先确认当前构建支持该功能,并完成客户端要求的权限步骤。若需要授权提权操作,阅读提示中的作用范围;不要把系统密码写进配置或脚本。首次启用时保持已验证的活动节点和默认规则,只改变接管方式。如果 TUN 失败而系统代理可用,先回到系统代理继续工作,再检查虚拟接口初始化和权限记录。
其他 VPN、网络过滤软件以及虚拟机网络组件都可能影响路由。排查时暂时退出其中一套接管工具,观察故障是否消失,而不是把所有工具一起重启。设备睡眠后恢复、从一个网络切到另一个网络,都可能使旧连接和接口状态失效。先停止并重新启动客户端连接,让其重建会话;仍有问题时再重新启用 TUN,避免一醒来就删除整份配置。
退出、升级与系统恢复
退出前先清除系统代理并关闭 TUN,确认直接访问恢复,再退出应用。若异常退出后网络不可用,查看当前网络服务是否还指向停止监听的本地代理。系统代理地址仍存在时,其他应用会继续尝试连接本地端口,这不是网络突然坏了。清除残留代理后还不能访问,再检查其他接管工具和系统 DNS 设置,按层处理,不把几个问题混成一次“大重置”。
升级时先备份分组与设置,退出运行中的应用,再替换程序。若登录后自动运行失败,检查系统“登录项”和客户端自启动设置是否冲突,保留一种明确的启动方式。需要删除应用时,先解除接管;仅把应用拖走并不会保证所有网络设置都恢复。对配置目录进行清理前先导出资料,尤其是手动建立的节点,它们不能靠更新订阅重新生成。
Linux:软件包部署、桌面代理与自启动
包体系与架构分别确认
Linux 桌面优先使用 v2rayN。Ubuntu、Debian 通常选择 deb;Fedora、openSUSE 通常选择 rpm。还要确认设备属于 x64 还是 arm64,包格式正确但架构错误仍然不能运行。从Linux 下载入口选择对应包,不能把 deb 改后缀当作 rpm。发行版名称、软件包体系和处理器架构是三项信息,安装前分别确认,不要只看桌面主题猜发行版。
本章以图形安装器为主线:下载后打开包,查看应用名称、依赖提示和安装目标,按系统提示完成授权。安装器提示缺少依赖时,使用发行版自己的软件管理工具补齐;不要把其他发行版的共享库复制进系统目录。已有旧版时先退出进程再安装更新。应用图标出现在菜单里,说明桌面入口建立了,是否能够启动还需要单独验证。
首次启动和目录权限
从应用菜单启动 v2rayN,观察主界面与内核日志。图形应用应以普通用户身份运行,不要为了避开一个权限错误把整个客户端长期交给管理员账户。配置、缓存和日志属于当前用户的数据,改变运行身份会产生另一套目录,之后可能出现“节点全不见了”或“设置保存不了”的错觉。先检查用户目录是否可写,再判断是否为应用本身的问题。
如果点击图标没有窗口,检查桌面启动器是否指向正确程序,确认安装过程没有遗漏依赖,并查看系统的应用错误信息。缺少图形组件、动态库或显示环境时,代理参数尚未参与运行,不必去改订阅。无桌面会话的服务器也不等于本章所说的 Linux 桌面环境;图形客户端需要相应的桌面条件,不能把桌面安装流程原样搬到只提供终端的机器上。
导入配置与系统代理边界
启动正常后在“订阅分组设置”里保存地址,执行不通过代理的订阅更新,选择活动服务器。订阅更新和连接测试要分开看:列表出现只代表成功取得配置,实际连接还要核对传输与安全字段。导入单条分享链接使用剪贴板导入功能,保留原始链接以便检查。若多次更新后存在重名节点,优先用分组和服务器字段辨认,而不是仅凭显示名称判断重复。
启用“自动配置系统代理”后,先用桌面浏览器测试。不同桌面环境对系统代理的读取方式并不相同,有些应用依赖桌面设置,有些应用只认环境变量或自己的代理字段。浏览器能访问而终端程序不能访问,很可能只是入口不同。无需立刻启用 TUN,也不要认为路由“全局”会自动覆盖所有应用。先确认需要接管的程序究竟读取哪种代理设置。
需要手动填代理时,在应用设置中输入客户端的本地监听地址和对应端口,区分 HTTP 与 SOCKS 协议。客户端换端口以后,应用侧也要同步;不要把旧端口留在多个配置文件里。系统环境变量是否存在,可以在系统或应用的环境设置里检查。退出客户端后仍指向本地代理的环境设置会继续影响程序,需要单独恢复,桌面“清除系统代理”未必能修改这些自定义内容。
TUN、权限与发行版差异
TUN 涉及虚拟接口与系统路由,通常需要额外权限或客户端提供的辅助机制。按当前构建的提示完成初始化,不把未知的权限命令当作必装步骤。若启用时报权限错误,先确认授权流程是否完成,再看发行版的安全策略和日志。某些系统的安全模块会阻止特定操作;应定位被拒绝的行为,而不是先关闭整套安全策略。
防火墙、其他 VPN 和虚拟机网络组件都可能影响 TUN。测试前退出另一套接管工具,并确认本地入站端口没有被其他进程占用。网络切换后若直连正常、TUN 失效,先重新启动接管以更新路由。节点本身能通过系统代理连接时,优先检查虚拟接口与路由,不要重复导入同一份订阅。每次只改变一个变量,Linux 的错误信息通常足够具体,值得认真读完。
登录自启动与卸载收尾
桌面自启动应理解为当前用户登录图形会话后运行,不等于机器通电就能连接。优先使用客户端提供的自启动选项,或者桌面环境的“启动应用程序”设置,二者选择一种。若应用自启动了但 TUN 没启动,检查权限初始化与会话环境,而不是添加第二个启动项。重复实例可能争抢端口,让本来稳定的配置变成间歇性失败。
卸载或升级前关闭 TUN、清除系统代理并退出进程,再用发行版的软件管理工具处理安装包。配置目录与程序包可能独立保留,卸载程序不等于删除连接资料。准备迁移时先导出设置,准备清理时再确认数据范围。卸载后网络仍有异常,检查应用自己的代理、环境设置和其他接管工具,别只盯着已经删除的程序文件。
Android:v2rayNG 导入与 VPN 接管
选择 v2rayNG,按架构安装
安卓首推 v2rayNG,使用 Xray 内核;v2flyNG 是使用 V2Fly 内核的备选。选择备选的依据应是配置所需的内核能力,而不是图标或名称相近。主流安卓设备通常选择 arm64,架构不确定时可考虑通用版。从Android 下载入口取得对应包,按系统提示完成安装。安装授权只对实际使用的下载或文件管理应用开放,完成后可以收回不再需要的授权。
更新提示签名不一致时,先确认原安装包与新包是否属于同一客户端和同一发行来源,不要立即卸载。卸载可能同时清除本地节点与设置,应先备份。安装失败也可能来自架构不符、存储空间不足或系统兼容要求,错误原因不同,处理办法就不同。v2rayNG 与 v2flyNG 的应用数据彼此独立,安装另一款客户端不会自动接管前一款的订阅。
订阅与分享链接分开导入
在 v2rayNG 的“订阅分组设置”中添加分组名称和订阅地址,保存后回到主界面,通过菜单执行“更新订阅”。更新完成后查看分组中的配置,点选需要使用的节点。菜单名称与位置可能随构建调整,功能边界不变:分组负责保存可更新的地址,节点列表负责选择实际连接配置。新建分组后没有立即出现节点,通常是还没有执行更新,并不代表保存失败。
单条分享链接使用“从剪贴板导入”。复制时要保留整条链接,避免聊天应用只复制显示出来的截断文本。二维码导入同样属于配置导入,扫描结果应是可识别的完整内容。若二维码或链接里包含敏感参数,不要放到公开求助截图中。导入成功后查看配置字段,尤其是传输类型、TLS 和服务器名称;界面能显示一条记录,不代表这些字段与服务端一致。
授权 VPN 模式并选择路由
使用 VPN 模式时,首次连接会出现系统授权提示。这是让应用创建本地 VPN 接口来接收设备流量,不表示设备已经成功连接远端。授权后回到客户端,观察连接按钮状态和日志,再进行实际访问测试。安卓通常不能让两款采用 VPN 接管的应用同时保持活动;若系统提示连接被另一应用替换,先确定要使用哪一款,不要让两套工具轮流抢接管权。
在“设置”中确认 VPN 模式及路由选项。日常分流可以先使用“绕过局域网及大陆地址”,需要对照测试时再临时改为全局。路由改变的是已进入客户端的流量走向,不会修复错误的服务器地址。若某个应用被排除在接管范围之外,它的请求也不会因为切换全局而自动进入内核。排查应用差异时,先查看应用分流设置,再看路由。
桌面教程里的“设置系统代理”步骤不能直接照搬到安卓 VPN 模式。安卓通常通过系统 VPN 接口交给内核,桌面系统代理则依赖应用读取设置。需要连接同一服务时,可以迁移配置资料;需要复制接管开关时,必须按平台分别处理。某些网络要求先打开网页完成认证,连接客户端前先完成这一步,否则 VPN 和订阅更新都可能停在超时阶段。
后台、电池策略与网络切换
连接一段时间后自动中断,先检查系统是否结束了后台进程。不同设备的电池管理名称不同,可在应用信息里查看电池优化、后台活动和自启动限制。只调整这款客户端所需的权限,不必扩大到所有应用。通知和前台服务状态有助于维持连接,但通知存在也不等于远端会话始终有效;网络切换后仍需实际访问验证。
从 Wi-Fi 切到移动网络后,原连接可能需要重建。先停止再启动连接,观察是否恢复;只有特定网络失败时,再比较 DNS、服务器可达性和网络认证条件。不要为了修复一次换网断开而把所有高级选项都打开。Mux 默认保持关闭更利于建立基线,启用嗅探也应结合路由需求。高级开关不是加得越多越稳定,额外功能也意味着额外的排查变量。
本地 DNS 与退出检查
涉及域名访问问题时,检查“本地 DNS”等设置,并结合当前路由与内核行为判断解析路径。不同内核和客户端构建的选项可能不同,不应复制一张旧截图中的所有数值。解析服务器首先要从当前网络或当前代理路径可达。纯 IP 地址访问正常而域名失败,可以把 DNS 列为重点;但部分服务依赖正确的主机名和 TLS,不能简单用 IP 替代作为最终修复。
退出时先停止连接,再确认系统 VPN 状态已经解除。需要切到 v2flyNG 时,先停止 v2rayNG,重新导入适配配置并授权,不要默认原有设置已同步。卸载前备份订阅和手动节点,迁移后重新检查路由与应用分流。常见安装和连接疑问可以继续查常见问题;求助时提供系统版本、客户端名称和脱敏错误,完整订阅地址不需要公开。
订阅与迁移:地址、清单和本地修改
订阅地址不是节点地址
订阅是获取配置清单的入口,节点是清单里实际用于连接的一项。前者可能使用普通网页地址,后者包含协议、服务器、端口与认证参数。更新订阅是在下载并解析清单,不是在测试每个服务器;因此“更新成功”和“节点可用”要分别验证。分享链接通常描述一个节点,适合临时导入,却不具备订阅地址的持续更新关系,服务端变化后一般需要重新取得链接。
订阅地址里的查询参数可能用于授权,不能只留下域名和路径。复制时如果少了尾部参数,服务器可能返回错误页、登录页或空内容。浏览器能打开地址,也不一定代表客户端能解析:网页界面和订阅数据不是同一种输出。应使用服务提供的客户端订阅地址,而不是账户页面地址。完整链接怎么辨认,可以配合分享链接与订阅区别阅读。
不通过代理更新与通过代理更新
不通过代理更新,通常让客户端沿当前基础网络获取订阅;通过代理更新则借助已建立的本地代理连接。第一次没有节点时,优先尝试前者。前者失败而已有可用连接时,再试后者。两种方式都是获取同一份清单,选择依据是订阅站点的可达性,不是“哪一种一定更快”。若已有连接本身不稳定,通过代理更新还会把一个问题串成两个问题。
更新失败先看错误发生在哪一步:域名解析、建立连接、TLS 握手、服务器响应还是内容解析。解析错误常见于返回内容不是订阅格式,连接错误则需要检查地址和访问路径。系统时间不准确也可能导致安全连接失败。反复新建同一分组不能改变这些条件,只会增加重复记录。先保留原组,记录一次完整错误,再按网络路径和返回内容分别处理。
分组命名与更新后的变化
建议按来源或用途建立分组,备注能辨认即可。更新后节点数量、名称和排序可能改变,客户端的活动项也可能需要重新确认。显示名称属于备注,不是稳定身份;同名节点可能具有不同地址和端口,不同名称也可能指向同一服务。选择时查看协议及服务器字段,不把列表顺序当作长期保证。自动测试结果只能用于当前环境的参考,最终仍要用实际应用验证。
客户端对订阅节点的本地编辑可能在下一次更新时被覆盖。需要长期保留的特殊配置,应复制到独立的手动配置区,写明修改目的;不要直接修改订阅节点后忘记来源。服务端地址或认证信息变更时,复制出来的配置也不会自动跟随,必须自行维护。订阅负责减少手动更新工作,手动配置负责保留个别调整,两者各有边界,不能同时期待完全自动和永不覆盖。
跨平台迁移保留什么
从桌面迁到安卓,优先重新添加订阅地址,让目标客户端按自身格式生成配置。单节点也可以通过分享链接迁移。不要把一个平台导出的全部应用设置直接塞进另一平台,因为本地端口、路径、系统代理和接管方式并不通用。真正通用的是协议参数和服务资料;平台相关的是权限、接口、后台策略与应用分流,需要在目标设备重新确认。
完整配置导入适合清楚内核格式的人。Xray 与 V2Fly 有共同的配置概念,也有各自支持的字段和功能差异。客户端支持某个协议名称,不代表支持所有相关传输组合。迁移后若提示未知字段或不支持的安全方式,先核对目标内核能力,不要盲目删除报错字段。字段被删除后文件也许可以启动,但连接语义可能已经改变,错误会从启动阶段移到握手阶段。
备份与脱敏的实际做法
备份至少包含订阅分组、手动节点和重要路由设置。保存到个人可控位置,注明来源客户端与备份时间,避免把不同平台的文件混在同一目录。恢复前先确认目标客户端是否支持该备份格式,再执行导入。需要排错时复制一份用于脱敏,不直接在唯一备份上改字段。订阅丢失后还能重新添加,但没有备份的手动参数不一定能从界面历史记录中找回。
定期更新订阅前后都检查活动节点,尤其在服务方调整名称或清单结构之后。自动更新不是连接修复器,更新时间也不是节点健康证明。若某个订阅长期返回不可识别内容,先向提供方确认适配的客户端格式,再判断是否需要换导入方式。排查完成后删除重复测试分组,保留一份明确来源和用途的配置,后续升级时更容易分辨问题来自哪里。
路由与 DNS:从入口到出口拆读
先看流量是否进入内核
路由只处理进入内核的请求。桌面应用没读取系统代理、安卓应用被排除接管、TUN 没有成功启动时,路由规则写得再准确也没有机会执行。排查前先观察请求日志,确认目标应用的访问是否出现。若完全没有记录,回到系统代理或接管设置;若有记录但出口不符合预期,再看路由。这个顺序能避免把入口故障误判成分流规则故障。
全局模式通常把已接收流量交给代理出站,绕过模式按规则将部分目的地交给直连出站。系统代理开关和路由模式不是同一回事,一个负责进门,一个负责走哪条通道。客户端界面里的模式名称会映射为具体规则,理解原理之后仍要看实际生成配置。更完整的层级对照见系统代理与路由模式说明。
规则顺序与出站标签
常见路由规则按顺序匹配,先命中的规则决定对应处理。针对特定域名的精确规则应放在宽泛规则之前,否则后面的例外可能永远用不上。出站标签是配置内的引用名称,不是协议名称;规则写了 outboundTag,就必须存在同名出站。标签拼错可能引起启动错误或不符合预期的行为,不能只检查域名列表而忽略出口定义。
下面是可合并进 Xray 或 V2Fly 客户端配置的路由片段,假定完整配置已经存在名为 direct 的直连出站。它把回环与私有地址交给直连,其他请求沿完整配置的默认出站处理。该片段没有提供远端服务资料,也不构成独立连接配置。私有地址规则适合保留本地网络访问,但实际部署还要检查本地网络是否使用其他特殊地址范围。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": [
"127.0.0.0/8",
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16",
"::1/128",
"fc00::/7",
"fe80::/10"
],
"outboundTag": "direct"
}
]
}
}
domainStrategy 与域名匹配
AsIs 主要按已有域名信息匹配;IPIfNonMatch 在域名规则未匹配时尝试解析,再检查 IP 规则;IPOnDemand 在匹配过程需要 IP 信息时进行解析。这些选项描述路由匹配阶段的行为,不等同于系统 DNS 设置。即使字段名相似,出站连接阶段和路由阶段的解析策略也不能混为一谈。修改后应观察匹配结果,而不是只看域名能否打开。
域名规则中的 full: 用于完整域名匹配,domain: 用于指定域名及其子域名的匹配;普通字符串的行为不同,不要把所有写法视为等价。使用规则数据文件时,还要确认内核能找到对应数据并识别所用分类。客户端提供的内置路由通常比手写整套清单更适合初次部署,先建立基线,再逐项增加必要例外。
DNS 解析位置与失败分支
DNS 负责把域名解析为地址。解析请求可能来自应用、操作系统、内核或接管机制,具体位置取决于配置。应用已经把域名解析为 IP 后才交给代理,内核未必仍有原始域名;只有 IP 规则就可能表现正常,域名规则却不命中。嗅探可以在部分协议流量中补充域名信息,但不是所有流量都能提取,不能把它当作万能域名恢复开关。
解析服务器必须在选定路径上可达。把一个无法直连的解析服务放在直连路径,会造成“节点正常,域名超时”;让解析依赖尚未建立的代理,也可能形成启动依赖问题。先区分服务器地址解析和目标网站解析,再检查是否存在循环依赖。测试 DNS 时记录使用的网络、接管方式和缓存状态,换网后的旧缓存可能掩盖真实结果,必要时重启相关应用再验证。
嗅探、Mux 与验证方法
嗅探常用于帮助域名路由,Mux 用于连接复用,两者解决的不是同一问题。启用 Mux 不会修复认证失败,也不能保证所有传输组合都更稳定。首次部署保持默认与关闭复用,连接稳定后再按需要尝试。若只在启用某个功能后出现中断,回退该项并重复测试。高级功能的价值需要实际场景支撑,不适合以“开关全亮”为完成标准。
编辑 JSON 时注意逗号、引号和数组结构,配置不能包含随手加进去的注释。先保留原文件,再在副本中修改,启动失败立即回退。客户端生成的配置可能在切换节点后重写,长期规则应保存到客户端提供的路由设置里,而不是反复编辑临时输出。字段分层可以继续查配置文件结构拆读,把入站、出站和路由分开理解。
配置常见问题:按故障阶段定位
界面打不开,与节点连接无关
启动即退出、窗口没有出现或系统提示缺少运行组件,属于应用启动阶段。先检查安装包架构、安装过程、目录权限和运行环境。此时内核可能还没有读取连接配置,修改订阅不会改善问题。Windows 要留意运行库与解压目录,macOS 要检查架构和系统安全提示,Linux 要看图形依赖与用户会话,安卓要看安装兼容要求与应用数据状态。
界面能开但内核启动失败,再看本地端口占用、配置格式和内核支持范围。两个客户端同时运行可能争抢端口;旧进程残留也可能让新实例无法监听。先停止多余实例,确认监听地址与端口,再重试。若错误指出某个字段不受支持,核对当前内核能力和导入格式,不要把所有高级字段删除后宣布修好,连接行为可能因此完全变化。
订阅有节点,但连接持续超时
超时说明某个阶段没有在预期时间内完成,不直接等于认证参数错误。先确认基础网络正常、服务器域名能够解析,再检查远端地址与端口是否仍有效。仅一个节点超时而其他节点正常,优先关注该服务或配置;所有节点在同一网络失败、换网络恢复,则要比较网络环境和解析路径。服务是否可用还需要服务提供方确认,客户端无法从超时文字推出具体原因。
TLS 错误需要检查设备时间、服务器名称与证书要求。连接地址和 TLS 服务器名称可以不同,二者各有用途;不能因为地址是某个 IP 就把服务器名称也改成 IP。WebSocket 路径、Host、gRPC 的服务名称以及其他传输参数都必须与服务端对应。导入分享链接通常比手动补字段可靠,确需手动配置时逐项核对原始资料,别凭界面默认值补齐未知内容。
浏览器正常,其他应用失败
这类差异优先检查入口。应用可能忽略系统代理、使用独立设置、被安卓应用分流排除,或者发送了当前入站不适配的流量。先用客户端日志判断是否收到它的请求。没收到就调整应用代理或接管范围,收到了再看路由与出站。TUN 可以扩大接管范围,但也会带来权限和路由变量,应在系统代理已验证之后再用,不适合作为所有应用故障的第一反应。
网页首页打开而部分资源加载失败,可能涉及不同域名、缓存连接或协议行为。记录具体失败的目标,再比较它是否被另一条规则分流。浏览器的安全 DNS 和独立代理扩展也可能改变路径;测试时只保留一种明确的配置。不要只用一个长时间未刷新的网页判断当前连接,旧页面和缓存资源并不证明新请求成功,重新加载或使用新的访问会话更有意义。
停止客户端后,基础网络也不能用
最常见的检查项是残留系统代理。操作系统还把请求交给本地地址,但客户端已经不再监听,于是所有服从系统代理的应用都失败。先清除系统代理,再检查 TUN 是否已停止以及其他 VPN 是否仍在接管。安卓还要检查系统 VPN 的阻断选项。恢复直连后再启动客户端,如果问题只在退出流程出现,应修复退出恢复,而不是更换节点。
| 现象 | 优先层级 | 第一步 |
|---|---|---|
| 程序打不开 | 安装与运行环境 | 读取系统错误提示 |
| 内核无法启动 | 配置与本地监听 | 查端口和字段错误 |
| 订阅更新失败 | 订阅获取路径 | 分清连接与解析错误 |
| 仅部分应用失败 | 流量入口 | 看请求是否进入日志 |
| 退出后无法访问 | 残留接管 | 清除系统代理并停 TUN |
日志该保留什么,测试该改变什么
日志应保留发生时间、操作步骤、错误类型和相关字段名。只截最后一行可能丢掉真正原因,适当保留前后几行更便于判断。但服务器授权参数、用户标识和完整订阅地址必须脱敏。临时提高日志详细程度可以帮助定位,测试完成后恢复日常等级,避免长期产生大量数据。日志也可能含访问目标,备份与分享时同样需要考虑隐私。
建立一个小型对照表:同一节点在系统代理与 TUN 下是否一致,同一配置换网络是否一致,同一网络换节点是否一致。每次只改变一项,记录结果;如果同时换节点、改 DNS、开嗅探,成功后也无法知道哪个动作必要。确认有效的修复后,把其他测试改动撤回,保留最小可工作的配置。稳定来自可解释的设置,不来自把所有可能选项轮番试一遍。
如果排查仍无结果,整理客户端名称、系统与架构、接管方式、出错阶段和脱敏日志,再去常见问题核对对应分支。需要重新走通连接时,回到快速上手教程按最小主线验证;需要升级或换包时,回到下载中心选正确平台。重装是最后才考虑的环境处理手段,无法替代对错误参数和服务状态的确认。