INSTALLATION · CONFIGURATION · ROUTING

COMPLETE HANDBOOK

V2Ray 全平台安装配置大全

覆盖 Windows、macOS、Android、Linux,从客户端选择与订阅导入开始,继续说明系统代理、TUN、路由分流、日志阅读和稳定维护。

v2rayN v2rayNG v2flyNG Xray · V2Fly

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/8172.16.0.0/12192.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、自定义路由和后台自动化。每完成一步都记录结果。

如果仍无法定位,整理操作系统、客户端名称、接管方式、影响范围、日志关键词和已经完成的检查,再到疑难解答页面按分类比对。清楚描述“哪个平台、哪个模式、所有还是单个节点、所有还是单个应用”比只提供一张连接失败截图更有效。系统化排查的目标不是一次尝试很多设置,而是每次排除一层,最终留下可以验证和恢复的配置。