配置大全

V2Ray 配置文件参考大全

从 JSON 结构总览到 inbounds 入站、outbounds 出站、routing 路由规则、dns 配置、policy 策略逐段拆解,配合真实可用的配置示例,帮助你系统理解 v2rayN 与 v2rayNG 底层配置机制。

JSON 结构 配置详解 真实示例

JSON 结构总览:配置文件是怎么组织的

V2Ray 的核心配置文件采用 JSON 格式,这是一种结构清晰、易于机器解析的文本格式。无论是 v2rayN 还是 v2rayNG,底层都依赖 V2Ray 内核解析这份配置。理解 JSON 结构,是排查问题和自定义行为的基础。配置文件通常命名为 config.json,存放在客户端的配置目录中。

V2Ray 配置文件的顶层字段共有六个:log 日志配置、inbounds 入站配置、outbounds 出站配置、routing 路由配置、dns 域名解析配置、policy 策略配置。其中 inboundsoutbounds 是必填字段,其余均为可选。此外还有一个 api 字段用于远程控制,较不常用。

顶层字段一览

下表汇总了 V2Ray 配置文件的所有顶层字段及其作用。理解这些字段之间的关系,是读懂配置的第一步。

字段名 是否必填 作用
log 控制日志输出级别、日志文件路径
inbounds 定义本地或远程的入站连接入口
outbounds 定义流量出站通道,即代理服务器或直连
routing 定义流量的分流规则,决定流量走哪个出站
dns 定义域名解析服务器和解析策略
policy 定义连接超时、连接数限制等行为策略

配置文件加载机制

内核启动时读取 config.json,按顺序解析各字段。如果某个字段缺失,内核会使用默认值。例如,缺少 dns 字段时,内核会使用系统默认的 DNS 解析方式;缺少 routing 字段时,所有流量都走第一个出站。在 v2rayN 中,每次切换节点或修改设置,程序都会在后台重新生成一份新的 config.json 并重启内核。

因此,用户手动编辑配置文件后,如果界面设置被修改,手动修改的内容会被覆盖。v2rayN 提供了「打开配置目录」功能,允许用户直接编辑配置文件,但编辑前需要先停止内核。在 v2rayN 的「设置」→「参数设置」中可以找到「配置目录」相关入口。

JSON 语法注意事项

JSON 标准本身不支持注释,但 V2Ray 内核在解析时会忽略 ///* */ 注释。这使得配置文件可以包含注释以便于阅读。然而,在 v2rayN 自动生成的配置中,注释会被移除。如果手动编辑配置,建议保留注释但不要依赖注释作为功能逻辑的一部分。

一个常见的错误是漏掉逗号或引号不匹配。JSON 严格要求对象和数组内部使用逗号分隔元素,最后一个元素后不能有逗号。在手动编辑配置时,建议使用支持 JSON 语法高亮的编辑器(如 VS Code),这样可以快速发现语法问题。

除了语法,字段的取值类型也容易出错。例如 port 必须是数字而不是字符串,udp 必须是布尔值而不是字符串。如果类型写错,内核虽然能解析 JSON,但会在运行时报错。因此,手动编辑配置时,除了检查语法,还要核对每个字段的类型是否符合内核要求。

另外,V2Ray 内核在解析配置时对未知字段是宽容的,会忽略不认识的字段。这意味着即使配置里多写了某个字段,内核也不会报错,但该字段不会生效。如果你发现某个设置没有起作用,可以先检查字段名是否拼写正确,再确认该字段是否被当前内核版本支持。

inbounds 入站配置:流量入口怎么开

入站(inbounds)是 V2Ray 内核对外提供服务的入口。v2rayN 默认创建两个入站:一个 SOCKS 入站和一个 HTTP 入站,分别用于支持不同类型的客户端连接。在「参数设置」中,用户可以修改这两个入站的监听端口。入站配置的核心字段包括:port 监听端口、listen 监听地址、protocol 入站协议、settings 协议设置。

