配置层级与验证基线
客户端界面、代理内核与操作系统网络设置是三个不同层级。v2rayN 负责管理服务器、订阅和路由,再生成或调用内核运行配置;系统代理决定部分应用是否使用本地代理入口;TUN 则通过虚拟网络接口接管符合条件的流量。界面显示已启动,只能说明某个启动动作完成,不能代替解析、路由和远端连接的逐段验证。
先区分界面选项与原生配置
普通服务器条目通常由客户端生成配置,适合在界面中调整。自定义配置可能直接交给指定内核,客户端的部分路由、DNS 或端口选项未必继续参与生成。修改前先判断当前条目属于哪一种,否则容易出现界面已经保存,实际运行文件却没有变化的情况。不要直接编辑临时生成的文件;客户端下一次切换服务器或重启时,临时内容可能被重新生成。
本手册中的 JSON 片段主要采用 Xray 风格字段,标为“合并片段”的代码不是独立启动配置。v2rayNG 常用 Xray 内核,v2flyNG 属于 V2Fly 内核路线;两者不能仅凭字段名称相似就互换完整配置。v2rayN 的 TUN 接管组件与代理内核也可能分开运行,接管侧的 DNS、路由语法应按当前组件确认,而不是直接套用代理内核字段。
| 层级 | 主要职责 | 先检查什么 |
|---|---|---|
| 客户端管理层 | 订阅、条目、配置生成 | 当前条目与已选配置 |
| 代理内核层 | 协议、DNS、路由与出站 | 启动错误与实际出站标签 |
| 系统网络层 | 系统代理、虚拟接口、路由 | 代理入口与接口归属 |
建立能够复现的基础连接
开始前保留一份可用配置,记录所选服务器、系统代理模式、本地监听端口和路由方案。订阅地址与认证字段不应出现在公开记录中。先关闭 TUN,只用一个明确遵循系统代理的应用访问目标,再检查客户端日志是否出现对应连接。若基础代理尚未正常工作,继续增加 FakeDNS、自定义出站或复杂分流,只会让故障来源变得难以区分。
验证不能只看一个网页。建议准备一个应直连的站点、一个应经代理访问的站点,以及一个本机或局域网服务。分别记录能否解析、能否建立连接、日志指向哪个出站。浏览器缓存可能掩盖 DNS 变化,后台已有连接也可能继续使用旧路径;修改路由后应重新建立连接,必要时完全退出测试应用,再进行同条件对照。
每次只调整一个层级
推荐顺序是先整理订阅,再配置路由,接着处理 DNS,最后启用 TUN 与 FakeDNS。每次保存后观察启动日志,再执行同一组访问测试。出现问题时先撤回刚改动的一项,而不是同时关闭多个开关。这样保留下来的结果才有解释力:能够判断是规则改变了路径,还是解析结果变化,或是系统接管范围发生了变化。
排错记录只需包含客户端名称、所用内核、配置类型、触发操作和脱敏日志。若需要更新客户端,前往下载中心按系统选择安装入口;若基础连接仍然超时,可先查阅疑难解答。更新不应代替定位问题,尤其不能在更新前删除唯一可用的配置和回退记录。
订阅分组与服务器过滤
订阅分组的首要作用是隔离来源,不是改变连接协议。每个订阅来源单独建组,可以明确更新范围、条目归属与停用边界。v2rayN 通常在“订阅分组”相关入口添加名称和地址;v2rayNG、v2flyNG 在订阅设置中管理来源。不同客户端的菜单文字可能不同,但原则相同:先建立来源,再更新该来源,最后检查导入结果。
按来源建组,再决定显示范围
组名建议描述来源用途,例如“日常来源”“备用来源”“手工配置”。不要把凭据、完整订阅地址或账单信息写进名称。多个来源即使提供相似条目,也应保持分组独立;后续某个来源停止更新时,可以只停用对应组,而不必从一张混合列表中反查。手工条目宜另建组,避免与订阅生成的条目混在一起。
填写订阅地址时,保留完整查询参数。部分订阅依靠地址中的令牌识别账户,随意删去问号后的内容会使更新失败。若地址由二维码或剪贴板导入,注意首尾空格、换行与全角标点。不要在公共转换服务中提交含认证信息的地址;格式处理优先使用可信的本地方式,具体结构可查阅订阅链接格式说明。
理解过滤发生在哪一步
“搜索”“显示过滤”“导入过滤”并不是同一件事。搜索通常只改变列表显示,不删除服务器;导入过滤可能使不匹配的条目根本不进入当前分组;删除则会改变本地条目集合。调整前先看选项说明,确认过滤是否会影响下一次订阅更新。无法确认时,先使用列表搜索,不要直接在订阅入口写入复杂表达式。
如果当前客户端支持正则表达式,可用简单且有边界的规则筛选名称。先在少量条目上验证,再扩展到整个来源。订阅名称由提供方决定,可能包含前缀、空格或不同语言,因此名称匹配并不等同于地理位置判断。过滤结果为空时,应先取消过滤重新更新,确认原始订阅确有条目,再检查大小写、分隔符和表达式语法。
^(日常|备用)-
^(?!.*测试).*$
上面两行是相互独立的正则示例:第一行匹配以“日常-”或“备用-”开头的名称;第二行排除名称中含“测试”的条目。只有明确标注支持正则的字段才适合使用,普通搜索框不一定解释这些符号。名称筛选仅用于管理列表,不能证明协议兼容、服务可用或路径符合预期。
更新后检查条目变化
更新指定分组后,先检查协议类型、地址、端口与传输方式是否成功解析。条目数量发生变化可能来自来源调整、过滤规则或格式识别差异,不应直接理解为客户端丢失配置。若整个分组消失或为空,先查看更新响应与解析错误,再恢复此前的过滤条件。重复点击更新通常不能解决格式不兼容,反而可能触发来源端请求限制。
不要依靠在订阅条目里手工改名、改传输参数来保存长期修正。下一次更新可能覆盖这些变化,也可能重建条目。确有临时修正需求时,将条目复制到手工分组,清楚标注用途,并记录与原条目的差异。原订阅仍保持原样,方便判断问题出在来源数据还是本地修改。
切换分组不一定等于切换正在使用的服务器。更新后应重新确认当前选中项,尤其是原条目被移除或重新生成时。移动端还要检查服务是否需要重新启动才能载入变化。以启动日志中的实际目标与出站为准,不以列表高亮颜色作为唯一依据;列表整理完成后,再进入路由配置,避免把来源管理问题误判为分流故障。
路由规则实战与匹配顺序
路由负责把流量送到指定出站,不负责修复服务器协议参数。Xray 风格的字段规则通常按顺序检查,先命中的规则决定路径。具体域名规则应放在宽泛分类之前,局域网保护规则应避免被全量代理规则遮住。未命中的连接还需要明确默认去向;在原生配置中,通常由首个出站承担默认路径,客户端生成配置则需检查其实际行为。
先定义意图,再写匹配条件
开始前用自然语言写出三类需求:哪些目标必须直连,哪些目标必须代理,哪些目标应阻断。不要先堆入大批规则,再尝试从结果推断意图。v2rayN 可从“路由设置”选择方案并编辑规则;移动端预设路由适合常用分流,自定义规则能力则随客户端入口而异。导入整份原生配置时,应确认界面路由是否仍参与生成。
域名匹配中,full: 用于完整域名,domain: 匹配域名及其子域,keyword: 检查关键词,regexp: 使用正则。对明确服务优先使用前两种,避免关键词误伤无关域名。geosite: 引用域名分类,geoip: 引用地址分类;对应数据文件必须存在,且包含所引用的类别。
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["full:example.com"],
"outboundTag": "proxy"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "direct"
}
]
}
}
这是合并到完整配置的路由片段,假定已有 direct 与 proxy 两个出站。示例把完整域名例外放在地域分类之前,使该目标不会被后面的宽泛规则覆盖。它没有定义默认出站,也没有创建代理服务器;直接保存为独立文件不能启动。实际使用时应将示例域名换成明确需要处理的目标,并检查已有规则的上下关系。
域名条件与 IP 条件的边界
同一条规则中的多个域名通常按其中任意一项命中处理,不同类别条件则通常需要同时满足。把域名和 IP 都放进同一条规则,不等于“域名或 IP 任一满足”。若目标是分别匹配,应拆成两条规则。还要注意域名信息是否存在:应用直接访问 IP 时,单纯的域名规则无法凭空知道原始域名,嗅探也不是对所有协议都有效。
AsIs 不为路由主动补做域名解析;IPIfNonMatch 在域名规则未命中时再尝试解析以匹配 IP;IPOnDemand 更早触发解析。这里控制的是路由匹配需要的解析时机,不是全局 DNS 代理开关。选用 IP 分类规则后,应把解析器的访问路径也纳入检查,否则规则可能正确,却因 DNS 请求本身无法到达而停在匹配之前。
用日志验证例外是否生效
保存规则后重建连接,检查目标域名、匹配结果和出站标签。若只有某个应用不符合预期,先看它交给代理的是域名还是 IP,再看它是否使用独立的加密 DNS。若所有例外都失效,优先检查规则顺序、是否加载了正确方案,以及标签拼写。出站标签区分具体字符串,规则引用不存在的标签不能形成有效路径。
地域分流还存在边界:域名分类与当前解析地址不一定落在同一地区,内容分发服务也会动态调度。对确有需求的目标使用明确例外,而不是假定分类数据能反映每次连接的全部业务含义。更细的前缀与覆盖关系见路由语法与优先级手记。调整后若访问变慢,先恢复原方案做对照,再判断是否需要增加规则。
DNS 配置与解析路径
DNS 问题要拆成三个对象:谁发起查询,谁处理查询,查询请求经哪条路径到达上游。浏览器、操作系统、代理内核和 TUN 接管组件都可能处理解析。修改客户端里的 DNS 地址,不代表所有应用立即采用该地址;应用自带的加密 DNS、系统缓存和已建立的连接,都可能继续影响观察结果。
先明确内置 DNS 的职责
代理内核的内置 DNS 通常用于内部域名解析、路由判断或特定出站行为,它不一定自动成为系统默认解析器。系统代理模式下,一些应用会先由系统解析,再把 IP 交给代理;另一些应用则把域名交给代理入口。两条路径看到的 DNS 行为不同。要实现系统查询接管,通常还需要 TUN 侧的 DNS 劫持或相应系统设置。
v2rayN 的 DNS 界面可能按所用内核分开配置。v2rayNG 的远程 DNS、本地 DNS 与相关路由选项也应结合当前模式理解,不要仅凭“远程”二字判断流量必然通过代理。先保留客户端默认方案,确认普通连接可用,再调整上游地址与域名分流。完整替换 DNS 配置前,应记录已有规则与备用解析器的用途。
{
"dns": {
"servers": [
{
"address": "223.5.5.5",
"domains": ["geosite:cn"],
"skipFallback": true
},
"1.1.1.1"
],
"queryStrategy": "UseIP"
}
}
这是 Xray 风格的 DNS 合并片段,展示分类查询与备用解析器,不保证适合每个网络。domains 为对应域名选择服务器,skipFallback 使该服务器不参与其他域名的常规回退。它不表示被选中的域名永远不能尝试其他服务器,完整回退行为还受其他选项影响。上游能否访问、如何出站,仍需在实际配置中验证。
加密解析与引导解析
使用以域名表示的加密 DNS 服务时,客户端必须先知道该服务地址,才能建立加密连接,这就是引导解析问题。若引导解析又依赖同一个尚未建立的服务,就会形成循环。应使用明确可达的引导路径,或采用当前内核支持的静态映射方式。不要只把普通 DNS 地址换成一个加密地址,就假定解析链路已经完整。
远端代理服务器的域名也属于这条链路。若服务器地址必须通过代理才能解析,而代理又需要先连接服务器,启动就会卡在前置解析。排错时先检查服务器域名能否在服务启动前解析,再检查上游连接是否被错误送回自身。加密 DNS 保护的是查询传输过程,不会自动修正路由、服务器证书或错误的系统时间。
IPv4、IPv6 与缓存的影响
UseIP 允许使用两类地址结果,并不保证系统具备正常的 IPv6 连通性。若网络提供了 IPv6 地址但出口不可用,应用可能等待连接失败后才回退,表现为首开缓慢。先比较 IPv4 与 IPv6 的实际路径,再决定是否采用仅 IPv4 的查询策略。关闭某个查询类型也不能覆盖所有应用自行解析或直接使用 IP 的行为。
验证 DNS 时,系统查询工具只能说明系统所用解析器的结果,不一定证明代理内核的内置 DNS 工作正常。应同时查看客户端日志和应用连接记录。修改后需要考虑系统缓存、浏览器缓存与内核缓存;逐一清理或重启测试对象,比反复更换上游更容易获得可解释的结果。缓存未过期时,一次成功访问不能证明新解析器已经参与查询。
若域名能解析却无法访问,继续检查返回地址与路由出站是否一致,不要继续停留在 DNS 层。若只有局域网短名称失效,则检查搜索域与本地解析服务是否被接管。企业内部域名、打印服务名称和家庭网络设备可能依赖本地 DNS,适合设置明确的本地解析例外,而不是全部交给公共上游。
TUN 模式与系统流量接管
系统代理只对遵循代理设置的程序有效。TUN 创建虚拟网络接口,再配合系统路由把符合条件的 IP 流量交给接管组件,因此能够处理部分不读取系统代理设置的应用。它不等于把所有连接强制送到远端:流量被接管之后,仍要经过 DNS、规则和出站选择,最终可以直连、代理或阻断。
开启前检查基础路径
先在系统代理模式下确认同一服务器可用,再关闭其他可能争用默认路由的网络接管工具。v2rayN 通常从主界面进入 TUN 设置并启用相应开关,权限不足时需要按客户端提示重新启动。桌面系统对虚拟接口、路由表和防火墙的授权方式不同,不应把某一系统的管理员操作直接套到所有平台。
Android 端通过系统 VPN 授权建立接管。v2rayNG 与 v2flyNG 首次启动服务时会请求相应权限;同一用户空间通常只能由一个 VPN 服务占用该位置。这里的系统授权与桌面 TUN 的实现细节不同,不能把桌面虚拟接口参数原样导入手机。启用按应用代理后,还需单独检查允许或排除的应用列表。
| 检查项目 | 系统代理 | TUN 或系统 VPN 接管 |
|---|---|---|
| 应用是否遵循代理设置 | 通常需要 | 主要由接管范围决定 |
| DNS 查询归属 | 常由应用或系统处理 | 取决于 DNS 接管配置 |
| 局域网访问 | 受代理绕过设置影响 | 受系统路由和分流规则影响 |
| 运行权限 | 通常只需修改代理设置 | 需要接口或系统 VPN 授权 |
避免回环与局域网误接管
代理服务器自身的连接必须能够从真实网络接口发出,不能再次进入同一接管入口,否则会形成回环。客户端通常会处理必要的绕过与接口绑定,但自定义路由、手工网关设置或多个接管程序可能破坏这一前提。若开启后所有连接立即中断,先退出 TUN,确认基础代理恢复,再查默认路由、服务器地址绕过和实际出口接口。
局域网直连也有两层含义:系统路由能否把流量送到本地接口,以及代理规则是否把私有地址分配给直连出站。只有后者正确,仍可能因前者被改写而无法访问打印机或网关。应使用本地设备的明确 IP 测试,再测试设备名称;IP 能访问而名称失败时,优先回到本地 DNS 检查,不要继续修改全部路由。
逐项验证接管效果
启用后依次测试浏览器、原本不遵循系统代理的应用和局域网服务。浏览器正常并不能证明接管覆盖全部应用,因为它可能仍在使用系统代理。若需要区分路径,可在受控测试中暂时取消系统代理,只观察 TUN;测试完成后恢复明确的日常方案。两个入口同时开启并非必然错误,但会增加判断应用路径的难度。
UDP 应用还依赖服务器协议、远端支持与本地防火墙,TUN 本身不会补齐这些能力。部分连接正常、部分长时间无响应时,先确认问题是否集中在 UDP、IPv6 或较大报文,再决定是否检查 MTU。不要未经对照就把 MTU 调得很小;过小会增加分片与处理成本,且未必触及真正原因。
退出 TUN 后若网络未恢复,应先使用客户端正常停止服务,再检查系统是否残留代理设置、虚拟接口或错误路由。不要直接删除所有网络接口,也不要长期关闭防火墙作为处理方式。更完整的开启步骤见v2rayN TUN 虚拟网卡设置;移动端超时则可对照连接超时排查顺序定位。
FakeDNS 与域名映射
FakeDNS 为查询域名分配合成 IP,并在内部维护域名与地址的映射。应用随后连接该地址时,接管组件可恢复原始域名,再进行域名分流或交给代理出站解析。合成地址不是目标服务器的真实地址,也不是新的远端服务器。它的价值在于保留域名上下文,减少应用先解析成真实 IP 后丢失域名信息的情况。
开启条件是完整的映射链路
FakeDNS 至少需要三部分配合:查询进入指定解析器、合成地址连接被同一套接管链路捕获、连接处理阶段能够恢复域名。只在 DNS 服务器列表中加入一个名称,而没有接管对应流量,应用可能直接把合成 IP 发往普通网关。反过来,仅配置嗅探也不会自动把系统 DNS 查询交给 FakeDNS。
先确定由谁负责合成地址。v2rayN 的 TUN 接管组件可能已经提供自己的假 IP 功能,此时不应再盲目叠加 Xray FakeDNS。两个组件各自分配地址和维护缓存,可能导致恢复域名时查不到映射。v2rayNG 与 v2flyNG 的入口和支持范围也不同,应按当前内核与客户端能力确认,不能仅因设置名称接近就推断实现一致。
{
"fakedns": [
{
"ipPool": "198.18.0.0/15",
"poolSize": 65535
}
],
"dns": {
"servers": ["fakedns"]
}
}
这是 Xray 风格的功能片段,不是完整 DNS 接管方案。地址池使用专用测试地址范围,但这不意味着当前环境一定没有冲突。若局域网、企业网络或其他虚拟接口已经使用该范围,应先调整方案。地址池大小决定映射容量,不等同于并发连接上限;增大容量也不能解决没有接管查询或映射恢复缺失的问题。
入站恢复与嗅探边界
在由 Xray 直接处理对应流量的方案中,相关入站还需要启用与 FakeDNS 匹配的恢复机制。配置位置应是接收合成地址连接的那个入站,而不是随便选择一个监听入口。下面展示常见的嗅探片段,必须结合实际入站结构使用;若接管组件已在上游恢复域名,则应以该组件的配置方式为准。
{
"sniffing": {
"enabled": true,
"destOverride": ["fakedns"]
}
}
普通 HTTP 或 TLS 嗅探与 FakeDNS 映射不是同一来源。前者尝试从应用协议获得域名,后者依赖此前的查询记录。某些协议、加密握手方式或直接 IP 请求无法提供可用域名;不能把嗅探当作必然恢复一切目标名称的功能。是否只影响路由、是否替换连接目标,也应按当前内核的具体选项理解。
缓存、切换与兼容性处理
启用后先查询一个未缓存的域名,确认应用收到合成地址,再观察连接能否恢复到该域名。停止服务或更换接管组件后,应用可能仍缓存旧的合成 IP,而新服务没有对应映射,表现为部分站点突然无法访问。此时应清理相关 DNS 缓存并重启应用,而不是继续扩大地址池或反复更换远端服务器。
局域网服务发现、对解析结果进行地址检查的程序,以及依赖真实地址的诊断工具,可能不适合使用合成地址。应优先为这类目标保留明确的真实解析例外,并验证例外是否同时覆盖 DNS 与连接路径。浏览器自带加密 DNS 还可能绕过接管解析器,使同一应用中的不同请求走不同链路,排查时需记录该设置状态。
若启用前后没有明确收益,保留普通解析方案更便于维护。回退时按顺序停止接管、恢复 DNS 配置、清理缓存、重新启动应用,再验证直连与代理目标。不要只删掉 FakeDNS 字段而继续让系统使用残留的合成地址;配置恢复与缓存恢复必须一起完成,才能得到可靠的对照结果。
多订阅管理与更新策略
订阅分组解决来源隔离,多订阅管理则解决来源之间的更新节奏、重复条目、当前选择和故障切换。多个来源并存时,目标不是把所有条目汇成一张越来越长的列表,而是让每次更新都能解释:更新了哪个来源,哪些条目发生变化,当前使用的服务器是否仍然存在,失败后应保留哪一份配置。
为来源建立稳定的管理边界
按用途区分日常、备用与实验来源,并把手工配置单独保存。备用来源不等于自动故障切换;订阅只是服务器数据的获取方式,不会天然创建可用性检测或切换逻辑。客户端界面中切换服务器,通常改变之后新建连接的路径,已经建立的连接未必迁移。测试备用来源时,应主动重新建立连接,避免旧会话影响结果。
两个来源出现同名服务器时,不要直接以名称去重。名称只是展示字段,协议、地址、端口、用户标识、TLS 与传输参数才决定连接配置是否相同。即使地址相同,也可能对应不同认证或不同用途。反过来,同一个服务也可能因为命名变化生成看似全新的条目。先比较脱敏后的连接参数,再决定是否隐藏或删除重复项。
把更新安排在可观察的时段
自动更新间隔应兼顾来源要求与使用频率,不必追求频繁刷新。更新依赖当前网络,可能直接请求,也可能通过客户端现有代理;具体行为取决于设置。首次导入时代理尚未建立,若来源地址只能经代理访问,就要先使用可用的基础连接或可信的离线导入方式,避免订阅更新与代理启动互相依赖。
批量更新失败时,先尝试单独更新一个来源,区分是全局网络故障还是某个来源响应异常。记录请求错误、响应是否为可识别内容,以及解析发生在哪一步。请求成功不代表返回了正确订阅;认证失效时,来源可能返回网页或提示文本。此时反复调整本地协议字段无效,应先处理地址、授权或来源服务状态。
| 现象 | 优先确认 | 保留的回退对象 |
|---|---|---|
| 全部来源更新失败 | 本地网络与更新请求路径 | 现有可用服务器 |
| 单个来源解析为空 | 响应格式与导入过滤 | 该组原配置与过滤条件 |
| 更新后当前条目失效 | 条目是否被替换或移除 | 已验证的备用来源 |
更新失败不等于服务立即失效
订阅更新与服务器连接是两条不同请求链路。来源暂时无法访问时,本地已有条目可能仍能连接;反过来,订阅更新成功也不能证明每个服务器可用。不要因一次更新失败就删除整个分组,也不要把更新成功当作连接验证。保留最后一次可用数据,并分别记录订阅请求和服务器连接的结果,才便于定位责任层级。
来源更换地址时,优先修改原分组中的地址,并确认过滤与更新选项仍然适用。若需要新建分组,应在新来源完成导入和连接验证后,再停用旧来源。不要先删除旧组再测试新地址;一旦新格式无法解析,会同时失去参考对象与回退路径。旧组停用后也应清楚标注,防止日后误选或继续发送不必要的请求。
备份、迁移与权限范围
迁移设备时,分开处理订阅地址、手工服务器和本地路由。订阅可以重新拉取服务器列表,但不一定携带本地 DNS、分组过滤、应用排除与自定义出站。导出功能的覆盖范围因客户端而异,恢复后要逐项检查。桌面配置文件夹不能被假定为移动端可直接导入的配置格式,尤其是包含其他内核语法时。
备份中可能包含访问凭据,应存放在有访问控制的位置,避免与公开教程素材混放。提交排错信息只需展示结构和脱敏字段,不要上传整份账户订阅。多订阅维护完成后,至少验证一个日常来源和一个备用来源,并记录切换后的本地端口、路由方案与 DNS 是否保持一致;来源切换不应顺带改变未经确认的全局设置。
自定义出站与配置回退
出站定义连接最终如何离开代理内核,路由通过标签引用它。常见用途包括直连、代理和阻断,也可以连接本机另一个已经运行的代理入口。自定义出站适合解决明确的路径需求,不应作为普通服务器导入的替代品。开始前必须知道每个标签对应什么服务、监听在哪里,以及停止该服务后会发生什么。
标签是配置内的引用关系
tag 是人为指定的标识,不会自动创建协议能力。路由写了 proxy,配置中就必须存在同名出站;名称相近并不等价。原生 Xray 配置中首个出站通常承担未命中规则的默认路径,因此出站顺序也有意义。客户端生成的配置可能另加默认规则,检查时应看实际运行结构,而不是只看编辑框中的局部片段。
下面是一份可用于本地链路测试的完整 Xray 风格配置:本机应用连接一个 SOCKS 入站,普通目标转交给本机另一 SOCKS 服务,私有地址直连。它不包含远端服务器凭据,前提是被引用的上游服务确实已在对应端口运行。不要让上游服务再次指回当前入站,否则会形成循环转发。
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"tag": "local-in",
"listen": "127.0.0.1",
"port": 10810,
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": false
}
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "socks",
"settings": {
"servers": [
{
"address": "127.0.0.1",
"port": 10809
}
]
}
},
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
},
{
"tag": "block",
"protocol": "blackhole",
"settings": {}
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
}
]
}
}
先检查协议与端口,再检查规则
使用前确认 10810 未被占用,且 10809 提供的是 SOCKS 服务。HTTP 代理端口不能仅因也叫“代理端口”就填入 SOCKS 出站。这里的端口是独立测试值,不代表客户端默认值。监听地址限定为本机回环,避免意外向局域网开放未经认证的入口;需要远程访问时,应另行设计认证、防火墙与访问范围。
示例关闭了入站 UDP,仅用于 TCP 链路验证。不能由此推断同样配置可以承载所有 UDP 应用。若要增加 UDP,需要同时检查入站、上游 SOCKS 服务与后续链路的支持。直连出站与阻断出站只是定义,只有路由命中或成为默认路径时才会被使用;添加一个名为 block 的出站,不会自动阻断任何目标。
自定义配置的接入边界
在 v2rayN 中使用自定义配置入口时,选择与文件语法一致的内核,并确认客户端如何识别本地监听端口。某些管理选项不会继续修改这份文件,系统代理设置也可能仍指向旧端口。移动端导入能力与桌面不同,应使用当前客户端支持的配置类型,不要把文件能够保存等同于服务能够按预期启动。
多个代理串联会增加依赖与排错成本。先分别验证上游与下游,再连接两者;检查任何一层是否重新接管了另一层的出口流量。若目标只是给少数域名选择不同路径,优先使用清晰的路由与独立出站,不要为了分类而增加不必要的代理层。协议选择本身可参考常见协议区别,但传输能力仍由实际链路决定。
按相反顺序回退
启动失败先读首条明确错误:JSON 语法、未知字段、端口占用和出站引用缺失应分别处理。启动成功但无法连接时,再检查上游是否监听、协议是否一致及默认出站是否正确。临时提高日志详细程度后,应只复现必要请求,排查结束恢复日常级别,避免持续保存包含访问目标的记录。
回退时先停用新增接管与自定义条目,再恢复原路由和 DNS,最后重新选择已验证服务器并建立新连接。若修改过系统代理端口,也要同步恢复。将本次变更记录为“目的、改动、验证、回退”四项,比保存一份来源不明的大配置更容易维护。首次配置主线仍以快速上手教程为准,具体症状可到疑难解答继续定位。