01 · PREPARE
阅读方式与通用准备
快速教程与本手册的分工
如果目标只是尽快完成一次连接,可以先阅读快速上手教程。教程按照“下载客户端、导入订阅、选择节点、开启代理”的主线组织,适合第一次操作时跟着界面逐步完成。本手册则面向长期使用与问题查阅:不仅解释按钮在哪里,还说明系统代理与 TUN 的作用范围、订阅更新为什么会失败、桌面与移动端为什么需要不同的后台策略,以及日志中的失败信息应当怎样转化为具体检查动作。遇到平台权限、路由冲突或节点参数不匹配时,可以直接通过上方目录进入对应章节。
全文只涉及三款客户端。桌面平台优先使用 v2rayN,它覆盖 Windows、macOS 与 Linux,界面结构和订阅管理方式较为一致;Android 默认选择 v2rayNG,它使用 Xray 内核;需要 V2Fly 内核时可选择 v2flyNG。客户端负责图形界面、配置组织和系统网络接管,真正执行协议与路由规则的是内核。理解这个分工后,排错时就能先判断问题来自订阅、客户端权限、内核配置还是本机网络,而不是反复删除和重装。
开始前准备四项信息
第一项是可用的订阅地址或单个节点分享内容。订阅地址通常由服务提供方生成,客户端只能读取其中的节点与分组,不能替订阅恢复有效期。复制时要保留完整链接,不要带入消息应用添加的句号、空格或换行。第二项是准确的系统时间。TLS 握手和证书验证依赖时间,日期、时区或分钟偏差明显时,常会表现为全部节点同时失败。建议开启操作系统的自动时间和自动时区,并在配置前完成一次同步。
第三项是明确设备架构。Windows 常见设备使用 x64;macOS 需要区分 Apple Silicon 与 Intel;Android 近年的主流手机通常选择 arm64,无法确认时可使用通用版;Linux 除 x64、arm64 外,还要根据发行版选择 deb 或 rpm。第四项是保留可直接联网的回退方式。首次配置不要立即同时开启系统代理、TUN 和复杂路由规则,应先导入订阅、选择节点并完成基本连通测试,再逐层增加功能。这样一旦出现异常,可以确定是哪一步改变了网络行为。
| 项目 | 确认方法 | 常见影响 |
|---|---|---|
| 订阅地址 | 重新从来源完整复制,检查首尾字符 | 更新失败、分组为空、节点未变化 |
| 系统时间 | 开启自动时间、自动时区并立即同步 | TLS 握手失败、证书时间异常 |
| 设备架构 | 在系统信息或设备信息中查看 | 安装包无法启动或无法安装 |
| 代理范围 | 先系统代理,按需求再启用 TUN | 部分程序未代理或路由冲突 |
先建立可恢复的基线
配置前记录当前系统代理状态、客户端内已有订阅名称以及正在使用的路由模式。桌面端可以先完全退出其他会修改系统代理或虚拟网卡路由的软件,移动端则检查系统当前是否已有活动的 VPN 连接。同一时间让多个工具接管系统代理或默认路由,常会导致请求绕回本机、DNS 解析路径混乱或界面显示已连接但应用无法访问。完成基础连接后,再逐一恢复确实需要的软件。
订阅与节点通常包含服务器地址、端口、用户标识、协议、传输方式、TLS 与服务器名称等字段。这些字段必须与服务端一致,不应根据名称自行猜测或随意改成“更快”的选项。VMess、VLESS、Trojan 和 REALITY 代表不同的配置组合,不存在对所有线路都通用的最佳协议。用户侧最稳妥的做法是完整导入来源提供的配置,只调整客户端本地的代理模式、路由规则、日志等级和订阅更新频率。
下载与权限的基本原则
客户端入口集中在下载中心。下载页按平台列出相应安装形式,并说明架构选择。本手册不固定具体版本号,因为界面细节会随客户端更新变化,但核心操作顺序保持稳定:安装或解压、启动客户端、创建订阅分组、更新订阅、选择节点、启动内核、开启系统接管。系统弹出网络扩展、防火墙或 VPN 连接授权时,应先阅读权限对象和用途;若拒绝了必要权限,之后需要进入系统设置重新允许,而不是持续点击连接按钮。
02 · WINDOWS
Windows:v2rayN 安装与系统代理
选择桌面版或经典 WPF 版
Windows 平台首推 v2rayN。下载页提供桌面版与经典 WPF 版:桌面版采用新一代跨平台界面,适合希望在不同桌面系统之间保持相近操作逻辑的用户;WPF 版是 Windows 上长期使用的经典界面,菜单位置与许多既有教程更接近。两者都能完成订阅管理、节点切换、系统代理、路由与日志查看。选择其中一个即可,不建议同时运行两个版本,因为它们可能竞争系统代理设置和本地监听端口。
下载安装形式后,先关闭正在运行的旧客户端。如果使用安装程序,按系统提示完成安装;如果使用解压形式,应完整解压到普通用户具有读写权限的目录,不要直接在压缩包预览窗口中启动。目录路径尽量简洁,避免放入会频繁同步、清理或限制执行权限的位置。第一次启动时,Windows 防火墙可能询问是否允许网络通信。仅在可信网络环境中按使用需求授权;普通单机使用通常不需要开放公共网络入站访问。
创建订阅分组并更新
进入订阅分组或订阅设置,新增一个分组名称,将完整订阅地址粘贴到地址栏。分组名称只用于本地识别,可以按用途命名,不会改变远端订阅。保存后执行“更新当前订阅”或对应的订阅更新命令。正常情况下,节点列表会出现新的条目;若列表没有变化,先查看状态栏和日志,不要连续重复点击。返回的 HTTP 状态、证书错误或超时信息,通常比界面上的简短提示更能说明问题。
更新成功后,选择一个节点设为活动服务器,再启动服务。首次测试不必立即测速全部节点,因为批量测试会同时建立较多连接,也可能受到本机防火墙、网络波动和目标站点响应的影响。更稳妥的顺序是先选一个配置完整的节点,开启系统代理,使用浏览器访问两个不同站点;基础连接可用后,再进行延迟测试或逐个切换。延迟只反映测试时刻的一小段链路状态,不等同于持续吞吐能力。
系统代理模式怎么选
v2rayN 启动内核后,通常会在本机监听 HTTP、SOCKS 等端口,但仅有监听端口并不代表所有程序会自动使用。开启“自动配置系统代理”后,遵循系统代理设置的浏览器与桌面软件会把请求交给客户端。若选择清除系统代理,内核仍可能运行,只是系统应用不再自动转发。排错时要区分“内核运行”和“系统代理已接管”这两个状态,避免看到托盘图标就判断代理已经作用于全部程序。
某些程序拥有独立代理设置,会忽略 Windows 系统代理。此时可以在程序内填写 v2rayN 显示的本地 HTTP 或 SOCKS 地址,主机通常为回环地址,端口以客户端当前设置为准。不要照抄其他设备的端口,也不要把服务器远端端口填成本地代理端口。如果程序既支持系统代理又配置了手动代理,应保留一种路径,防止重复转发。
TUN 模式与管理员权限
需要接管不读取系统代理的程序、命令行工具或部分游戏流量时,可以考虑 TUN。TUN 通过虚拟网络接口和路由规则处理流量,覆盖范围通常大于系统代理,因此对权限、DNS 和其他虚拟网卡更加敏感。首次启用时,系统可能要求管理员权限或安装网络组件。启用后先验证浏览器与常用应用,再检查局域网设备访问、公司网络客户端和虚拟机网络是否受到影响。
如果启用 TUN 后整个系统无法联网,先关闭 TUN,再确认普通系统代理是否可用。随后检查是否存在其他 VPN、虚拟机桥接、容器网络或安全软件驱动冲突。不要在异常状态下同时改动 MTU、DNS、路由规则和节点参数;应一次只改变一项。退出 v2rayN 前先清除系统代理或使用客户端的正常退出命令,可减少系统残留代理指向已关闭端口的情况。
netsh winhttp show proxy
ipconfig /flushdns
nslookup example.com
Windows 特有问题
浏览器可用但商店应用或命令行不可用,通常说明不同程序读取了不同代理来源。可以先用上述命令查看 WinHTTP 状态,再检查程序自身代理。若退出客户端后所有网页都打不开,进入 Windows 代理设置关闭手动代理,或重新启动 v2rayN 后执行清除系统代理。杀毒或防护软件拦截内核进程时,应根据日志中的实际进程路径检查规则,不要通过反复重装来掩盖权限问题。更多高频报错可在疑难解答中按现象查找。
03 · MACOS
macOS:v2rayN 安装、权限与网络接管
确认芯片架构并完成安装
macOS 使用 v2rayN 时,先在“关于本机”或系统信息中确认芯片类型。Apple Silicon 设备选择 arm64 安装包,Intel 设备选择 x64 安装包。架构不匹配可能表现为应用无法打开、系统提示不受支持,或在兼容层下运行但资源占用异常。下载完成后按安装包形式将应用放入“应用程序”目录,再从该目录启动。不要长期从下载目录或挂载镜像中运行,以免更新、权限和配置保存出现不一致。
首次启动可能出现来源确认、网络访问或后台项目提示。应在系统设置中找到对应应用并完成明确授权。如果应用窗口没有出现,先查看程序坞、菜单栏和活动监视器,确认是否已经在后台运行。重复启动多个实例可能造成本地端口占用。遇到系统阻止打开时,不应修改整台设备的全局安全策略,而应通过系统提供的单个应用确认入口处理。
导入订阅与基础连接
进入订阅分组管理,新增名称和订阅地址,保存后执行更新。macOS 与 Windows 的订阅内容可以相同,但客户端本地设置不会自动共享,例如系统代理状态、TUN 权限、绕过局域网规则和日志等级都要分别配置。节点出现后先选择一个活动节点,启动内核,再开启系统代理。浏览器测试时建议新开窗口,避免旧连接、缓存 DNS 或已有 HTTP/3 会话影响判断。
如果更新订阅时提示无法解析域名,应先在未启用客户端接管的状态下确认系统 DNS 是否正常;如果提示证书或握手失败,则检查系统时间、订阅地址和当前网络环境。仅订阅更新失败而已导入节点仍可连接,说明订阅请求路径与节点连接路径是两件事。可以保留当前节点正常使用,同时独立检查订阅服务,不必删除有效配置。
系统代理与应用差异
开启系统代理后,大多数遵循 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端口
scutil --proxy
dscacheutil -flushcache
上例中的中文端口说明需要替换为 v2rayN 当前显示的数字,只对当前终端会话生效。若不再需要,可关闭该终端窗口,或使用 unset HTTP_PROXY HTTPS_PROXY ALL_PROXY 清除变量。不要把临时变量永久写入所有终端启动文件,除非已经理解客户端未运行时命令会怎样处理连接。系统代理与终端环境变量同时存在并不一定冲突,但会增加排错路径。
TUN 与网络扩展权限
TUN 模式需要更深层的网络接管,首次开启时可能触发网络扩展、VPN 配置或系统密码确认。授权后应返回客户端确认状态是否真正变为已启用,而不是只看系统弹窗已经消失。若系统设置中存在多个网络过滤器或企业管理配置,TUN 可能无法建立、建立后立即断开,或改变局域网访问路径。先关闭其他同类网络接管程序,再重新启动客户端测试。
切换 Wi-Fi、有线网络或热点后,旧的路由与 DNS 状态可能短暂保留。出现“刚切网络后全部节点失败”时,先等待系统完成地址获取,再停止并重新启动客户端内核。仍然异常时关闭 TUN、刷新 DNS,然后用系统代理模式验证基础连接。如果系统代理正常而 TUN 失败,重点检查权限、虚拟接口和路由冲突,不要优先修改远端节点。
休眠、菜单栏与退出后的恢复
笔记本从长时间休眠恢复后,原有 TCP 连接、网络接口和 DNS 上游可能已经变化。客户端界面仍显示运行并不代表旧连接仍可复用。先执行一次断开和重连,再测试新请求。若应用窗口关闭后仍在菜单栏运行,这是桌面客户端常见行为;需要完全退出时使用应用菜单中的退出命令。完全退出前清除系统代理,可以避免系统继续把流量发送到已经关闭的本地端口。
局域网打印、文件共享或开发设备发现受影响时,检查路由规则是否将私有地址交给代理。常见私有网段和本地域名应根据实际网络保持直连。不要直接复制陌生的整套路由规则,因为公司网络、家庭网关和开发环境使用的私有地址范围并不完全相同。先记录无法访问设备的地址,再添加精确直连规则,通常比放宽全部流量更容易验证。
04 · ANDROID
Android:v2rayNG 与 v2flyNG 配置
客户端与安装包选择
Android 默认选择 v2rayNG,它使用 Xray 内核,适合大多数常见订阅与协议配置;需要 V2Fly 内核时可以选择 v2flyNG。两款客户端的基本操作相近,但配置数据库、内核能力和部分菜单并不完全相同,不应同时保持连接。近年的主流手机通常使用 arm64 安装包;无法确认设备架构或 arm64 包无法安装时,可返回Android 下载区选择通用版。
系统安装前可能要求允许当前浏览器或文件管理器安装应用。完成安装后可以关闭这项临时授权。首次打开客户端时,先不要急于授予所有后台权限;完成订阅导入和基础连接后,再根据设备系统的电池策略逐项调整。这样可以分清是配置错误还是后台限制。若从旧版本迁移,应先确认已有配置是否仍然可见,再决定是否重新导入,避免重复节点和重复分组影响选择。
导入订阅、分享内容与扫码
在客户端菜单中找到订阅分组设置,创建分组并粘贴完整订阅地址。保存后回到主界面执行更新订阅。若订阅来源提供的是单个分享内容,可以使用剪贴板导入;二维码只应在内容来源明确时使用,并检查导入后的地址、端口、协议和服务器名称是否完整。相机扫码只是录入方式,不会判断配置是否过期,也不会自动修正缺失字段。
节点列表出现后,点选一个节点作为当前配置,再点击连接按钮。Android 会弹出系统 VPN 连接请求,这是本地创建虚拟网络接口所需的系统确认。允许后,状态栏通常会出现系统 VPN 标识。此时先打开浏览器测试,再测试常用应用。若连接按钮很快自动恢复未连接状态,应立即查看日志,通常可以看到配置解析失败、端口占用、权限中断或内核启动失败的具体原因。
分应用代理与路由模式
移动端的应用流量通常通过系统 VPN 接口进入客户端。需要只让部分应用使用时,可以启用分应用代理,并选择包含模式或排除模式。包含模式表示只有选中的应用进入客户端;排除模式表示所选应用绕过客户端。更改应用名单后建议断开并重新连接,让系统重新建立路由。系统组件、浏览器内嵌页面和应用调用的外部服务可能属于不同进程,因此分应用结果应以实际测试为准。
路由模式决定进入客户端后的请求走代理、直连还是阻断。第一次连接建议使用客户端提供的基础规则,不要同时导入多个来源不明的规则集。出现某个应用能打开首页但图片或登录失败时,可能是该应用使用了多个域名,而规则只覆盖了部分请求。可以在日志中查找失败域名,再决定补充代理或直连规则。直接把整个应用改成一种路径虽然快捷,但会降低规则的可解释性。
后台运行与省电策略
不同手机系统对后台应用的限制差异很大。典型现象是锁屏数分钟后连接中断、切回应用后立即恢复,或系统清理后台后 VPN 标识消失。可以依次检查电池优化、后台活动、自启动和最近任务锁定。只调整与当前客户端相关的设置,不必关闭整台设备的省电机制。订阅自动更新频率也不宜过密;移动网络下频繁唤醒、更新大型分组和测速会增加电量与流量消耗。
关于后台耗电,可以阅读v2rayNG 耗电与省电策略排查。排查时应先看系统电池统计,区分屏幕前台使用、客户端自身运行和被代理应用产生的网络活动。客户端持续显示 VPN 服务并不等于异常耗电;大量重试、持续日志、频繁订阅更新、细碎路由规则和网络信号不稳定都会增加唤醒次数。
Android 特有故障
连接后只有个别应用不可用,先检查分应用代理名单和私人 DNS 设置。私人 DNS 使用特定主机名时,可能与客户端 DNS 路由组合产生不同结果,可以暂时切回自动模式用于定位。Wi-Fi 与移动网络切换后连接中断,可在系统完成网络切换后手动重连;如果始终无法恢复,先断开系统 VPN,再强制停止客户端并重新打开。不要在连接状态下频繁切换 v2rayNG 与 v2flyNG。
导入配置后提示格式错误,应回到来源重新复制,不要手工删除看似多余的字符。REALITY、TLS、传输路径与服务器名称等字段相互关联,一个字段不一致就可能导致握手失败。若所有节点同时超时,优先检查当前网络、系统时间、订阅有效性和 DNS;若只有一个节点失败,再对比该节点参数与同分组其他节点。按这个范围从大到小排查,比连续更换内核更有效。
05 · LINUX
Linux:v2rayN 安装、桌面代理与 TUN
选择 deb、rpm 与处理器架构
Linux 桌面平台使用 v2rayN。Debian、Ubuntu 及其常见衍生发行版通常选择 deb;Fedora、Rocky Linux、openSUSE 等使用 rpm 包管理体系的发行版可选择 rpm。还需要根据设备处理器选择 x64 或 arm64。不能只根据发行版名称判断架构,尤其是开发板、迷你主机和云桌面环境。可以在终端运行 uname -m:常见的 x86_64 对应 x64,aarch64 对应 arm64。
使用图形软件安装器时,双击软件包并确认依赖即可;使用命令行时,应在下载目录中对实际文件执行本地安装。包管理器可以同时解决依赖,通常比直接调用底层安装命令更稳妥。下面命令中的文件名用于说明操作形式,执行时应以下载页提供的实际文件名为准。
uname -m
cd ~/Downloads
sudo apt install ./v2rayN-linux-x64.deb
sudo dnf install ./v2rayN-linux-x64.rpm
不要在同一台设备上重复安装不同架构的软件包。若包管理器报告依赖缺失,先刷新发行版软件源并完成系统正常更新,再重新安装。若系统版本已经停止维护,强行替换系统库可能影响其他桌面应用,更合适的做法是先升级到仍受维护的发行版版本。安装完成后从应用菜单启动 v2rayN,并在日志中确认内核和配置目录能够正常读取。
订阅导入与桌面环境差异
创建订阅分组、粘贴地址、更新节点和选择活动服务器的流程与其他桌面平台一致。Linux 的差异主要出现在桌面代理设置:GNOME、KDE、轻量桌面和纯窗口管理器读取代理的方式不同,部分应用使用桌面设置,部分应用读取环境变量,浏览器也可能有独立代理选项。开启 v2rayN 的系统代理后,应分别测试浏览器、终端和需要使用的桌面程序。
如果浏览器正常而终端命令直连,说明命令行工具没有读取桌面代理。可以按工具文档设置当前会话的 HTTP、HTTPS 或 SOCKS 代理,端口以 v2rayN 界面为准。如果客户端未运行,这些环境变量会指向没有监听的本地端口,因此不建议不加判断地写入所有 Shell 启动脚本。服务器或无桌面环境并不是本手册的主要使用场景,本页以图形客户端和本地桌面会话为准。
TUN、权限与 DNS
TUN 模式需要创建虚拟接口并修改路由,通常涉及管理员授权、系统能力或网络管理服务。启用后可以覆盖不读取桌面代理的程序,但也更容易受到容器网络、虚拟机桥接、企业 VPN 和自定义防火墙规则影响。首次测试时先关闭这些额外网络层,确认 v2rayN 的 TUN 能够单独工作,再逐项恢复。若接口创建失败,应查看客户端日志和系统日志中的权限信息,而不是直接放宽整个系统目录权限。
Linux 上的 DNS 可能由 systemd-resolved、NetworkManager、桌面网络服务或本地解析器管理。出现域名失败但直接访问已知地址有响应时,应检查解析链。可以使用 resolvectl status 查看当前 DNS 上游和各接口状态,使用 resolvectl query example.com 测试解析。若系统没有该命令,则按发行版所用网络服务选择等价工具。修改前记录原配置,避免排错结束后无法恢复。
ip address
ip route
resolvectl status
resolvectl query example.com
ss -lntup
端口占用与会话启动
客户端启动内核时报端口占用,可以用 ss -lntup 查找本地监听程序。常见原因是旧实例没有退出、另一个代理工具使用了相同端口,或桌面会话恢复后残留进程仍在后台。优先正常退出旧进程,再重新启动客户端;不要随意结束不认识的系统服务。调整本地端口后,所有手动填写该端口的浏览器、开发工具和环境变量也要同步更新。
如果设置为登录时启动,需要确认客户端启动时间晚于用户桌面网络服务,并验证系统代理是否在异常退出后能够恢复。共享电脑上不要把个人订阅写入全局可读配置目录。配置文件和日志可能包含服务器地址、订阅请求信息与运行错误,应限制在当前用户目录并定期清理不再需要的旧日志。排查完成后把日志等级从调试恢复到信息或警告,可减少磁盘写入。
发行版更新后的检查
系统大版本更新可能改变图形库、网络服务、防火墙后端或内核模块。更新后若系统代理仍可用而 TUN 失败,应先重新确认虚拟接口权限和路由服务;若客户端无法启动,则从终端启动一次并读取缺失库或显示服务错误。不要把桌面启动器无响应直接归因于节点。基础环境修复后,再检查订阅和连接。长期稳定使用时,记录当前正常工作的代理模式、DNS 策略和自定义路由,系统更新后按同一清单逐项验证。
06 · SUBSCRIPTION
订阅、节点与协议参数管理
订阅是什么,客户端保存什么
订阅是一份由远端地址返回的配置集合,客户端更新后把其中的节点保存到本地分组。它并不是实时连接通道,也不会在每次网络请求时访问订阅地址。节点连接是否可用,取决于导入后的服务器地址、端口、用户标识、协议、传输、加密与 TLS 参数。订阅更新失败时,旧节点通常仍保留;是否继续可用取决于服务端,而不是更新按钮本身。
建议按来源或用途建立分组,不要把所有地址都放在一个名称下。分组清晰后,可以单独更新、删除和检查变更,也便于判断某批节点同时失败是否来自同一订阅。更换订阅地址时,先新增并成功更新,再删除旧分组,避免复制错误后没有可用配置。若客户端提供更新时清理旧节点的选项,应先理解它是按分组替换还是全局删除。
更新失败的固定检查顺序
第一步确认普通网络与系统时间;第二步重新复制完整地址;第三步查看订阅请求日志中的状态;第四步在当前客户端关闭系统代理或切换订阅更新所用路径后重试;第五步确认来源是否要求额外认证。不要先修改节点协议,因为订阅请求通常是普通 HTTPS 请求,与节点内部的 VMess、VLESS 或 Trojan 参数不是同一层。完整流程可参考安装配置疑问。
如果日志显示超时,检查 DNS、当前网络和订阅服务可达性;显示证书时间异常,先同步系统时钟;显示未授权或拒绝访问,应回到订阅来源确认地址与状态;返回内容无法解析,则可能复制到了网页地址、登录地址或被中间应用截断。连续快速重试可能触发服务限制,也会让日志堆叠难以阅读。每次修改一项后执行一次更新,并记录结果。
节点字段之间的关系
一个完整节点通常包含地址、端口、用户标识、协议、安全方式、传输类型、TLS 设置、服务器名称和路径等。协议名称相同并不代表配置可以互换。例如同为 VLESS,是否使用 TLS、REALITY、WebSocket、gRPC 或其他传输会决定后续必填字段。服务器名称通常参与证书或握手判断,路径可能区分不同服务入口。手动编辑时必须依据来源提供的参数,不应把另一个节点中看起来有效的字段拼接进来。
| 字段 | 作用 | 检查重点 |
|---|---|---|
| 地址与端口 | 确定远端连接目标 | 域名是否可解析,端口是否完整 |
| 用户标识 | 用于服务端识别配置 | 复制是否完整,是否属于当前节点 |
| 传输方式 | 规定连接承载形式 | 路径、服务名等附加字段是否匹配 |
| TLS 与服务器名称 | 参与加密握手与名称验证 | 系统时间、名称拼写与开关状态 |
| REALITY 参数 | 组成对应协议握手配置 | 公钥、短标识、指纹等是否成组导入 |
VMess、VLESS、Trojan 与 REALITY
协议选择应以服务端配置和订阅内容为准。VMess 包含自身的用户认证与安全参数;VLESS 的配置较轻,常与 TLS 或 REALITY 等组合使用;Trojan 的认证形式和 TLS 配置需要与服务端保持一致;REALITY 通常作为特定握手组合的一部分出现,并不是在任意节点上单独打开就能生效的加速选项。客户端支持某个协议只表示具备解析和运行能力,不代表任意服务端都能接受该配置。
从订阅导入时,尽量保持字段原样。只有在明确知道服务端变更后,才手动修改对应项。连接失败时先对比同一订阅中可用与不可用节点的差异:如果全部使用相同域名但端口不同,可关注端口和远端状态;如果只有某种传输失败,检查路径、服务名称和 TLS;如果所有 TLS 节点同时失败,检查时间与网络环境。关于内核关系与协议支持边界,可阅读Xray 与 V2Fly 内核区别。
测速、排序与更新频率
节点测速可分为基础连通、连接延迟和实际下载测试。连通测试回答“能否建立请求”,延迟测试反映测试目标在当时的往返时间,实际下载则更受线路负载、目标站点和本机网络影响。不要只按一次延迟结果永久排序,也不要在移动网络中频繁批量测试。更实用的做法是保留几个经过实际访问验证的节点,在出现波动时按分组切换。
订阅自动更新频率取决于来源变化速度和设备使用习惯。桌面常开设备可以设置合理的定时更新,移动端更应考虑后台唤醒和流量。更新后当前节点被移除时,客户端可能保持旧配置到下一次重启,也可能立即要求重新选择,具体行为取决于客户端实现。重要工作前先手动更新并验证一个节点,比在使用过程中高频自动变更更可控。
07 · ROUTING
系统代理、TUN、DNS 与路由分流
四层路径不要混在一起
理解流量路径是配置路由的基础。第一层是应用是否把请求交给客户端:浏览器可能读取系统代理,终端工具可能读取环境变量,Android 应用通常经系统 VPN 接口进入。第二层是客户端本地入口,例如 HTTP、SOCKS 或 TUN。第三层是路由规则决定代理、直连或阻断。第四层才是选中的远端节点和协议。某个网页打不开时,应沿这四层逐步检查,而不是直接认定节点不可用。
系统代理适合遵循操作系统代理设置的应用,配置简单、影响范围清楚。TUN 接管更广,可以覆盖没有代理选项的程序,但会改变路由与 DNS 路径,也更容易与其他虚拟网络冲突。手动代理适合只让某个开发工具或浏览器使用。三种方式可以在特定场景组合,但初次配置应只启用一种主要接管方式。否则同一请求可能被重复转发,或者不同应用走完全不同的路径。
直连、代理与阻断规则
路由规则通常根据域名、IP、端口、网络类型或应用进程匹配。规则从上到下或按客户端定义的优先级执行,首个明确匹配常会决定流量去向。直连适合局域网设备、打印机、网关和明确希望使用本地网络的服务;代理用于需要通过当前节点转发的请求;阻断可用于拒绝特定域名或协议。规则最终应有一个默认出口,避免未匹配流量行为不明确。
{
"type": "field",
"domain": [
"domain:intranet.example",
"full:printer.lan"
],
"outboundTag": "direct"
}
上面的结构展示按域名直连的基本含义,实际导入位置与标签名称以客户端路由编辑器为准。domain: 通常匹配指定域名及相应范围,full: 用于完整名称匹配。规则语法不能脱离当前内核版本和客户端生成方式单独使用,因此不应把整段配置覆盖到现有文件。图形界面能够生成规则时,优先在界面中添加并验证,减少 JSON 层级或标签拼写错误。
局域网、私有地址与共享
家庭网关、网络存储、打印机和开发设备通常使用私有地址。如果开启全局代理或 TUN 后这些设备不可访问,检查私有地址是否被错误送往远端。常见范围包括 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16,但实际环境还可能使用本地域名或其他内部地址。添加直连规则后,应分别测试地址访问、域名访问和设备发现,因为广播与单播行为不同。
允许局域网设备使用本机代理属于另一项功能,它会让客户端监听不止回环地址。开启前要确认当前网络可信,并检查防火墙只放行必要网段与端口。客户端显示的本地代理端口不是远端节点端口。其他设备手动填写时,应使用运行客户端这台电脑的局域网地址和本地监听端口。电脑休眠、地址变化或客户端退出后,共享自然会中断,因此不适合作为没有维护的长期网关。
DNS 路径与泄漏式误判
DNS 决定域名先解析成哪个地址,路由再处理相应连接。域名规则可能在解析前匹配,也可能需要解析结果参与判断,取决于客户端和内核配置。常见异常包括域名失败但地址可达、某些域名解析到不适合当前网络的结果、TUN 开启后解析超时,以及系统缓存仍保留切换前的记录。排错时先用系统工具测试解析,再查看客户端 DNS 日志,不要同时替换多个公共解析服务。
浏览器自身可能启用安全 DNS,并绕过部分系统解析路径。出现系统命令和浏览器结果不一致时,应检查浏览器网络设置。Android 的私人 DNS、macOS 的网络服务、Windows 的缓存以及 Linux 的本地解析器也会形成不同层级。为了定位问题,可以短暂恢复系统自动 DNS、关闭浏览器独立解析,再测试客户端默认配置;确认基础路径后,再逐项恢复自定义设置。
TUN 的 MTU、虚拟网卡与冲突
TUN 通过虚拟接口接收流量。部分网络对数据包大小、分片和 UDP 路径较敏感,可能出现普通网页能打开但大文件、视频或特定应用卡住。MTU 是可能因素之一,但不应在没有证据时随意改成极端数值。先确认问题只在 TUN 出现,再用系统代理对照测试;若只有特定网络发生,可记录网络类型、失败应用和日志中的超时位置,再进行小范围调整。
虚拟机、容器、企业 VPN、游戏加速工具和安全过滤软件都可能创建虚拟接口或修改路由。冲突时最有效的方法是建立单变量环境:只保留 v2rayN 或 Android 客户端的接管,确认可用后依次开启其他软件。每恢复一项就测试 DNS、浏览器、局域网和目标应用。这样可以找出真正竞争默认路由或 DNS 的组件,而不是把多个工具都设为开机启动后等待偶发故障。
08 · TROUBLESHOOTING
连接故障、日志阅读与日常维护
先按影响范围分类
排错的第一步不是换节点,而是判断影响范围。所有节点、所有应用都失败,优先检查本机网络、系统时间、客户端内核、DNS 与订阅状态;只有一个节点失败,重点检查该节点地址、端口与协议参数;只有一个应用失败,检查该应用是否读取系统代理、是否被分应用规则排除,以及是否使用独立 DNS;只有开启 TUN 才失败,则优先看权限、虚拟接口和路由冲突。范围判断正确后,检查项会明显减少。
第二步建立对照。关闭 TUN,使用系统代理测试;清除自定义路由,使用客户端基础规则测试;保留同分组中一个已知可用节点,与失败节点对比;从 Wi-Fi 切换到另一种正常网络时,记录结果而不是只说“还是不行”。对照测试的价值在于确定故障层级。详细的固定顺序也可阅读节点超时排查指南。
日志等级与关键词
日常使用保持信息或警告等级即可。需要排查时临时切换到调试等级,复现一次问题,然后立即保存关键片段并恢复原等级。日志应从点击连接或发起请求前几秒开始读,不要只截最后一行。前面的配置加载、DNS 查询和连接目标经常决定后面的 timeout 或 rejected。日志可能包含服务器地址、域名和本地路径,分享前应删去个人订阅地址和可识别信息。
| 日志表现 | 常见含义 | 优先动作 |
|---|---|---|
| timeout | 在限定时间内未完成解析、连接或握手 | 区分超时发生在哪一阶段,再查网络与目标 |
| connection refused | 目标地址可达,但对应端口拒绝连接 | 核对地址、端口与远端服务状态 |
| invalid user | 用户标识或认证配置不匹配 | 重新导入配置,不自行拼接字段 |
| TLS handshake failed | TLS 参数、名称、时间或链路不匹配 | 检查时间、服务器名称与订阅原始参数 |
| address already in use | 本地监听端口已被占用 | 退出旧实例或调整本地监听端口 |
timeout 本身不是原因,只表示某一步等待结束。要看它前面的目标地址、网络类型和阶段。解析前超时重点查 DNS,TCP 建连超时查网络与端口,握手阶段超时查协议与 TLS 参数。rejected 可能来自路由阻断、远端拒绝或本地策略,也需要结合上下文。更多示例见v2rayN 日志阅读方法。
连接成功但网页打不开
客户端显示已连接,只能说明内核或虚拟接口已经启动,不代表目标请求成功。先确认系统代理或 TUN 确实开启,再检查浏览器是否设置了独立代理。尝试访问一个此前未打开的普通页面,排除旧缓存和已有连接。随后测试 DNS:如果域名失败但其他请求正常,重点查看解析;如果全部请求都超时,检查当前节点、路由默认出口和本地防火墙。
只有部分网页异常时,查看日志中相关域名走了哪个出口。网页通常同时请求主域名、静态资源、登录接口和图片域名,规则可能让它们走向不同路径。暂时切换到较简单的基础路由可以验证是否为分流造成。若基础路由正常,再逐条恢复自定义规则。不要通过关闭所有系统安全组件来测试;应定位到具体被阻止的进程、端口或接口。
退出后断网与代理残留
桌面客户端异常退出后,系统代理可能仍指向本机端口,而对应内核已经停止监听,于是所有遵循系统代理的应用都无法联网。恢复方法是重新启动客户端并正常清除系统代理,或进入操作系统网络设置关闭手动代理。Windows 还要区分用户系统代理与 WinHTTP,macOS 可通过系统网络设置确认,Linux 则同时检查桌面代理和终端环境变量。
TUN 异常结束后若路由没有及时恢复,可以先重启网络连接或设备,再确认虚拟接口是否仍存在。只有在理解具体路由项来源时才手动删除,避免误删正常网关。移动端可以从系统 VPN 设置断开活动连接,然后强制停止客户端。恢复普通网络后,再重新打开客户端验证,不要在系统仍处于异常路由状态时继续导入订阅。
配置备份与更新维护
长期使用应备份客户端提供的配置导出文件或记录订阅来源,但不要把含有个人订阅地址的文件放入公共共享位置。更换设备时,优先在新设备上重新安装客户端并导入订阅,再按本手册配置系统代理、TUN 和路由。直接复制整个旧配置目录可能带入旧端口、旧路径、缓存和不适合新平台的设置。迁移完成后,逐项验证订阅更新、节点连接、DNS、局域网和常用应用。
客户端更新前先正常退出,并记录当前可用的关键设置。更新后不要立即同时修改路由和节点;先确认原订阅可以读取、内核能够启动、系统代理可以工作,再测试 TUN。若新版界面菜单位置变化,可以围绕功能名称查找,而不必依赖固定截图。v2rayN、v2rayNG 与 v2flyNG 的核心操作始终围绕分组、节点、内核、路由和日志展开。
一条可重复的最终排查链
遇到无法连接时,可以固定执行以下顺序:确认本机不使用客户端时能够正常联网;同步系统时间;关闭其他网络接管软件;检查订阅是否能更新;选择一个已知配置完整的节点;只开启系统代理或移动端基础连接;用浏览器发起新请求;查看从启动到请求失败的完整日志;根据失败阶段检查 DNS、端口、协议或权限;最后才恢复 TUN、自定义路由和后台自动化。每完成一步都记录结果。
如果仍无法定位,整理操作系统、客户端名称、接管方式、影响范围、日志关键词和已经完成的检查,再到疑难解答页面按分类比对。清楚描述“哪个平台、哪个模式、所有还是单个节点、所有还是单个应用”比只提供一张连接失败截图更有效。系统化排查的目标不是一次尝试很多设置,而是每次排除一层,最终留下可以验证和恢复的配置。