常见的入站协议有 sockshttpvmesstrojan 等。对于本地代理场景,sockshttp 是最常用的。v2rayN 默认使用 SOCKS 入站作为主入口,HTTP 入站作为兼容入口,两者同时监听本地回环地址。

{
  "inbounds": [
    {
      "port": 10808,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "udp": true,
        "auth": "noauth"
      }
    },
    {
      "port": 10809,
      "listen": "127.0.0.1",
      "protocol": "http",
      "settings": {
        "timeout": 300
      }
    }
  ]
}

SOCKS 入站详解

SOCKS 入站的 settings 中,udp 字段控制是否支持 UDP 转发。开启 UDP 后,内核会通过 SOCKS 协议转发 UDP 流量,这对于某些基于 UDP 的应用(如游戏、视频通话)是必要的。auth 字段控制认证方式,noauth 表示无需认证,适合本地代理;如果需要防止局域网内其他设备未经授权使用代理,可以设置为 password 并配置用户名和密码。

HTTP 入站详解

HTTP 入站的 settings 中可以配置 timeout 字段,表示连接超时时间(秒)。HTTP 入站通常用于兼容不支持 SOCKS 协议的应用程序。在 v2rayN 中,两个入站默认都监听 127.0.0.1,即仅允许本机连接。

多入站配置与局域网共享

在配置文件中,inbounds 是一个数组,支持同时配置多个入站。每个入站拥有独立的端口和协议。v2rayN 的「参数设置」中提供了「允许来自局域网的连接」选项,开启后,入站的 listen 地址会从 127.0.0.1 改为 0.0.0.0,允许局域网内的其他设备连接。这一功能在需要给手机、电视等设备共享代理时非常有用。

端口冲突排查

如果配置的端口已被其他程序占用,内核启动会失败。v2rayN 会提示「端口被占用」错误。此时需要修改入站端口,或关闭占用端口的程序。在 Windows 上,可以使用 netstat -ano | findstr 10808 命令查看端口占用情况,然后通过任务管理器结束对应进程。修改端口时,需要同时更新系统中其他软件(如浏览器插件)的代理设置。

除了端口被占用,还有一种情况是端口被系统保留。Windows 的「排除端口范围」功能会保留一段端口,如果配置的端口落在保留范围内,内核同样无法监听。此时可以换一个端口,或在管理员命令行中执行 netsh int ipv4 show excludedportrange protocol=tcp 查看被保留的端口范围。

在 v2rayN 中修改入站端口后,建议同时检查系统代理设置是否同步更新。如果系统代理仍指向旧端口,浏览器将无法正常上网。v2rayN 在切换节点或修改设置时通常会同步更新系统代理,但手动修改配置文件后需要自行确认。

outbounds 出站配置:流量出口怎么走

出站(outbounds)是 V2Ray 内核向外发起连接的通道。v2rayN 在切换节点时,会根据所选节点协议生成对应的出站配置。出站协议决定了与远程服务器通信的方式。常见的出站协议包括:vmessvlesstrojanshadowsocksfreedom(直连)、blackhole(丢弃)。其中 vmessvless 是 V2Ray 生态特有的协议,trojanshadowsocks 是通用代理协议。

出站配置包含:protocol 协议类型、settings 协议设置、streamSettings 传输设置、mux 多路复用。其中 streamSettings 定义了传输方式(tcp、ws、grpc 等)和安全设置(tls、reality)。当使用 WebSocket 时,需要指定 pathheaders;当使用 TLS 时,需要指定 serverNameallowInsecure

vmess 出站配置

{
  "outbounds": [
    {
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "example.com",
            "port": 443,
            "users": [
              {
                "id": "your-uuid-here",
                "alterId": 0,
                "security": "auto"
              }
            ]
          }
        ]
      }
    }
  ]
}

vmess 出站的 settings 中包含 vnext 数组,每个 vnext 对象代表一个服务器。address 是服务器地址,port 是服务器端口,users 是用户列表。每个用户有 id(UUID)、alterId(附加 ID)、security(加密方式)。alterId 在新版本内核中建议设为 0,以提高安全性。

vless 出站配置

vless 出站与 vmess 类似,但 vless 协议本身不提供加密,需要依赖 TLS 或 REALITY 传输安全。vless 出站的 settings 中,users 数组的每个用户包含 idencryption(加密方式,vless 中固定为 none)、flow(流控,如 xtls-rprx-vision)。流控字段是 vless 协议特有的高级功能,可以优化 TCP 传输性能。

streamSettings 传输设置

streamSettings 是出站配置中最重要的部分之一。传输方式(network)决定了数据如何封装。常见的传输方式有 tcpws(WebSocket)、grpchttp/2 等。当使用 ws 时,需要指定 pathheaders;当使用 grpc 时,需要指定 serviceName。安全设置(security)可以是 nonetlsreality。使用 TLS 时,serverName 必须与服务器的证书域名匹配。

mux 多路复用

mux 字段控制是否开启多路复用。开启后,一个 TCP 连接可以承载多个并发请求,减少连接建立的开销,对弱网环境下的连接稳定性有一定帮助。muxenabled 字段默认关闭,在 v2rayN 中可以通过「参数设置」→「多路复用」开启。多路复用适合大量短连接的场景,但并非所有服务器都支持,开启前建议先测试。

多路复用的核心参数是 concurrency,表示单个连接上最多同时承载的请求数。默认值为 8,可以根据需要调整。如果某个服务器对并发连接数有限制,过大的 concurrency 反而可能导致连接被服务端拒绝。因此,开启多路复用后,建议先观察一段时间,确认连接稳定后再调整参数。

需要注意的是,多路复用与某些协议(如 REALITY)的兼容性需要测试。部分服务器在开启多路复用后会出现连接异常,此时可以尝试关闭多路复用,或降低 concurrency 的值。

routing 路由规则:流量怎么分流

路由规则(routing)是 V2Ray 的核心功能之一,它决定流量如何分流。routing 字段包含 rules 规则列表和 strategy 策略。每条规则定义了匹配条件和对应的出站。规则匹配条件包括:domain 域名匹配、ip IP 地址匹配、port 端口匹配、network 网络类型匹配、inboundTag 入站标签匹配。

规则匹配的顺序是从上到下逐条进行,第一条匹配成功的规则生效。如果所有规则都不匹配,流量走第一个出站(通常是代理)。因此,在配置路由规则时,需要注意规则的排列顺序。v2rayN 默认生成的路由规则将「绕过局域网」和「绕过中国大陆」放在前面,确保这些流量先被直连。

常见规则示例

{
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": [
          "10.0.0.0/8",
          "192.168.0.0/16",
          "172.16.0.0/12"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:geolocation-!cn"
        ],
        "outboundTag": "proxy"
      }
    ]
  }
}

上面的示例中,第一条规则匹配私有 IP 地址段,走直连;第二条规则匹配中国大陆域名,走直连;第三条规则匹配非中国大陆域名,走代理。这里使用了 geosite:cngeosite:geolocation-!cn 这样的预定义域名集,它们由 V2Ray 内核内置,无需手动维护。

域名匹配方式

在 v2rayN 中,路由规则可以在「设置」→「路由设置」中配置。v2rayN 提供了「域名策略」选项,可以控制域名匹配方式:as-is 表示直接使用域名进行匹配;ip-if-non-match 表示如果域名不匹配任何规则,则解析域名并按 IP 匹配;ip-on-demand 表示按需解析域名以匹配 IP 规则。其中 ip-on-demand 适用于需要按 IP 规则分流的场景,但会增加 DNS 解析次数。

分流策略

路由规则的分流策略通常包括三种:直连(direct)、代理(proxy)和拒绝(block)。直连表示流量不经过代理服务器,直接连接目标地址;代理表示流量经过代理服务器转发;拒绝表示直接丢弃流量,常用于屏蔽广告和恶意网站。在 v2rayN 中,directblock 是内置的出站标签,不需要额外配置。

路由规则与入站标签

当配置了多个入站时,可以通过 inboundTag 字段将特定入站的流量分流到不同出站。例如,可以让来自局域网共享入站的流量走直连,而来自本地 SOCKS 入站的流量走代理。这种配置在需要精细化控制不同来源流量时非常有用。

使用 inboundTag 前,需要先给入站配置 tag 字段。例如,在 inbounds 中给 SOCKS 入站设置 "tag": "socks-in",然后在路由规则中写 "inboundTag": ["socks-in"]。这样,只有来自该入站的流量才会匹配这条规则。

在 v2rayN 中,入站标签通常由程序自动生成,用户一般不需要手动配置。但如果你需要精细控制不同来源的流量走向,了解这一机制会很有帮助。

dns 配置:域名解析怎么处理

DNS 配置(dns)决定 V2Ray 如何解析域名。dns 字段包含 servers 列表。每个服务器可以指定 address(地址)、port(端口)、domains(域名列表)。V2Ray 支持多种 DNS 协议,包括 UDP、TCP、DoH(DNS over HTTPS)和 DoT(DNS over TLS)。

在 v2rayN 中,DNS 设置位于「参数设置」→「DNS」中。v2rayN 默认会生成一组 DNS 服务器配置,通常包含一个公共 DNS(如 1.1.1.1)和一个本地 DNS(如 223.5.5.5)。V2Ray 会按列表顺序依次尝试 DNS 服务器,如果第一个服务器无响应,则使用下一个。

{
  "dns": {
    "servers": [
      {
        "address": "1.1.1.1",
        "port": 53,
        "domains": [
          "geosite:geolocation-!cn"
        ]
      },
      {
        "address": "223.5.5.5",
        "port": 53,
        "domains": [
          "geosite:cn"
        ]
      },
      {
        "address": "localhost",
        "port": 53
      }
    ]
  }
}

上面的示例中,1.1.1.1 负责解析非中国大陆域名,223.5.5.5 负责解析中国大陆域名,最后一个 localhost 作为兜底。这种分流策略可以加快国内访问速度,同时确保国外域名解析不被污染。

FakeDNS 原理与配置

FakeDNS 是 V2Ray 的一种特殊 DNS 模式。开启后,当收到 DNS 查询时,V2Ray 会立即返回一个保留网段的虚假 IP(如 198.18.0.0/15),而不会等待真实 DNS 解析。当流量经过路由规则时,V2Ray 会根据目标域名重新匹配路由,并在出站时还原真实域名。FakeDNS 可以显著减少 DNS 解析延迟,特别适合与 TUN 模式配合使用。

在 v2rayN 中,FakeDNS 模式需要在「参数设置」→「DNS」中开启。开启后,v2rayN 会在生成的配置中自动添加 fake-dns 服务器。需要注意的是,FakeDNS 与某些路由规则组合可能会产生冲突,例如按 IP 匹配的规则可能无法正确匹配虚假 IP。因此,使用 FakeDNS 时建议优先使用域名规则,避免使用 IP 规则。

DNS 与路由规则的配合

DNS 配置与路由规则是紧密配合的。在路由规则中,如果使用 geosite:cn 这样的域名集,V2Ray 需要先解析域名才能进行匹配。此时,DNS 配置的 domains 字段可以帮助 V2Ray 决定哪些域名使用哪个 DNS 服务器。合理的 DNS 分流策略可以减少 DNS 污染的影响,提升访问速度。

当使用 FakeDNS 时,DNS 解析被推迟到出站阶段,路由规则中的域名匹配仍然有效,但 IP 匹配可能失效。因此,如果你同时使用 FakeDNS 和路由规则,建议把域名规则放在最前面,并尽量避免依赖 IP 规则。这样既能享受 FakeDNS 的低延迟,又能保证分流准确。

另外,DNS 配置中的 queryStrategy 字段可以控制查询的 IP 类型(IPv4、IPv6 或两者)。在 IPv6 环境不稳定的情况下,可以将其设置为 UseIPv4,避免因 IPv6 解析失败导致的连接问题。

policy 策略:连接行为怎么控制

policy 策略字段用于控制连接行为。它包含 levels 等级设置和 system 系统设置。system 中配置全局的连接限制,包括 connectionTimeout 连接超时、handshakeTimeout 握手超时、maxConnections 最大连接数等。

在 v2rayN 中,可以通过「设置」→「参数设置」→「策略」来调整这些值。默认情况下,V2Ray 使用系统默认值。对于大多数场景,默认值已经足够。但在高并发或特殊网络环境下,可能需要调整超时时间。

system 系统设置详解

{
  "policy": {
    "system": {
      "connectionTimeout": 300,
      "handshakeTimeout": 60,
      "maxConnections": 0,
      "minPort": 0,
      "maxPort": 0
    },
    "levels": {
      "0": {
        "connIdle": 300,
        "uplinkOnly": 0,
        "downlinkOnly": 0,
        "statsUserUplink": false,
        "statsUserDownlink": false
      }
    }
  }
}

连接超时(connectionTimeout)控制建立 TCP 连接的最长等待时间。如果连接超时,内核会返回错误并关闭连接。握手超时(handshakeTimeout)控制 TLS 握手的最长等待时间。在弱网环境下,适当增加超时时间可以提升连接稳定性。maxConnections 为 0 表示不限制连接数。

levels 等级设置

levels 等级设置允许按用户等级配置不同的策略。每个用户可以有 level 字段,策略中可以按 level 配置连接限制和速度限制。connIdle 表示空闲连接的超时时间(秒),超过该时间没有数据交互的连接会被关闭。uplinkOnlydownlinkOnly 表示连接允许的上行/下行持续时间,0 表示不限制。

在 v2rayN 中,用户等级通常不直接暴露,但了解这一机制有助于理解高级配置。例如,如果某个节点经常出现连接被服务端断开的情况,可能是服务端配置了 connIdle 策略,而客户端没有及时发送心跳包。

策略与连接的稳定性

合理的 policy 配置可以提升连接的稳定性。如果网络环境较差,可以适当增加 connectionTimeout 的值。如果经常出现连接被服务端提前关闭的情况,可以调大 connIdle 的值。但需要注意的是,过大的超时值会占用更多的系统资源,因此需要根据实际网络环境权衡。

在 v2rayN 中,policy 策略通常不需要用户手动调整,默认值已经能覆盖大多数场景。但如果你在弱网环境下使用,或者连接经常被服务端断开,可以尝试在「参数设置」→「策略」中适当调大超时时间。调整后建议重启内核,让新策略生效。

另外,levels 中的 statsUserUplinkstatsUserDownlink 字段控制是否统计用户的上行/下行流量。开启后,内核会记录每个用户的流量数据,配合 api 字段可以查询。但统计功能会带来一定的性能开销,如果不需要流量统计,建议保持关闭。

综合配置示例:一份真实可用的完整配置

下面给出一个完整的配置示例,包含一个 SOCKS 入站、一个 HTTP 入站、一个 vmess 出站、一个 freedom 直连出站,以及路由规则和 DNS 配置。这份配置可以直接用于 V2Ray 内核,也可以作为 v2rayN 生成配置的参考。

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 10808,
      "listen": "127.0.0.1",
      "protocol": "socks",
      "settings": {
        "udp": true,
        "auth": "noauth"
      },
      "tag": "socks-in"
    },
    {
      "port": 10809,
      "listen": "127.0.0.1",
      "protocol": "http",
      "settings": {
        "timeout": 300
      },
      "tag": "http-in"
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "example.com",
            "port": 443,
            "users": [
              {
                "id": "your-uuid-here",
                "alterId": 0,
                "security": "auto"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "serverName": "example.com"
        }
      }
    },
    {
      "tag": "direct",
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag": "block",
      "protocol": "blackhole",
      "settings": {}
    }
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "ip": [
          "10.0.0.0/8",
          "192.168.0.0/16",
          "172.16.0.0/12"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:cn"
        ],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": [
          "geosite:geolocation-!cn"
        ],
        "outboundTag": "proxy"
      }
    ]
  },
  "dns": {
    "servers": [
      {
        "address": "1.1.1.1",
        "port": 53,
        "domains": [
          "geosite:geolocation-!cn"
        ]
      },
      {
        "address": "223.5.5.5",
        "port": 53,
        "domains": [
          "geosite:cn"
        ]
      },
      {
        "address": "localhost",
        "port": 53
      }
    ]
  }
}

配置要点逐段讲解

这份配置的第一部分定义了日志级别为 warning,即只输出警告和错误信息,避免频繁的日志刷屏。两个入站分别监听 10808 和 10809 端口,均绑定在本地回环地址上,确保只有本机可以访问。

出站部分包含三个标签:proxy 使用 vmess 协议连接远程服务器,配置中使用了 TLS 加密作为传输安全;direct 使用 freedom 协议实现直连;block 使用 blackhole 协议实现流量丢弃。路由规则将私有 IP 段和中国大陆域名指向直连,将非中国大陆域名指向代理。

DNS 配置中,1.1.1.1 负责解析非中国大陆域名,223.5.5.5 负责解析中国大陆域名,localhost 作为兜底。这样的配置可以有效减少 DNS 污染的影响,同时保证国内访问速度。

图形客户端与配置文件:v2rayN / v2rayNG 怎么管理配置

v2rayN 和 v2rayNG 都使用 V2Ray 内核,但管理配置文件的方式不同。v2rayN 在 Windows 上运行,配置文件存储在用户目录中,每次切换节点都会重新生成 config.json。v2rayNG 在 Android 上运行,配置存储在应用私有目录,支持多配置文件管理。

v2rayN 的配置管理

v2rayN 的界面操作会生成配置文件的各个字段。用户在「服务器」面板中添加节点,v2rayN 会在切换节点时生成对应的 outbounds 配置。用户可以在「设置」→「路由设置」中调整路由规则,v2rayN 会把这些设置写入 routing 字段。在「参数设置」中,用户可以修改入站端口、开启 FakeDNS、调整多路复用等,这些操作都会反映到生成的配置文件中。

v2rayN 提供了「打开配置目录」功能,允许用户直接编辑配置文件。但需要注意的是,如果用户手动修改了配置文件,然后又在界面上执行了任何操作,v2rayN 会重新生成配置文件并覆盖手动修改的内容。因此,手动编辑配置前,建议先停止内核,编辑完成后再重新启动。

v2rayNG 的配置管理

v2rayNG 的配置存储在 Android 应用私有目录中,用户可以通过「配置」→「导入配置」从文件或订阅导入。v2rayNG 支持多配置文件,每个配置文件可以包含不同的节点和设置。切换配置文件时,v2rayNG 会重新加载对应的 config.json

在 v2rayNG 中,用户可以通过「设置」→「DNS」和「设置」→「路由」来调整 DNS 和路由配置。v2rayNG 同样支持 FakeDNS 模式,开启后会在生成的配置中添加 fake-dns 服务器。对于高级用户,v2rayNG 提供了「编辑配置文件」功能,允许直接修改 JSON 配置。

订阅与配置文件

两个客户端都支持订阅,订阅链接会自动更新节点列表。订阅链接本质上是一个远程 JSON 列表,v2rayN 和 v2rayNG 会定期拉取并解析。订阅更新后,客户端会重新生成配置。需要注意的是,订阅链接本身不包含路由规则和 DNS 配置,这些设置仍然需要用户在客户端中手动配置。

对于 v2flyNG 用户,其配置管理与 v2rayNG 基本一致,只是底层使用 v2fly 内核而非 Xray 内核。三款客户端在配置文件的字段结构上保持一致,因此同一份 config.json 理论上可以互换使用,但需要注意内核版本差异可能导致的字段兼容性问题。

订阅链接通常包含加密信息,请勿随意分享给他人。如果订阅链接泄露,节点可能被他人使用,导致流量被消耗。建议定期更换订阅链接,并在客户端中开启「订阅更新提醒」,及时掌握节点变化。同时,订阅更新会覆盖节点列表,如果你手动添加过节点,建议先备份。

常见配置错误与排查方法

配置错误是 V2Ray 使用中最常见的问题之一。了解常见的错误类型和排查方法,可以大幅减少排障时间。以下列出几类高频错误及其对应的解决方法。

端口被占用

当配置的入站端口已被其他程序占用时,内核启动失败。v2rayN 会提示「端口被占用」错误。解决方法:修改入站端口,或关闭占用端口的程序。在 Windows 上,可以使用 netstat -ano | findstr 10808 命令查看端口占用情况,然后通过任务管理器结束对应进程。

如果修改了端口,还需要同步更新系统代理设置。在 Windows 中,系统代理设置位于「设置」→「网络和 Internet」→「代理」。在 macOS 中,系统代理设置位于「系统偏好设置」→「网络」→「高级」→「代理」。确保 SOCKS 端口和 HTTP 端口与配置一致。

JSON 语法错误

如果配置文件中有语法错误,内核会启动失败。常见的语法错误包括:缺少逗号、引号不匹配、括号不对称。在 v2rayN 中,可以通过「配置」→「打开配置目录」找到 config.json,使用文本编辑器检查语法。推荐使用支持 JSON 语法高亮的编辑器,这样可以快速定位错误位置。

排查 JSON 语法错误的技巧

如果配置文件很长,可以先将配置内容粘贴到在线 JSON 校验工具中检查。但需要注意,不要在配置中保留真实服务器信息后再上传到第三方工具。

证书配置错误

使用 TLS 或 REALITY 时,证书配置错误会导致连接失败。常见的错误包括:serverName 与证书不匹配、证书过期、allowInsecure 设置不当。在 v2rayN 中,可以通过「节点配置」→「传输安全」检查证书设置。如果使用自签名证书,需要将 allowInsecure 设置为 true,但这会降低安全性。

路由规则误配

路由规则配置不当会导致流量走错通道。例如,将中国大陆域名错误地匹配到代理,会导致访问缓慢。排查方法:查看日志中的流量走向,检查路由规则的排列顺序。在 v2rayN 中,可以通过「设置」→「路由设置」查看当前生效的路由规则。如果发现规则顺序不合理,可以调整规则的排列。

另一个常见问题是 FakeDNS 与 IP 规则的冲突。开启 FakeDNS 后,V2Ray 返回的是虚假 IP,此时如果路由规则中包含按 IP 匹配的规则,可能无法正确匹配。解决方法是优先使用域名规则,或将 FakeDNS 关闭。

内核启动失败的其他原因

除了上述原因,内核启动失败还可能是因为配置文件路径错误、权限不足、系统缺少必要的运行库等。在 v2rayN 中,可以通过「设置」→「内核设置」检查内核路径是否正确。如果使用便携版,需要确保内核文件与配置文件的路径关系正确。

如果日志显示找不到内核文件,说明 v2rayN 的配置目录中缺少 xray.exev2ray.exe。此时需要重新下载客户端并确保内核文件完整。另外,杀毒软件可能误删内核文件,如果内核反复「消失」,请把 v2rayN 目录加入杀毒软件白名单。

还有一种情况:内核文件存在,但版本与客户端不匹配。例如 v2rayN 更新后,旧内核可能不兼容新配置格式。此时在「内核设置」中点击「更新内核」或重新下载对应版本的内核即可。

快速上手:从安装到连接

如果你刚开始使用 V2Ray,建议先阅读使用指南,了解从安装到连接的基本流程。配置大全页专注于配置文件细节,适合在遇到问题时查阅。